Welcome to Computer Science – Meet your lecturers
Below are the list of course units you will encounter in your first year on the single honours courses. Find out more about each unit and the academic that leads it:
COMP10120 First year Team Project
This course unit is all about teamwork, communication, and active learning: in your team and with your tutor, you work on various tasks, thereby gaining valuable experience in teamwork and developing useful skills around communication, reflection, self-organisation, time management, independently acquiring new knowledge and skills, professional behaviour, project organisation, etc. The tasks teams work on include understanding ethical frameworks for computer science professionals, intellectual property issues, and the development of a web-based information system.
Course Unit Leader: Prof Uli Sattler
Uli was originally a dress-maker for a living but moved into the world of Computer Science after becoming interested in semantic technologies and problem solving. She’s a keen cyclist and skier and is passionately involved in the Department’s mission to encourage more women into Computer Science.
COMP11120 Mathematical Techniques for Computer Science
This course covers the fundamental maths required by Computer Science students in order to successfully complete the reminder of their courses as well as for a career in computer science. Topics covered include complex numbers, logic, probability, recursion and induction, relations, vectors, matrices and transformations.
Course Unit Leader: Dr Andrea Schalk
“The Computer Science department has a real sense of community, which helps create a culture of students supporting each other.
The course covers exciting areas such as machine learning and data science which are maths heavy, so this enables students to go into careers or further studies in Maths or Computer Science.”
COMP11212 Fundamentals of Computation
The building of real-life computing systems, e.g. mobile phone, tv/video remote control, internet shopping, air-traffic control, internet banking, etc., is always a complex task. Mistakes can be very annoying, costly and sometimes life threatening. Methods and techniques to support the building and understanding of such systems are essential. This course unit provides an introduction to the basic computer science ideas underlying such methods. It is also a part of, and an introduction to, the Modelling and Rigorous Development theme.
Course unit Leader: Sean Bechhofer
Sean is a keen musician and artist, playing in a cèilidh band and sketching urban landscapes. Find out more about Sean.
COMP12111 Fundamentals of Computer Engineering
This course introduces digital logic and its application in computer organisation and design. You will be exposed to the hardware description language Verilog, which is used extensively by hardware designers around the world to represent hardware designs in software. The major emphasis is on practical design work and in the practical element of the course unit you will work through the design and implementation of a working processor in Verilog.
Course unit leader: Paul Nutter
Paul is the Director of UG studies. Paul built the Millenium Falcon.
COMP13212 Data Science
This course unit is about extracting knowledge and information from data. Topics include: measuring uncertainty in data, and interpreting data using visualisation, statistical methods, probabilistic Bayesian methods, and basic machine learning techniques. Students will also gain an introduction to the Jupyter notebook, and techniques in Python to implement data science methods.
Course unit leader: Jon Shapiro
Jon’s major interest is reinforcement learning applied to games and his last console was the Nintendo DS, enjoying Mario & Sonic at the Olympics in particular. This year he is running a project using deep reinforcement learning to play the open version of Infinite Mario!
COMP15111 Fundamentals of Computer Architecture
This module introduces the concepts involved in Fundamentals of Computer Architecture. Its aim is to enable the student to develop the skills required to comprehend Computer Systems, be they terminology, models, methodologies, structures (or topologies), timing, number representation and a general introduction to basic computer systems.
Course Unit Leader: Dr Christos Kotselidis
Christos also works part time on the orange beasts of “Ready to Race” KTM. He’s a Senior Architect on their embedded systems optimising software on the motorbikes. You wouldn’t catch him riding one though – much too dangerous he says!
COMP16321 Introduction to Programming 1
This course introduces the basic concepts of imperative computer programming using the Python language. The basic principles of becoming a good programmer will be taught through two lectures a week, one in a ‘TED-talk’ style and the second being a live coding session. In addition there are weekly offline workshops designed to test your logical thinking and problem solving, and finally, a weekly laboratory session giving you a chance to put all of your new skills into practice.
Course Unit Leader: Dr Gareth Henshall
Gareth is a yachtsman who often competes in sailing competitions around the country. Ask him nicely, he might also help your five-a-side team if you’re struggling for a player!
COMP16412 Introduction to Programming 2
This course introduces the concepts of object oriented programming using the Java language. The features of the object oriented paradigm will be illustrated through theoretical classes, and practical workshops and labs.
Course Unit Leader: Dr Markel Vigo
Markel’s research is about detecting what’s wrong with your user interface. He also tries to unsuccessfully grow tomatoes in Manchester.
COMP15212 Operating Systems
This course unit provides an introduction to the major principles of implementation of an operating system and some experience in how these features may be exploited by the ‘higher’ software layers. Note that this module is currently undergoing major redevelopment and modernisation and, whilst the principles will not change, some of the details both in the syllabus and teaching methods may differ in the autumn.
Course Unit Leader: Prof Stephen Pettifer
Steve studied his Undergraduate BSc Computer Science here in Manchester back in the 1990s. Steve is geeky and speaky.