Course syllabus
The aim of this course is to present mathematical models for computers and computation, classical and quantum, and to prove results about what can and cannot be computed. It deals with idealised computers which operate on idealised input and output. For example, one proves that it is impossible to write a computer program that takes as input any computer program and tells whether or not that program will finish running or continue forever (the halting problem).
Various methods to evaluate algorithmic complexity and prove undecidability, as well as efficient strategies, classical and quantum, for problem solving will be presented. The Church‐Turing Thesis will be critically discussed.
This course requires that students have a good knowledge of mathematical proofs and can write them properly.
Pre-requisites
- COMPSCI 225
- COMPSCI 220 or PHIL 222
The relevant background can be found in Chapter 0 of Michael Sipser's Introduction to the Theory of Computation (any edition).
Course details
Content
- Mathematical backgrgound refresh
- Automata and regular languages
- Computability and decidability
- Algorithmic complexity
- Church-Turing Thesis
- Quantum computing
Expected learning outcomes
On completion, students will be able to:
- explain the theoretical limits on computational solutions of undecidable and inherently complex problems
describe concrete examples of computationally undecidable or inherently infeasible problems from different fields - understand formal definitions of machine models, classical and quantum
- prove the undecidability or complexity of a variety of problems
- understand the issue of whether there are limits of computability
- understand the basic principles of quantum computing.
Course Coordinator
Professor Cristian (Cris) S. Calude, cristian@cs.auckland.ac.nz, webpage
Room 839, B810 Building.
Lecturers
- Professor Cristian (Cris) S. Calude, cristian@cs.auckland.ac.nz
- Professor Fred Kroon, f.kroon@auckland.ac.nz
Tutor and marker
- Yan Kolezhitskiy, ykol002@aucklanduni.ac.nz
Marker
- Courtney Wright, cwri937@aucklanduni.ac.nz
Class rep
- Dominik Roje, droj410@aucklanduni.ac.nz
Lectures
Monday, Wednesday, Friday 3.00pm - 4.00pm, OGHLecTh/102-G36
Tutorials
Once tutorial per week starting the second week, offered in two streams, Thursday and Friday, 1:00pm 2:00pm ClockT029/105-029. Stream distribution will be announced by 8 March 2019.
Tutorial attendance 0.3% per tutorial (can skip 1).
3 Marked tutorials worth 2% in total. The mark is best 2 out of 3. These will be held on:
28th & 29th March
9th & 10th May
30th & 31st May
Assessment, Coursework, Final Examination
Assessment will be determined as follows:
The coursework consists of one test worth 30%, three assignments worth 5% each and tutorial work 5%. The coursework thus contributes 50% of the final mark.
The test will be held in class on Monday 1 April 2019, time: 3:05-3:55 pm in OGHLecTh/102-G36 and OCH1/104-G53. Room distribution will be announced by 29 March 2019.
Assignments: Assignment 1 will be due on 7 April 2019. Assignment 2 will be due on 19 May 2019. Assignment 3 will due on 2 June 2019. All assignments must be prepared using an appropriate word-processing application [diagrams may be hand-drawn], converted to PDF format, and uploaded in Canvas by 23.59 of the due date.
The final 2-hour examination is worth 50% of the final mark.
Useful links
- Course webpage
- Textbook: M. Sipser. Introduction to the Theory of Computation (Links to an external site.), PWS Publishing Company, Boston, 2013, third edition.
Other sources of information and assistance
This course will make reasonably heavy use of Canvas. Among other things, lecturers will use Canvas to provide you with lecture notes and useful readings.
General assistance: Student Learning Services offers help to students in developing effective academic learning and performance skills, and helps those who encounter difficulties in their studies. One of the services on offer is English Language Enrichment (ELE), which offers students support in their English language development.
Course summary:
Date | Details | Due |
---|---|---|