MComp Computer Science with Year in Industry
Our four-year Computer Science MComp degree will raise your expertise to a point where you could start a career at a senior level or study for a PhD in computer science. The first three years are the same as those of the Computer Science BSc. In the final year you will take modules in areas such as advanced software engineering, advanced algorithms, financial computing and distributed systems.
Do you enjoy programming? Do you want to know how to talk to customers and clients, 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 MComp 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++, Haskell, 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 not only include mobile and web applications and technologies, but also new styles of programming such as functional and logic-based languages.
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 at level 3 and 4 you can learn about a range of advanced topics including user interfaces, advanced mobile and web technologies, security, distributed systems and applications, concurrency theory, system re-engineering, cloud computing, game theory and more.
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 both your third and 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.