Reasons to study Computer Science at De Montfort University (DMU):
- DMU has achieved Gold, the highest ranking possible under the Teaching Excellence Framework (TEF)
Indicating the outstanding learning and teaching on offer at DMU. [Office for Students, 2017]
- 100% of our Computer Science graduates from summer 2017 are in work or further study after graduating
According to the Destinations of Leavers from Higher Education (DLHE) 2016-17 report. Our graduates now work for companies such as ITN, Hewlett Packard (HP), IBM, Microsoft, BT, RBS, HSBC, Leicestershire County Cricket Club and Experian
- Accredited by BCS, The Chartered Institute for IT
For IT for the purposes of fully meeting the academic requirement for registration as a Chartered IT Professional.
- Over 50 years of computing experience
This long-standing history allows us to draw on research and academic expertise allowing us to inform our teaching. Computer Science and Informatics research at DMU was ranked third among modern UK universities for its research power in the Research Excellence Framework 2014.
- Work placement opportunities
Enhance your employability and gain industry experience by undertaking an optional work placement. Past placements include experience at Syngenta, Jagex Ltd, PepsiCo UK and Ireland, Honda Racing and Avis Europe plc.
- Develop your practical skills in our specialist facilities
As well as having access to 100 computer workstations in the dedicated Computer Science laboratories, students also have access to a further 100 workstations, which are divided into five interconnected laboratories each with 20 high-specification PCs running Windows/Linux.
- Enjoy an international experience with #DMUglobal
We offer all students the opportunity to take part in a #DMUglobal experience, which can enrich your studies and expand your cultural horizons. Previous #DMUglobal trips have included New York, Berlin, Hong Kong, China, Canada, Japan, South Africa, Russia and Italy to name a few.
Computer Science BSc (Hons) combines core theoretical computing principles with relevant practical experience, teaching the concepts and techniques you need to pursue a career in this rapidly developing field.
You’ll gain a solid foundation in the major themes of technical computing, including software development, database design and web technologies, theoretical and practical foundations, computer security and an awareness of professional practice and social responsibility.
The first year is designed to suit students encountering the subject for the first time, but will also challenge those with a good knowledge of computer science. The course shares a common first year with Software Engineering BSc (Hons) and you can transfer between courses after the first year of study.
Structure and assessment
- Computer Programming I – This module introduces the skills required to develop a computer program to solve a given problem and does so from the perspective of designing trustworthy software with an emphasis on sound coding principles.
- Computer Programming II – Computer programming requires the analysis of a problem, the production of requirements, and their translation into a design that can be executed on a computer. The design phase in particular requires the identification and combination of appropriate programming abstractions. This module introduces the skills required to analyse a problem to produce a program specification, and to be able to test solutions to ensure they are trustworthy.
- Computer Ethics – The module introduces students to the ethical theories affecting cyber security, software engineering, computer science and digital forensics. It requires them to develop critical analytical skills in applying ethical theories to technological outcomes regarding cyber security, software engineering, computer science and digital forensics.
- Computer Law and Cyber Security – The module introduces students to the legal and professional context of cyber security, software engineering, computer science and digital forensics, it addresses legal framework, legal and professional responsibilities of the software engineer, systems manager, computer forensic and security practitioner. The module will address computer ethics, data protection law, UK and international law affecting cyber security, digital engineering, systems management and digital forensics
- Computer Systems – This module provides a foundation in computer architecture and operating systems with a specific emphasis on their security. Students will learn about computer hardware, software, operating systems, and demonstrate practical knowledge of these during lab sessions. Studying this module student will be able to relate the abstract concepts of logic and number systems to their concrete representation on real machines and dentify the security risks in common configurations of computer operating systems and suggest appropriate mitigations. In the practical lab sessions students will also learn to develop shell scripts.
- Computer Networks – This module provides a foundation in modern computer networks with a specific emphasis on their security. Students studying this module will be able to explain how modern computer networks functions and be able to demonstrate a practical knowledge of computer networking. Students will be able to identify security risks in common configurations of computer networks and suggest appropriate mitigations.
- Mathematics for Computing – Mathematical structures are introduced that provide a basis for computer science. Specific topics include logic, set theory, probability and statistics.
- Database Design and Implementation – Structured data, held in relational databases, accessed via SQL, supports the information storage requirements of many companies, organisations, and on-line businesses. In this module the student will learn the fundamentals of how to design the structure of data within a relational database, how to interact with data within the database, and how to protect the data within the database.
Second year modules:
- Software and Security Management – This module introduces the business contexts within which IT projects are procured and developed. This includes the feasibility of computer system development viewed from economic, technical, social, legal, and ethical perspectives. The module covers risk factors and risk assessment during different phases of the lifecycle, and introduces students to the techniques used both to measure and to ensure software quality including processes covering the management and design of trustworthy software (BS PAS744 Software Trustworthiness).
- Object Oriented Design – This module focuses on Object-Oriented (OO) library development and enables students to design, implement, and test medium scale software systems using an object-oriented approach. The design notation used is the Unified Modelling Language (UML) and the implementation language is Java. It is essentially a programming module, with the emphasis on implementing OO designs and producing reusable libraries.
- Object Oriented Development – This module focuses on Object-Oriented (OO) application development using the extensive library packages provided by the Java Software Development Kit (SDK). Students enrolling on this module will have already been introduced to key principles of OO class design such as encapsulation and different associations including inheritance. This knowledge will be useful in helping to navigate and make use of a variety of domains within the standard edition API, e.g. Collections, Input/Output, and Graphical User Interfaces.
- Web Application Development – This module provides a firm technical foundation of how a web application can be developed that allows web users to interact with assets stored in databases.
Modern web applications typically make heavy use of server-side scripting . A server-side scripting language that has achieved prominence over recent years has been PHP. This pragmatic language is used to great effect by some web developers and with catastrophic naivety by others. Rudimentary web application penetration testing will introduced in order to emphasise the hostile attention that public facing web content will attract. It is assumed that students are already competent programmers, prior to starting this module.
- Agile Team Development – This module is an opportunity for students to engage in a constrained work-place simulation based on agile software development. Students working in teams of 3 to 5 will initially identify a system of sufficient size to be distributed equally among all members. Work allocation will be monitored under the guidance of their tutor/supervisor. For example each team member might take individual ownership of the development of 2-3 classes from initial inception to completion providing CRUD functionality. In the case of a large system this may mean that some aspects of the system are never built to completion.
- Data Structures and Algorithms – This module introduces a variety of data structures and algorithms for sequential execution. Classical data structures will be introduced (including stacks, queues, lists, trees, and hash tables) and algorithms for searching and sorting. The performance characteristics of these data structures and algorithms will be explained. Specific coding issues will also be considered such as modularity, genericity, equality, assignment, mutable and immutable objects.
- Concurrent and Parallel Algorithms – The module will introduce students to concurrent program design in the context of multi-core architectures and distributed applications. Where appropriate formal notation will be used for specification.
- Introduction to Research – The module provides the student with an understanding of the importance of researching, analysing, and interpreting existing literature and other documents in order to establish a solid context in which research and development questions can be developed and subsequently investigated. It develops the student’s research skills, and particularly skills related to identifying relevant literature from a variety of sources, critically analysing academic and non-academic texts, and justifying a set of research or development questions in a particular topic area. The module explores these research methods through the lens of ethics in technology, introducing students to key ethical issues in relation to information systems, such as privacy, autonomy, security, identity, and social impact.
Third year modules:
- Computing Project – The project provides students with the opportunity to carry out a significant piece of work involving critical analysis and reflection to provide an effective solution to a given technical and/or research-based problem. It enables students to apply and integrate previous material covered on the student’s course as well as to extend the work covered on the course through research and self-learning. Students will be expected to demonstrate appropriate and proactive project management, and written/verbal presentation skills throughout the period of the project. As well as analysing, designing, delivering and appraising a product of suitable quality, they will be expected to undertake, research, analyse, design, evaluate and report on some aspects of a subject explicitly allied to the project.
- Systems Building: Methods – This module covers an important aspect of Information Systems Development (ISD): the selection and evaluation of methodologies used in the Systems Development process.
- Rigorous Systems – This module introduces the role of formal systems in rigorous software development and develops base-level skills using a contemporary formal method. The module covers the essential theoretical material (rationale, syntax, semantics) and provides practical experience using an appropriate software development tool.
The module is based on the formal specification language ITL.
- Fuzzy Logic and Knowledge Based Systems
- Secure Web Application Development – This module assumes a sound understanding of PHP. This will have been gained through previous study or significant commercial experience of web development.
Many modern computer services are now accessed via the ubiquitous web-browser, and users have come to expect instant and secure access to information on a wide range of platforms. Underpinning these web systems is usually a web application, providing a channel to data stored in databases. However, increasingly the web-site has also become a point of entry for unauthorised access to stored data. This is often the result of poor web application design and/or implementation.
The module considers how a web application may be designed and implemented in such a way as to reduce the likelihood of unauthorised access to information. This also requires an understanding of the more common forms of browser-based attacks and the coding techniques that can be used to defend against these.
- Web Application Penetration Testing – Web Application Penetration Testing aims to unearth the vulnerable areas in web applications before the hackers do. Basing the testing upon a recognised methodology helps to ensure that the majority of well known vulnerabilities are discovered and mitigation implemented before potentially disastrous consequences occur.
- Multi-Service Networks 1 – The module provides a comprehensive analysis of problems and solutions found in modern networks and covers the communication stack (Physical, Data-link and Network layers). The module concentrates largely on the TCP/IP networks while the subnet covers recent and emerging developments in LANs, MANs and WANs, for both fixed and wireless network technologies. The Internet will be used as the driving vehicle to deliver the module. Familiarity is assumed with the basic concepts, but not necessarily the detail of data communications and the mechanisms by which a communications subnet transfers data segments between remote machines. Typically, these will have been studied in Year 2 modules but this is not a prerequisite. The module does have a strong software and algorithms orientation. Cisco technologies (Cisco Routers and Switches and Cisco Packet Tracer) will be used within the labs and tutorials.
- Multi-Service Networks 2 – The module provides analysis of problems and solutions found in networks and covers the mainly the communication stack (Transport and Application layers). The Networks module focuses exclusively on very high speed networks, which carry integrated multi-service traffic such as voice, video and data. A recurring theme is how the network can provide the necessary Quality of Service requirements for the various types of traffic. The recent and emerging developments in local and wide area networks, for both fixed and wireless network technologies, are considered and the role each of these can play in providing a suitable broadband intra/internet infrastructure is discussed. The protocols developed for each of these technologies is developed and contrasted with conventional OSI Model. A recurring theme is how the network can provide the necessary Quality of Service requirements for the various types of traffic. Cisco Routers and Switches and Cisco Packet Tracer) will be used within the labs and tutorials.
Students are assumed to complete multi-service networks 1 as a prerequesite. The module does have a strong software and algorithms orientation.
- Functional Software Development
- Front-End Web Development
- Interaction Design
- Database Management and Programming
- Information Technology Services Practice
- Computer Ethics and Privacy
- Data Mining
- Big Data and Business Models
Facilities and features
Computer Science Laboratories
The Computer Science laboratories in Gateway House provide 100 computer workstations for students to use. The space includes four interconnected laboratories each with 20 machines (20 HP PCs running Windows/Linux).
There are printing facilities available, internal network access and digital projectors to aid in teaching. All the machines are connected via the Faculty of Technology network to a dedicated, high-performance file server for storage and backup of students’ work. Many of the software packages are open source which means students can download and run software at home.
The laboratories include study spaces at which you can work individually or in groups; this study space is not timetabled and is available on a casual basis throughout the year.
The current home of De Montfort Students’ Union (DSU), Campus Centre, has been completely refurbished to create a state-of-the-art environment for DSU improving the student experience.
The new-look Campus Centre is the hub for student life, on the ground floor is a convenience store, a Subway and a Starbucks. There is also the DSU-owned charitable accommodation service Sulets and SUpplies, DSU’s shop, selling art supplies stationary and clothing, and offering printing and binding services.
Opportunities and careers
Recent graduates are now working as computer engineers, systems engineers, database managers, software developers for companies including HSBC Bank plc, RR Donnelley and Serck Controls.
Graduates are also well positioned to continue their academic careers by embarking on postgraduate study, in either research or taught areas, which offers the opportunity for further specialisation and enhances their existing skills.
This is our innovative international experience programme which aims to enrich your studies and expand your cultural horizons – helping you to become a global graduate, equipped to meet the needs of employers across the world.
Through #DMUglobal, we offer a wide range of opportunities including on-campus and UK activities, overseas study, internships, faculty-led field trips and volunteering, as well as Erasmus+ and international exchanges.
Our #DMUglobal High Flyers Award offers students a discount of up to £1,000 towards a #DMUglobal opportunity (terms and conditions apply).
Placements can enhance your career prospects and give you the chance to use theory from the classroom in a real-world scenario before you have graduated.
Technology’s dedicated Placement Unit provides support to all of our students looking to integrate a placement within their university career on both undergraduate degrees and postgraduate masters programmes. The placement unit will help you search for placement opportunities, create and refine your CV and interview approach, and offer any advice you need to find a great placement.
Students of this course have taken part in work experience placements at a number of local, national and international companies over the last three years, including Syngenta, Jagex Ltd, PepsiCo UK and Ireland, MMT Digital, HSBC Bank plc, Esso Petroleum Company Ltd, Honda Racing and Avis Europe PLC.