Course syllabus

Algorithmics is the systematic study of the design and analysis of algorithms.

This 30 point course covers all the fundamentals of discrete mathematics, data structures, and algorithms that a data scientist requires to do research.


Teaching Staff:


Tentative Lecture Schedule: 

Week 1: Logic (Boolean formula, predicates/propositions)
Week 2: Proofs (induction, contradiction, adversary arguments)
Week 3: Sets, Functions, and Counting
Week 4: Intro Analysis (big Oh/Omega/Theta, limit rules, properties)
Week 5: Tree/DAG/Graph Abstract Data Types (representations, basic algorithms: BFS/DFS,..)
Week 6: Overflow + Midterm test
Week 7: Greedy algorithms
Week 8: Divide-and-Conquer
Week 9: Dynamic Programming
Week 10: Network Flow (min-cut and max-flow duality)
Week 11: Intro NP-completeness (polynomial-time reductions)
Week 12: Overflow and review

Course Assessment (Updated April 2020):

Assignments at 20% x 2
Midterm test at 20% (Bakh)
Final exam 40% (Michael)


Coronavirus-related information:

The University has developed a website that contains a range of information about the virus and the University’s response, including Frequently Asked Questions. 

UoA Coronavirus Information: Link  
We encourage you to read the information on this website and hope that this answers your questions.  
If you require further information, there is a link to an online form on the website – fill out this form with your questions and a staff member from the University will be in contact with you as soon as possible to provide a response. 

UoA Coronavirus Query Form: Link  

Information regarding university policies and technical support:

Academic Integrity:

Aegrotats and compassionate passes:

Canvas help:

Language tests & support, DELNA / ELSAC:

Course summary:

Date Details Due