BSc Software Engineering
Do you enjoy programming, or are you convinced you would? Would you like to know more about being an entrepreneur, and setting up a business underpinned by a great software system? Do you want to know how to talk to customers and clients, understand their needs, and be able to specify, design, build and test the software they need? How to work by yourself and also in teams? If you want to do all these things, and also learn about the principles of coding, underpinning mathematics, operating systems and networks, technology, innovation and professional skills, Leicester's Software Engineering programme is for you!
Programming is fun! You no doubt have a phone, laptop, tablet and so on; your car may have a navigation system, park itself, and have surround-space scanners; and you may be able to control your heating from a mobile. All of these cool devices work using program code. At the heart of coding such systems are state-of-the-art technologies including Android, C++, Java, JavaScript, Python, PHP, Prolog and R, and programme development environments such as Eclipse. At Leicester you will be taught to program in a selection of these languages, and have opportunities to learn others in project work. Programming will include mobile and web applications and technologies.
Software Engineering covers the methods for developing software, following rigorous engineering practices and meeting required levels of quality. You will learn how to plan and manage software architectures for practical large-scale development projects, while adopting an academic and rigorous approach which will support you throughout your career. We cover: how to understand customer requirements; specify, design and code a computer solution; and test and release your solution to your customer. You will learn software modelling techniques such as UML, business concepts such as project management, and techniques for developing innovations in technology.
Modules in computer architecture, operating systems and networking cover essential knowledge of modern computing systems (mobile computers to world-distributed computation). And, of course, we cover databases and information systems. In optional modules you can learn about a range of advanced topics including user interfaces, web technologies, mobile applications, security, along with distributed systems and applications.
Project work is highly desired by employers. In your second year group project you will learn the demands of working in a professional environment as you endeavour to deliver software that is often commissioned by a real client. In your final year, you undertake an individual problem-based project, exercising your creativity and innovation to design and implement a software solution to the problem. Previous projects have included 3-D games, mobile phone/tablet apps, security software, internet telephony, a diabetes app, programming robots, a sheet music editor, processor emulators and more.
Intrigued by computational phenomena, like why and how programming languages actually work? Want to know more about the processes and techniques through which new software systems can be built? The BSc in Computer Science is the course for you. Or, if you want to start your career at a higher level, or study for a PhD, try the MComp which is the BSc with an extra year on the end.