Games, graphs, and machines
MATH2301, Semester 2, 2025
These are the course materials for MATH2301 Games, graphs, and machines as taught at the ANU in 2025.
1. Course information
1.0.1. What is the course about?
The goal of the course is to get hands-on experience in mathematical thinking. The course consists of four parts, of roughly equal duration:
- Foundations: The basic vocabulary of modern mathematics (sets, functions, and relations).
- Graph theory: Graphs as a tool to model relations; graphs and matrices; applications to path finding.
- Regular expressions and automata: Finite state machines; pattern recognition; regular expressions; limits of mechanical pattern recogntion.
- Combinatorial games: Using graphs to model and analyse adversarial interactions; winning strategies.
Our main reference will be course notes written by me and my colleague Asilata Bapat. In these notes are references to other supplementary materials.
1.1. What will we do each week?
Each week, we will have the following activities:
- Pre-lecture videos and reading (to be done before the Monday lecture)
- Lectures (Monday 12pm-1pm, Tuesday 1pm-2pm, and Wed 3pm-4pm)
- Workshop (Thursday or Friday)
- Homework (due by the end of Friday)
- Reflective check-in (due by the end of Friday)
- What are pre-lecture videos?
Can you follow mathematical definitions and theorems in real time? I certainly cannot. I need to digest them at my own pace. Having recognised this, I will make short videos (5-10 min) about the key concepts every week. I will assume that you have watched these videos when you come to lectures, and have had some time to mull them over. I will also post the reading from the book well in advance, so that you have time to give it a quick read before coming to lectures.
If you have basic familiarity with the material before coming to lecture, it allows us to go into trickier details and examples and more lively discussions in class.
- What are reflective check-ins?
Every week, I will ask you to provide short feedback about the material of the week (< 2 min). It will help me adjust the pace and level. It will also give you a chance to reflect on your learning. There are no right or wrong answers here. As long as you complete the feedback, you get full points.
- Do we have to come to lectures?
You should!\(\tiny{\textrm{Although, technically you do not have to}}\). Lectures are a great place to work through the key ideas, ask questions, and meet other students. Also, remember that on Wednesdays, we have an in-class quiz.
- Do we have to go to workshops?
Yes. Remember—mathematics is not a spectator sport. You can’t learn if you don’t do it yourself. And workshops are the place where you do the maths. Also, active engagement in the workshops is worth points.
Sign up for workshops using MyTimetable. The workshops will be one hour long, but the demonstrators will be available for half an hour after the workshop for consultation.
1.1.1. What is the assessment?
The final mark in the course will be based on:
- Reflective check-ins (5%)
- Workshop engagement (5%)
- Quizzes (0 to 20%)
- Homework (30%)
- Final exam (40 to 60%)
The quizzes will be in class on Wednesday. If you do not take them, their weight for the overall mark will be absorbed in the final exam. Precisely, if you take \(n\%\) of the quizzes, your quiz scores will weigh \((n/5)\%\) and your final exam will weigh \((60-n/5)\%\).
2. Home page
Welcome to Games, Graphs, and Machines, where we use maths to analyse patterns, bots, and games. Visit the course information page for an overview of the course.
2.1. Week by week
- Week 1
- Week 2
- Watch: Equivalence relations, Modular arithmetic
- Read: Equivalence relations from the book.
- Solve: Assignment 1 (due 1 Aug) (solutions), Worksheet 1 (solutions), Quiz 1
- Review: Lecture slides Monday (annotated), Tuesday (annotated), Wednesday (annotated)
- Week 3
- Watch: Partial orders 1, Partial orders 2
- Read: Partial orders from the book.
- Solve: Assignment 2 (due 8 Aug) (solutions), Worksheet 2 (solutions), Quiz 2
- Review: Lecture slides Monday (annotated), Tuesday (annotated), Wednesday (annotated)
- Week 4
- Watch: Graphs and adjacency matrices, matrices
- Read: Graphs from the book (up to Counting paths using the adjacency matrix)
- Solve: Assignment 3 (due 15 Aug) (solutions), Worksheet 3 (solutions), Quiz 3
- Review: Lecture slides Monday (annotated), Tuesday (annotated), Wednesday (annotated)
- Week 5
- Watch: Paths (counting and existence), Shortest paths
- Read: Graphs from the book (up to Shortest paths using min-plus arithmetic).
- Solve: Assignment 4 (due 22 Aug) (solutions), Worksheet 4 (solutions), Quiz 4
- Review: Lecture slides Monday (annotated), Tuesday (annotated), Wednesday (annotated)
- Week 6
- Watch: Markov chains, Computing large powers
- Read: Graphs from the book (Markov chains, Computing large powers)
- Solve: Assignment 5 (due 29 Aug) (solutions), Worksheet 5 (solutions), Quiz 5
- Review: Lecture slides Monday (annotated), Tuesday (annotated), Wednesday (annotated)
- Week 7
- Watch: Alphabets, strings, languages; regular expressions; deterministic finite automata
- Read: Regular expressions and finite automata (up to deterministic finite automata) from the book.
- Solve: Assignment 6 (due 19 Sep) (solutions), Worksheet 6 (solutions), Quiz 6
- Review: Lecture slides Monday (annotated), Tuesday (annotated), Wednesday (annotated)
- Week 8
- Watch: Non-determinisic finite automata, NFA-to-DFA, NFA-to-regex
- Read: Nondeterministic finite automata, NFA to DFA, Regular expressions to finite automata from the book.
- Solve: Assignment 7 (due 26 Sep) (solutions), Worksheet 7 (solutions), Quiz 7
- Review: Lecture slides Monday (annotated), Tuesday (annotated), Wednesday (annotated)
- Week 9
- Watch: Regex to NFA, Pumping lemma
- Read: Converting finite automata to regular expressions, Non-regular languages from the book.
- Solve: Assignment 8 (solutions), Worksheet 8 (solutions), Quiz 8
- Review: Lecture notes Monday (annotated), Tuesday (annotated), Wednesday (annotated)
- Week 10
- Watch: Games, Winning strategies
- Read: Combinatorial games (introduction, strategic labelling, beginning of Nim) from the book.
- Solve: Assignment 9 (due 10 Oct) (solutions), Worksheet 9 (solutions), Quiz 9
- Review: Lecture notes Tuesday (annotated), Wednesday (annotated)
- Week 11
- Watch: Nim, Stable equivalence
- Read: Nim, Game sum, Stable equivalence from the book.
- Solve: Assignment 10 (due 17 Oct) (solutions), Worksheet 10 (solutions), Quiz 10
- Review: Lecture slides Monday (annotated), Tuesday (annotated), Wednesday (annotated)
- Week 12
- Watch: Grundy labeling: what?, Grundy labeling: why?
- Read: Grundy labeling from the book.
- Solve: Assignment 11 (due 24 Oct), Worksheet 11 (solutions)
- Review: Lecture slides Monday, Tuesday
3. Academic integrity policy
If you are ever unsure about whether something is or is not allowed, ask me for clarification.
3.1. Collaboration
You are welcome to collaborate with other students, but the submitted work should be your own.
What this means is the following. You will typically work in two phases on assignments.
- The solving phase
trying to find the answers to the questions. In this phase, you should first think about the problem on your own. After an honest effort, you are welcome—and encouraged—to work with other students. Having thought about the problem on their own, everyone in a collaboration will have something to contribute. Once you know how to solve the problem, move on to the next phase.
On your solution, you must acknowledge the sources of your collaboration. Not doing so is a violation of the academic integrity policy. For example, write “On this assignment, I collaborated with X, Y, and Z.” You need not cite me, any of the demonstrators, or the staff from MSI drop-in sessions.
- The write-up phase
- writing up your solutions for submission. You must do this entirely by yourself. Work alone when you are writing. If you copy parts of someone else’s solutions, you are violating the academic integrity policy. If you get stuck while writing, you are welcome to go back to the solving phase, get help, and return to writing (by yourself).
In addition to your peers, you have many other sources for help in the solving phase:
- Office hours
- Demonstrator consultaion hours
- MSI drop-in sessions
Submitting solutions that are not your own (for example, written by a friend or sourced from a solutions provider like CourseHero or Chegg) is a violation of the academic integrity policy.
3.2. Use of computer generated content
If any part of your submission is computer generated:
- you must clearly mark it; and
- it must have been generated by code that you wrote on your own. (I may ask you to provide and explain the code).
Submitting content generated by automatic text generators (ChatGPT, DeepSeek, or similar) is a violation of the academic integrity policy.
The goal of the assignments is to develop and test your understanding of the material. Using pre-fabricated code does not help in this.
3.3. Late submission
No late submissions are allowed unless you ask for an extension in writing (email) at least 24 hours before the due date. I will release answers to assignments 2 to 3 working days after the due date. The maximum extension I can give is until answers are released. For extensions beyond this period, please use the Extentuating Circumstances Application.