Do you enjoy programming, or are you convinced you would? 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? And do you want to know more about the scientific and theoretical foundations of the subject? If you want to do all these things, and also learn about the principles of coding, underpinning mathematics, mathematical models of computation, operating systems and networks, and professional skills, Leicester’s Computer Science programme is for you!
The course covers the methods for developing software, following rigorous engineering practices. 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 solution; and test and release your solution to your customer. You will learn about mathematical models of computation such as automata and register machines, and formal language theory.
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, distributed systems and applications, and concurrency theory.
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; you can also apply the scientific principles you learnt. Previous projects have included 3-D games, mobile phone/tablet apps, security software, internet telephony, programming robots, a sheet music editor, theorem provers, processor emulators, and more.
What's the difference?
Interested in a career in IT but not necessarily in the theoretical and scientific aspects? Try the BSc in Software Engineering. You will become familiar with common programming languages, and understand how computer systems help in analysing, managing, processing and communicating information, including large organisations.
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 (this course) 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.
Download a prospectus (PDF, 6MB)