Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

This is an archived syllabus from 2014-2015

COMP11212 Fundamentals of Computation syllabus 2014-2015

COMP11212 Fundamentals of Computation

Level 1
Credits: 10
Enrolled students: 196

Course leader: Sean Bechhofer


Additional staff: view all staff

Additional requirements

  • Pre-requisites

    First semester of COMP11120 for non-CM students.

    Co-requisites

    COMP11120 or equivalent mathematical background

Assessment methods

  • 75% Written exam
  • 25% Coursework
Timetable
SemesterEventLocationDayTimeGroup
Sem 2 Lecture Hum Bridge St CORDINGLEY TH Wed 09:00 - 10:00 -
Sem 2 Lecture 1.1 Fri 10:00 - 11:00 -
Sem 2 w2+ Examples IT407 Mon 13:00 - 14:00 M+W
Sem 2 w2+ Examples IT407 Mon 14:00 - 15:00 B+X
Sem 2 w2+ Examples IT407 Mon 15:00 - 16:00 Z
Sem 2 w2+ Examples IT407 Mon 16:00 - 17:00 Y

Overview

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.

Aims

This course unit provides a first approach to answering the following questions. What methods are there that can help understanding complicated systems or programs? How can we make sure that a program does what we intend it to do? How do computers go about recognizing pieces of text? If there are two ways of solving the same problem, how can we compare them? How do we measure that one of them gives the solution faster? How can we understand what computers can do in principle, and are there problems that are not solvable by a computer?

Syllabus

There are two groups of topics covered. One of the lectures will be an introduction to the course unit, and one is reserved for revision. That leaves 10 lectures for each part.

The first part (10 lectures) is concerned with expressing particular strings, and collections of strings, and here we will introduce the methods by which a computer goes about it. The ability to recognize key strings (such as programming constructs or variable names) are, for example, required in every compiler, but they are also used by search engines such as Google.The formalisms introduced include finite state automata, regular expressions (most often used in pattern matching), (regular) grammars. The emphasis is on students being able to use these formalisms to solve problems.

The second group (10 lectures) provides anintroduction to the two topics of computability and computational complexity. There are five big topics:

  • recursion and induction
  • the WHILE programming language
  • asymptotic complexity
  • partial and full program correctness
  • computability

Teaching methods

Lectures

22 in total, 2 per week

Examples classes

1 per week (starting in week 2)

Feedback methods

Students present their solutions to set exercises once a week in examples classes. They receive oral feedback to their solutions, and have the opportunity to improve some of their original answers for further feedback.

Study hours

  • Assessment written exam (2 hours)
  • Lectures (24 hours)
  • Practical classes & workshops (11 hours)

Employability skills

  • Analytical skills
  • Oral communication
  • Problem solving

Learning outcomes

Programme outcomeUnit learning outcomesAssessment
A1 B1Be able to construct simple graph-based models of computation, e.g., finite state automata.
  • Examination
  • Individual coursework
A1 B1Understand how patterns and grammars can be used to recognise pieces of text.
  • Examination
  • Individual coursework
A1 B1Appreciate that there are unsolvable problems.
  • Examination
  • Individual coursework
A1 B1Understand fundamental techniques for measuring performance of systems.
  • Examination
  • Individual coursework
A1 B1Gain skills in modelling and abstract thinking.
  • Examination
  • Individual coursework

Reading list

COMP11212 does not have a specified reading list.

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.