Undergraduate Computing Science 2021-2022 - Catalogue of Courses production Skip to Content Log In Search Toggle navigation Catalogue of Courses Home Previous Catalogues Degree Prescriptions University Home Catalogue of Courses Undergraduate 2021-2022 Computing Science Filter Return to Subject List Level 1 Level 2 Level 3 Level 4 Level 5 First Sub Session Second Sub Session Full Year Third Sub Session Summer School Apply Filter Undergraduate Computing Science 2021-2022 CS1029: MODELLING AND PROBLEM SOLVING FOR COMPUTING 15 credits Level 1 First Sub Session This course will introduce students to techniques that support problem solving and modelling with computers, and concepts and methods that are fundamental to computing science. The techniques and concepts will be illustrated with numerous computing examples. More Information CS1031: WEB DEVELOPMENT 15 credits Level 1 First Sub Session Students will learn to develop modern web applications using a variety of languages and frameworks as part of their degree, and prepare them for whatever they do after graduation. A key focus will be on the integration of HTML with CSS and Javascript with other backing frameworks to develop dynamic applications. The course is open to all undergraduates, and is accessible to those with no previous experience. More Information CS1032: PROGRAMMING 1 15 credits Level 1 First Sub Session This course will be delivered in two halves. The first half will provide a self-contained introduction to computer programming. It will be accessible to all undergraduates. Students will be exposed to the basic principles of computer programming, e.g. fundamental programming techniques, concepts, algorithms and data structures. The course contains lectures where the principles are systematically developed. As the course does not presuppose knowledge of these principles, we start from basic intuitions. The second half will be particularly of use to those studying Science and Engineering subjects, broadly interpreted, as well as Computing and IT specialists. It will include a gentle introduction to professional issues and security concepts. More Information CS1527: OBJECT-ORIENTED PROGRAMMING 15 credits Level 1 Second Sub Session This course will build on the basic programming skills acquired in the first half-session and equip the students with advanced object oriented programming knowledge, implementation of data structure and algorithms, and basic software engineering techniques. The students will be challenged with more complicated programming problems through a series of continuous assessments. More Information CS1533: COMPUTER SYSTEMS AND ARCHITECTURE 15 credits Level 1 Second Sub Session This course provides an introduction to computer systems. It includes an introduction to computer architecture and organization, and an introduction to operating systems. The course is taught without prerequisites; students are taught with plenty of exercises from lectures, tutorials, practical and tests every week. More Information CS2019: DATABASES AND DATA MANAGEMENT 15 credits Level 2 First Sub Session Databases are an important part of traditional information systems (offline /online) as well as modern data science pipelines. This course will be of interest to anyone who wishes to learn to design and query databases using major database technologies. The course aims to teach the material using case studies from real-world applications, both in lectures and lab classes. In addition, the course covers topics including management of different kinds of data such as spatial data and data warehousing. The course provides more hands-on training that develops skills useful in practice. More Information CS2020: SOFTWARE PROGRAMMING 15 credits Level 2 First Sub Session This course is concerned with tools and techniques for scalable and dependable software programming. It focusses primarily on the Java programming language and related technologies. The course gives extensive programming practice in Java. It covers in depth features of the language and how best to use them, the execution model of the language, memory management, design principles underpinning the language, and comparisons with other languages. Tools for collaboration, productivity, and versioning will also be discussed. More Information CS2506: HUMAN-COMPUTER INTERACTION 15 credits Level 2 Second Sub Session This course looks at why a computer system that interacts with human beings needs to be usable. It covers a set of techniques that allow usability to be taken into account when a system is designed and implemented, and also a set of techniques to assess whether usability has been achieved. Weekly practical sessions allow students to practice these techniques. The assessed coursework (which is normally carried out by groups of students) gives an opportunity to go through the design process for a concrete computer system, with a particular focus on ensuring usability. More Information CS2513: MATHEMATICS FOR COMPUTING SCIENCE 15 credits Level 2 Second Sub Session This course provides an introduction to areas of Discrete Mathematics that are used extensively in Computing. The course covers three topics: (1) formal languages and machines; (2) formal logic; (3) probability and statistics. Applications of these in Computing are indicated throughout. More Information CS2522: ALGORITHMS AND DATA STRUCTURES 15 credits Level 2 Second Sub Session This course provides the knowledge needed to understand, design and compare algorithms. By the end of the course, a student should be able to create or adapt algorithms to solve problems, determine an algorithm's efficiency, and be able to implement it. The course also introduces the student to a variety of widely used algorithms and algorithm creation techniques, applicable to a range of domains. The course will introduce students to concepts such as pseudo-code and computational complexity, and make use of proof techniques. The practical component of the course will build on and enhance students' programming skills. More Information CS3022: BUSINESS AND INDUSTRIAL APPLICATIONS OF IT (SHORT PLACEMENT) 15 credits Level 3 First Sub Session Students registered for Honours and Joint Honours degree programmes offered by Computing Science can take up short-term placements / internships with companies (1 month). Students are required to successfully complete an internship, submit a final report and give an oral presentation. More Information CS3026: OPERATING SYSTEMS 15 credits Level 3 First Sub Session This course discusses core concepts and architectures of operating systems, in particular the management of processes, memory and storage structures. Students will learn about the scheduling and operation of processes and threads, problems of concurrency and means to avoid race conditions and deadlock situations. The course will discuss virtual memory management, file systems and issues of security and recovery. In weekly practical session, students will gain a deeper understanding of operating system concepts with various programming exercises. More Information CS3028: PRINCIPLES OF SOFTWARE ENGINEERING 15 credits Level 3 First Sub Session Students will develop large commercial and industrial software systems as a team-based effort that puts technical quality at centre stage. The module will focus on the early stage of software development, encompassing team building, requirements specification, architectural and detailed design, and software construction. Group work (where each team of students will develop a system selected using a business planning exercise) will guide the software engineering learning process. Teams will be encouraged to have an active, agile approach to problem solving through the guided study, evaluation and integration of practically relevant software engineering concepts, methods, and tools. More Information CS3033: ARTIFICIAL INTELLIGENCE 15 credits Level 3 First Sub Session The course provides an introduction to Artificial Intelligence (AI). It discusses fundamental problems of AI and their computational solution via key concepts. More Information CS3518: LANGUAGES AND COMPUTABILITY 15 credits Level 3 Second Sub Session This course provides a basic-level introduction to computability via the notion of a Turing Machine. Some familiarity with imperative programming (e.g., in JAVA) and with the basics of set theory (e.g., the notion of a bijection) is assumed. The Functional language Haskell (familiar from earlier courses, including CS2013) is used to explore the concepts of infinity, recognisability and decidability, which are crucial to computability. More Information CS3522: BUSINESS AND INDUSTRIAL APPLICATIONS OF IT (SHORT PLACEMENT) 15 credits Level 3 Second Sub Session Students registered for Honours and Joint Honours degree programmes offered by Computing Science can take up short-term placements / internships with companies (1 month). Students are required to successfully complete an internship, submit a final report and give an oral presentation. More Information CS3525: ENTERPRISE COMPUTING AND BUSINESS 15 credits Level 3 Second Sub Session This course provides insight into the business reasons for large software systems such as loyalty card systems, backend systems integrating firms and their suppliers and larges systems that integrate payroll, finance and operational parts of a business. You also learn the entrepreneurial aspects of business during the practical sessions where you explore and develop your own business application idea using service design and lean startup approaches centred around customer development, which you will find useful in any future work. This course is open to anyone across the university and requires no programming experience. More Information CS3528: SOFTWARE ENGINEERING AND PROFESSIONAL PRACTICE 15 credits Level 3 Second Sub Session In this module, which is the follow-up of CS3028, students will focus on the team-based development of a previously specified, designed, and concept-proofed software system. Each team will build their product to industrial-strength quality standards following an agile process and applying the software engineering concepts, methods, and tools introduced in CS3028. The course includes a series of mandatory participatory seminars on professional and management issues in IT and IT projects. Students will be expected to relate their engineering work to these issues. More Information CS3534: DISTRIBUTED SYSTEMS 15 credits Level 3 Second Sub Session This course discusses core concepts of distributed systems, such as programming with distributed objects, multiple threads of control, multi-tier client-server systems, transactions and concurrency control, distributed transactions and commit protocols, and fault-tolerant systems. Weekly practical sessions cover a set of techniques for the implementation of distributed system concepts such as programming with remote object invocation, thread management and socket communication. More Information CS3901: BUSINESS AND INDUSTRIAL APPLICATIONS OF IT (SUMMER PLACEMENT) 30 credits Level 3 Third Sub Session Students registered for Honours and Joint Honours degree programmes offered by Computing Science can take up short-term summer placements / internships with companies (3 months). Students are required to successfully complete an internship, submit a final report and give an oral presentation. More Information CS3922: BUSINESS AND INDUSTRIAL APPLICATIONS OF IT (SHORT PLACEMENT) 15 credits Level 3 Third Sub Session Students registered for Honours and Joint Honours degree programmes offered by Computing Science can take up short-term placements / internships with companies (1 month). Students are required to successfully complete an internship, submit a final report and give an oral presentation. More Information CS4028: SECURITY 15 credits Level 4 First Sub Session The course provides a solid foundation in computer and information security. It will cover topics of Information and Risk, Threats and Attacks, Cybersecurity Architecture and Operations, Secure Systems and Products, Cybersecurity Management and Trustworthy Software. More Information CS4040: RESEARCH METHODS 15 credits Level 4 First Sub Session In this course, you will conduct an individual research project into the behaviour of a computing system. You will develop knowledge and understanding of rigorous methods to: explore computing system behaviour; identify questions about behaviour; design experiments to answer those questions; analyse experimental results; and report on the outcomes of your research. You will develop your understanding of research ethics and how this relates to professional behaviour. More Information CS4049: INTRODUCTION TO MACHINE LEARNING AND DATA MINING 15 credits Level 4 First Sub Session This course provides an introduction to machine learning and data mining. Students will learn how to analyse complex datasets by applying data pre-processing, exploration, clustering and classification, time-series analysis, neural networks, and many other techniques. This course is particularly suitable for those who are interested in working as data analysts or data scientists in the future. More Information CS4096: OPERATING SYSTEMS 15 credits Level 4 First Sub Session More Information CS4097: SECURITY 10 credits Level 4 First Sub Session More Information CS4525: JOINT HONOURS COMPUTER PROJECT 30 credits Level 4 Second Sub Session Consists of a supervised project which provides experience of investigating a real problem in computing science, or a computing application/technology. Learner will apply knowledge and skills gained earlier in their degree programme, and seek to go even further. Managing the project and presenting the results obtained are an integral part of the investigation. More Information CS4529: SINGLE HONOURS COMPUTING PROJECT 60 credits Level 4 Second Sub Session Consists of a supervised project which provides experience of investigating a real problem in computing science, or a computing application/technology. Learners will apply knowledge and skills gained earlier in their degree programme, and seek to go even further. Managing the project and presenting the results obtained are an integral part of the investigation. More Information CS4594: JOINT HONOURS COMPUTING-PHYSICS PROJECT 45 credits Level 4 Second Sub Session This course consists of a supervised individual project; it provides students the experience of investigating a real problem in the intersection of computing science and physics, exploring solutions and technologies. More Information CS4904: SINGLE HONOURS ERASMUS COMPUTING PROJECT (E1) 120 credits Level 4 Full Year Consists of a supervised project which provides experience of investigating a real problem in computing science, or a computing application/technology. Presenting the results obtained is an integral part of the investigation. More Information CS4993: SINGLE HONOURS ERASMUS COMPUTING PROJECT (E5) 60 credits Level 4 Third Sub Session The student will undertake a project under the supervision of teaching staff in the department. The project will require creativity, analytical and practical skills. A major component of the project is its presentation, both written and oral. More Information CS4999: SINGLE HONOURS ERASMUS COMPUTING PROJECT E5 120 credits Level 4 Full Year Consists of a supervised project which provides experience of investigating a real problem in computing science, or a computing application/technology. Presenting the results obtained is an integral part of the investigation. More Information CS50IP: BUSINESS AND INDUSTRIAL APPLICATIONS OF IT 120 credits Level 5 Full Year Students can gain work experience in industrial, business or public sector organisations by taking up a 1-year placement / internship. Students are required to submit monthly reports as well as a final thesis summarising their work experience. Students who successfully complete such a placement will earn an advanced undergraduate degree (MSci in Computing Science with Industrial Placement). More Information CS551M: INFORMATICS PROJECT 60 credits Level 5 Second Sub Session Consists of a supervised project that provides experience of investigating a real problem in computing science, or a computing application/technology. Presenting the results obtained is an integral part of the investigation. More Information © 2021 University of Aberdeen King's College Aberdeen AB24 3FX Tel: +44 (0)1224 272000 Privacy Statement Accessibility Freedom of Information The University of Aberdeen is a charity registered in Scotland No.SC013683 × Help You can use the following keys to navigate: Alt - expose page keyboard keys R - return to previous page ? - show this help Close Compatibility Mode We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to switch off compatibility mode for this site or upgrade your browser.