Table of contents
  1. Welcome
  2. Schedule and links to materials
  3. What’s in the unit
  4. Planning your time

Welcome

Welcome to Algorithms and Data! In TB2 we’ll be in the algorithms half of the unit, which is a direct continuation of the algorithms part of Object-Oriented Programming and Algorithms from last year. The focus will be on three key algorithm design skills, which will be useful to you no matter which language or programming paradigm you end up working with:

  • Greedy algorithms. In other words, when can you replace a complicated algorithm that carefully considers the whole situation with a simple algorithm that just repeatedly does whatever seems like a good idea at the time?
  • Graphs and networks. You were briefly introduced to these in Imperative Programming last year, and perhaps in school before that, but in this unit you will learn to use them effectively to model and solve unfamiliar problems.
  • Reductions. In other words, rather than writing your own algorithm to solve a problem, either making clever use of a library function or proving that no fast algorithm exists. This will include learning how to apply dynamic programming techniques, which you were introduced to in Algorithms last year, to unfamiliar problems.

Most of the material below (especially recordings of Q&As and problem classes) will require you to log in to University of Bristol systems. In any given week, you should:

  1. Watch the videos. (Don’t just skim the slides!)
  2. Do the weekly quiz to check your understanding of the basic material.
  3. Come to the problem class the following week to learn how to apply the material to unfamiliar problems - these are half-lecture half-lab, not just a place to work on the problem sheet.

If (and only if!) there’s part of the material you’re having trouble with in steps 2 or 3, first make sure this isn’t a mistake in the video other people have already noticed - if it is, it will be posted as errata and linked directly from the video below. After that, your best options are:

  • Come to the weekly Q&A, where you can ask the lecturer questions either directly or anonymously via Padlet (linked below).
  • Come to the drop-in sessions, which will hopefully be near-daily Monday to Friday, to ask a TA.
  • Ask on the unit Team, which is monitored by both TAs and the lecturer and should get a response within a day.
  • Check out the recommended reading for another perspective on the same material.
Week 13 Friday 2025/01/16
Materials released
1-1: Unit introduction
(Video, slides, handout)
1-2: Induction
(Video, slides, handout)
  Optional resources 1-3: Defining O-notation
(Video, slides, handout)
1-4: Using O-notation
(Video, slides, handout)
Errata here!
  Friday 2025/01/23
Quiz 1 due
Monday 2025/01/26
Q&A 1
Friday 2025/01/23
Problem class 1
(Sheet)
  (Optional: Dummy quiz
to test your browser works.)
   

What’s in the unit

For more details on any of this, take a look at the first lecture video above.

Video lectures will be released every Friday evening, at a rate of four 15-25 minute videos per week. Everything in these lectures will be examinable unless explicitly stated otherwise, so you should watch them all carefully and make sure you understand them well. You should aim to watch all of them before the quiz deadline that Friday. Please do actually watch them rather than just skimming through the slides - some things are much easier to understand when someone’s talking through them!

Textbook readings will be released at the same time as the video lectures, if you’d like more information or more detailed proofs. They are all completely optional and non-examinable, but they’re a good place to try if you want another explanation of something.

Blackboard quizzes are weekly summative exercises covering that week’s material. Each quiz will be released on Friday evening, and you should get it done before the problem class on the following Friday. They will be automatically marked as soon as you submit them, and you will immediately be able to see what you got wrong and why. Together, they will account for 10% of your unit mark. However, any mark of 50% or more on a quiz will count as 100% in this calculation - in other words, everyone who makes a reasonable attempt will receive full marks. All the material you need for these quizzes will be covered in the video lectures, but you are encouraged to use any other resources you find helpful, and to work on them together with your friends. They’re not timed, and you can leave the page after starting and come back later. In addition to being worth marks in and of themselves, these quizzes will be good preparation for the short-answer portion of the exam. Technically these are counted as a single “portfolio submission” with a due date of noon of Monday week 24 (April 27th), so you won’t accrue late penalties for missing one or two as long as they’re all done by then, but we very strongly recommend you do them as they’re released as a way to keep up with the unit.

Q&A sessions are weekly hour-long sessions in which I answer any questions about the unit you might have - for example, questions about the video lectures, the problem classes, the Blackboard quizzes or the exam. These will be run in-person but supported by Padlet, allowing you to ask questions anonymously during the session or or in advance before it (with TA moderation). Attendance is optional, but encouraged if you’re having difficulty with any part of the week’s material. They essentially take the place of office hours, letting everyone benefit from answers and explanations rather than only a few people.

Drop-in sessions with TAs will run several times per week. These are similar to “office hours” - you can come along without booking in advance to talk to someone one-on-one. The times will be determined later, and we expect to announce them in week 1.

Problem sheets are weekly formative exercises covering the previous week’s material. Each sheet will be discussed in an in-person problem class the week after it is released. These will be ~100-person classes led by John in the first half and Shuo in the second half, and they won’t quite follow the typical model of students doing problems while TAs wander around helping people. You don’t have to try the sheet before the class, or even look at it. You do have to bring a copy of the sheet and make an effort to understand the previous week’s material via the videos, Blackboard quizzes, Q&A, and asking questions on the unit team. The classes will then be a split between interactive lectures on how to solve problems and trying the ideas out for yourselves (either on your own or with your friends).

It’s also worth noting that you should not try to finish the problem sheets! They contain far too much work to finish them in a week without neglecting your other units, and normally we’ll only pick out a few questions to discuss during problem classes. The reason there are so many questions is that they’ll also be good preparation for the long-answer portion of the exam, so you can double back later on and use them for practice while you’re revising.

Planning your time

The baseline expectation is that as a Bristol student, you should be spending 40 hours per week on your course, i.e. the same amount of time you’d spend with a full-time job. This unit is worth 10 credit points out of 60 for the term, so you should aim to spend about 7 hours per week on it. Roughly speaking, that will divide into:

  • 2 hours per week on video lectures;
  • 2.5 hours per week on self-study getting to grips with the material;
  • 1 hour per week on the Blackboard quiz; and
  • 1.5 hours per week on attending the problem classes.

The self-study might involve e.g. going back over the lecture notes, or attending the Q&A, or looking at the textbook readings, or asking questions on the unit team, or trying questions from the problem sheet - the important thing is that you put the time in, and that you work in the way that suits you best.


This site uses Just the Docs, a documentation theme for Jekyll.