Course syllabus
Contact me about all issues concerning the course, unless they relate to material covered by another lecturer or a tutor, in which case please contact them first. You can also contact me for general advice about how to approach the course.
Teaching staff
Lecturers
- Bakh Khoussainov, 303-405, bmk@cs.auckland.ac.nz
Teaching Weeks 1-6.
Office hours: by appointment.
- Eamonn O'Brien, 303-205, e.obrien@auckland.ac.nz
Teaching Weeks 7-12.
Office hours:
1230-1330 Monday - in person on campus
1330-1430 Friday - in person on campus
If you prefer to meet online, email to request Zoom meeting.
Please contact the relevant lecturer if you have questions about lectures or assignments in their part of the course.
Tutors
All tutorials are conducted in person on campus. Below are names and times.
Class representatives
Overview
This is a challenging course that aims at studying discrete structures relevant to mathematics and computer science. Topics are chosen from the basics of arithmetic, graphs, some important algorithms (e.g. Euclidean algorithm), induction, finite automata, logic, counting and probability, and codes. The course also introduces proof methods, such as direct proof, and proof by contradiction, and has a strong proof flavour. We want to understand why algorithms work, not just learn how to execute them.
List of topics
- Logic and proof techniques.
- Integers and divisibility.
- Induction and recursion.
- Graphs.
- Sets, relations, functions.
- Enumeration.
- Deterministic finite automata.
- Codes.
Textbook
A locally made course book will be available for cost of printing from the Student Resource Centre, and students are strongly recommended to buy it and bring to lectures. A free PDF version is available for download. The course will follow this course book closely, but small variations in lecture schedule and topics may occur for good reasons. The course book has been well checked but may contain small errors.
For supplementary reading, we recommend the following:
- Discrete Mathematics (5th Edition) by Kenneth A. Ross and Charles R. Wright (in UoA library; earlier editions are fine). This is very clearly written and well tested over many years.
- Lectures on discrete mathematics for computer science by B. Khoussainov and N. Khoussainova. It is has slightly more discussion of the applications of the mathematical material to computer science.
Lectures
- Mo 4pm - 5pm in OGGB4/260-073
- Mo 5pm - 6pm in OGGB4/260-073
- Fr 4pm - 5pm in OGGB4/260-073
Lecture attendance is strongly recommended. Lecture recordings will be available, but their quality is not high and they may omit important information.
Tutorials
These are strongly recommended. You have signed up for a tutorial stream when you enrolled in the course.
Assessment
55% final exam; 30% written assignments; 15% midterm test. There is no computer programming needed in this course.
There are 4 assignments. The assignments will be available one week before the due date. See Course summary below for due dates.
All assignments must be submitted through Canvas. You should submit via Canvas a single PDF file containing the answers to the questions. A scanned handwritten submission is acceptable if and only if it is very neatly written. If typing the assignment, do the best you can with mathematical symbols. For exponents, write something like 2^n if using plain text. Use LaTeX if you really want it to look good.
IMPORTANT:
The midterm test is on Monday evening, August 31, from 1830-1930. More details about rooms etc will be made available later.
Working together
We have set up Piazza for this course. Many students find it useful. The main purpose of Piazza is for you to interact with other students in the course. The tutor will monitor Piazza and help if necessary. Of course, do not post any solutions!
Go here to sign up: piazza.com/aucklanduni.ac.nz/semester22020/compsci225
Information regarding university policies and technical support
1330-1430 Fri in teaching weeks.
Course summary:
Date | Details | Due |
---|---|---|