This course is an introduction to the theoretical
foundations of software engineering covering topics in automata
theory, computability, and computational complexity
As an aspiring software engineer, the goal of this course is to
leave you with a deeper understanding of what we really mean
when we talk about computers and computing. We'll delve into the
essence of what a computer really is, which will then
let us examine different kinds of computational problems. Some
of these problems are easy to compute, some are hard to compute,
and some cannot even be computed at all.
This course is not about circuits, CPUs, or any hardware in
particular, nor is it about about any programming language or
program in particular. Rather this course is about exploring the
fundamental capabilities and limitations of any
computer, and in turn, of the very software you will write
through your career.
I have updated the Exam review
with a few suggested exercises from the textbook.
Assignment 4 solutions available in OWL
There are no more tutorial sessions. My office hour will run as ususal on Thrusday 12th, but I will be away at a conference the week of the 16-20th.
Assignment 3 solutions posted in OWL. Assigment 4 is available
Reminder. NO class next Friday (Mar 16th)
The Final exam is confirmed for April 22nd, 10:00am in UCC 146
IMPORTANT! The midterm room has changed to UCC-37. This is the weekly tutorial room. The date and time remain as Wed. 28th 9:00-10:00am.
The recommended practice questions for the midterm are 1.6, 1.29 and 2.4 in the course textbook.
Assignment 2 solutions are now available in OWL.
Assignment 1 solutions are available in OWL under the Resources tab.
The office hour has been set. Thursdays 10:30am-11:30am in TEB 235.
The midterm will be held Wednesday Feb 28th, 9:00-10:00am in FNB 1240
I've added some Youtube lectures in the lecture resources
. They're a great suppliment to what we're
Note the tutorials are held Wednesday from 8:30am-10:30am
in UCC-37. There was a typo on the course info page
that incorrectly stated the tutorial began at 2:30pm. This has been corrected.
Assignment 1 is available. The first tutorial will begin Wednesday Jan. 24th.
Website is available.