Course Lecturers: **Elizabeth Scott **
and ** Thomas van Binsbergen**

There is a complete set of **Course
Lecture Notes**
for this course.

These notes cover all the material in the course,
however you should consult text books for further explanation and
worked exercises.

Recommended books are listed in the Course Lecture Notes.
You should download the Notes
and use them as a basis for understanding the lectures.

Here are the **CS1870 Course
Lecture Notes** which you may find useful for revision.

Here is an example
**LR DFA direct construction **

Here are the assignment sheets from 2017
**ass1
ass2
ass3
ass4
** which you may find useful for additional practice.

There are 4 mandatory assessed assignments for this course. The assignments are due in teaching weeks 3,6,8 and 11.

Upload PDF images of your coursework via Moodle. Paper submissions cannot be accepted. Please make sure you name is on each sheet of your submission, and that it is legible when printed.

**Assignment 1**
due **FRIDAY 19th OCTOBER**
**26th Oct: General feedback**

**Assignment 2**
due **FRIDAY 9th NOVEMBER
**
**20th Nov:
General feedback**

**Assignment 3**
due **FRIDAY 23rd NOVEMBER
**
**7th Dec:
General feedback**

**Assignment 4**
due **MONDAY 10th DECEMBER
**
**6th Jan:
General feedback
**

Some of the lectures will be run as hands on laboratory sessions in
which students will use the compiler gerator package RDP.

Using RDP you will be able to
apply your understanding of the LL(1) grammar conditions to write
language specifications which admit recursive descent parsers.

**Lab Session 1**
9am Friday 26th Oct HITT lab

**Lab Session 2**
9am Friday 16th Nov HITT Lab

**Lab Session 3**
9am Friday 30th Nov HITT Lab

This course applies many of the ideas covered in CS1870,
particularly automata theory and
assembly programming.

It applies the basic mathematical skills
developed in CS1860.

It applies the knowledge you have built up of various programming
languages; your experience will help you to understand the purpose and
usefulness of the techniques studied.

See **lecture diary**
for topics covered in lecturers so far.

See **course deadlines**
for formal details of the course organisation.