Course modules:
Core modules:
Foundations of Computer Science (30 credits)
Study the formal methods of logic, deduction and reasoning which provide the foundations on which the field of computer science was built. Starting with the birth of counting systems in the pre-Christian era and transitioning through to the present day, explore several key themes including number theory, algorithms, Boolean algebra, logic, state machines, sets, functions, graphs and trees. Explore current research themes, including an understanding of social, ethical and legal issues in computing and develop your research skills for critical understanding and writing.
Software Development (30 credits)
Gain significant skills in building complex object oriented software artefacts while using a range of software engineering methodologies. Define common programming paradigms and the role that software plays in a computer system. Use an industry standard language and development environment (Python). Understand how to design, build and develop computer software. Examine a range of appropriate conceptual design tools in order to effectively specify, visualise and document your software.
Computer Architectures and Networks (30 credits)
Examine the basic architectures of a modern day computer system. Study the various functions and operations of all the key principle hardware and software elements as well as looking at the many different types of computer systems available. Get inside real computers and see how the various components and subsystems operate. Examine the fundamentals and concepts behind computer communications including networking hardware (routers, switches, servers, firewall devices, network physical and logical addressing, network topologies, network structured design, configuration and troubleshooting, protocols, local and wide area network technologies. Learn the fundamentals of securing networks.
Database and Web Information Systems Development (30 credits)
Learn basic web design principals and emerging trends in web development. Use a variety of web mark-up languages to create pages containing formatted text, hyperlinks, images, lists and tables. Study web page design and the use of CSS to control type and layout of pages. Explore the use of multimedia to add animation, video and sound. Design and develop both traditional and web-based information systems using relational and advanced database technology. Cover fundamental topics of databases including data models, database selection, database design, security, integrity, transaction management, database performance, client-server and web-based database architectures, and advanced database topics such as database security, Big Data systems, data warehousing, NoSQL systems.
Some modules have prerequisites. Read more about what this means in our Help and Advice article.