COMS10018 (Object-Oriented Programming and) Algorithms - 2024/2025 (TB2)




Welcome to the Unit webpage of the first year Algorithms unit!

Teaching Staff

Teaching Sessions

  • Lectures: Mondays 3pm (CHEM BLDG LT1), Fridays 9am (CHEM BLDG LT1)
  • Small group problem classes: Tuesdays
    • Group 1: Tuesday 9-11am - QUEENS BLDG 1.58
    • Group 2: Tuesday 9-11am - QUEENS BLDG 1.59 DES
    • Group 3: Tuesday 9-11am - QUEENS BLDG 1.60 DES
    • Group 4: Tuesday 9-11am - QUEENS BLDG 1.06
    • Group 5: Tuesday 3-5pm - QUEENS BLDG 1.60 DES
    • Group 6: Tuesday 3-5pm - QUEENS BLDG 1.68
    • Group 7: Tuesday 3-5pm - QUEENS BLDG 1.69
    • Group 8: Tuesday 3-5pm - QUEENS BLDG 1.06
    • Group 9: Tuesday 4-6pm - QUEENS BLDG 1.07
    • Group 10: Tuesday 4-6pm - QUEENS BLDG F.05

    Please only attend the problem class that you were assigned to (check your timetable for this)! The problem class in week X will discuss the problem sheet published in week X-1.
  • OPTIONAL: Drop-in sessions: Friday 1-2pm - MVB04.01 starting on January 24th (staffed by our excellent TAs)
  • OPTIONAL: Office hours: Thursdays 12-1pm - MVB03.06 (Christian's office)

Course Material

All lectures will be taught using slides. Slides will be made available online (below on this webpage). An excellent and more detailed coverage of many of the topics (however not all of them) treated in this course is given in: "Introduction to Algorithms", Cormen, Leiserson, Rivest, Stein, 3rd edition, The MIT press, 2009 .

Discussion Board

We will use the Microsoft Teams group for this unit as our discussion board. We wish to see active participation!

Assessment

May/June in-person exam - counts 50% towards your final grade in the joint unit COMS10018 Object-Oriented Programming and Algorithms.

Attention: The exam is a must-pass component!

Exam preparation questions: A collection of relevant exam questions from previous years can be found here. For solutions, please click here. To access these files you need to be logged in on blackboard. You can also directly access these files via the unit webpage on blackboard.


Schedule



Week TopicSlides
W13: 13 - 17 Jan

Problem Sheet 1
PDF solution
IntroductionPDF
Peak FindingPDF
Why Constants Matter LessPDF
Big-O NotationPDF
W14: 20 - 24 Jan

Problem Sheet 2
PDF solution
Theta and Omega NotationPDF
RAM Model and Runtime AnalysisPDF
W15: 27 - 31 Jan

Problem Sheet 3
PDF solution
Linear and Binary SearchPDF
Recap: Proofs by InductionPDF
Loop Invariants and InsertionsortPDF
W16: 03 - 07 Feb

Problem Sheet 4
PDF solution
MergesortPDF
The Maximum Subarray ProblemPDF
W17: 10 - 14 Feb

Problem Sheet 5
PDF solution
TreesPDF
HeapsortPDF
W18: 17 Feb - 21 Mar
READING WEEK
W19: 24 - 28 Feb

Problem Sheet 6
PDF solution
QuicksortPDF
Runtime Analysis of QuicksortPDF
Lower Bound for SortingPDF
W20: 03 - 07 Mar

Problem Sheet 7
PDF solution
Countingsort and RadixsortPDF
Recurrences 1PDF
W21: 10 - 14 Mar

Problem Sheet 8
PDF 
Recurrences 2PDF
Fibonacci NumbersPDF
W22: 17 - 21 Mar


 
W23: 24 - 28 Mar
W24: 31 Mar - 04 AprRevision Week, no new material