Video 0: Administrativa
CS 566 – Efficient Algorithms (Winter 2026-27) · unit page
· YouTube
2026-10-13, 49:15
The transcript was generated automatically by YouTube's speech recognition and is offered as is. It may contain errors, in particular in concerning technical terms, names and formulas.
0:02 Welcome to efficient algorithms. Welcome to efficient algorithm. For a few slides, let me switch back and forth. Um The goal for today is to show you a bit what this module will be about. Uh this module is a compulsory module for some courses of studies and is an elective module for others. So, that will depend a bit um whether you have a choice um how much you get out of today. The goal is to show you um what the plan is and how this module will be like.
0:42 Now, um I'm I'm supposed to vote um teaching this module and my uh um my post doc Tamio uh Nakashima is responsible for um taking taking care of exercise sheets and uh written material. And might also show up in some of the uh lectures and um one of the tutors is also here, Vladimir, and uh we have a second Alexander who is taking the other uh tutorial.
1:17 All the relevant information is on the module website, so that's the first thing that you should keep note of. I tried to put all information that can be on a public website on the public website. So, it's easy to find and quick to access. And there's links to the other uh software systems that the Uni has on there. Uh we'll use a few things that if you've done lectures with me before, will sound familiar. If not, I'll comment on them in a second a bit. Uh what you can already do is um join this campus wire forum. For this, you will need this this uh PIN number uh that is not to be found anywhere else. There's a link on the website that brings you to this join link. But it only this campus Wi-Fi only lets you in if you put the right pin in. Now the slides on the website are in a way it's also public.
2:12 But still you need to dig it out from the slides. A note on language and the mixture here. Uh So the undergrad module's supposed to be in German because the whole degree program is offered in German. Uh but it's also a bit silly to pretend that mhm everyone speaks German in the room whereas most people speak speak English to a degree that they can follow. Uh like it or not you'll have to cope with English at some point. Um I revisited these slides and this point I changed that that used to say oh an AI can help you with bridging language gaps and it can. Uh but also I would turn this around. You want to learn proper English and express yourself fluently in English because that's the AI native language. That's where the most training data is there and where much of the tools work best with. I think that's another interesting reason why a certain mix of languages is good.
3:47 For most of the lectures um I'll switch back to talking in German. Sort of required to. The slides are in English and there's the YouTube recordings uh where you can in principle get live captions and also the translation of the audio is is rather good sometimes. Uh so let's let's give that a try. Um also of course you're encouraged to learn a bit of German so maybe with the mixture of written and spoken uh everyone profits a little bit and everyone uh struggles a little bit.
4:29 Any thoughts on this uh from from your side? Um at this point maybe let me switch to a question here. We'll come back to um the normal reasons why I'd like to use a system like Slido where you can uh give some feedback. Uh I think it fits here though to have a bit of an overview of who is in the room. So you can um either scan the QR code or go to slido.com and type this this short code for efficient algorithms. Um there's also a link on the module website. And I encourage you to always bring some device to make the uh to be part of these polls. It is my little psychological hack to get you at least to do something. If nothing else than at least to tap on on one answer once in a while. Um make sure you're awake but also I'm I'm normally using this for content questions to see how uh people are following how people are following and whether things stick.
5:54 So from looking at 18 is almost the room size maybe a few more. First of all, is anyone having trouble joining Slido or does it work for all who have tried and have a device with them?
6:37 Anyone else still trying to get the answer sent? Okay. So then we should have essentially half in master's computer science. And that might be international students. We have a few handful of computer science in undergraduate in undergraduate for which this is elective and for the data science undergrad it's a compulsory module. There will be many more than these seven. I'm sure they're all indulged in the recordings or they will at some point speak up.
7:22 So I I guess again the question for the master's computer science students should have put an extra question. Is this for an exchange program or are you here for the full degree program? Maybe you can have a quick show of hands who's here for just a term as exchange student?
7:42 Okay, then that means I guess uh, the converse, you're here for the degree program. Cool. Okay. Uh, if it's half the audience, I'm a bit reluctant to switch to German for all of this. Let's maybe do the following, if if it turns out that from the people in the room, the majority is English, let's stick with English. I think that sounds fair. And if the undergrads who depend on this more because it's compulsory, uh, utter the wish for me to speak German instead, then I'll wait for that. I'm only roughly looking in a certain row, but, um, nobody seems Okay. Let's let's stick with English for the moment, then.
8:46 You've already seen Slido and used it. Um, I'm trying to get you, uh, a bit more active than a lecture would otherwise have it. There's two features on Slido, though. One is the poll, which is what you've just seen, and you can also ask questions in the other direction. Um, also anonymously, if you prefer. And I'll try to keep an eye on the questions. Sometimes I collect them and at the end of a certain topic, we'll go over them. But, uh, that shouldn't stop you from also just shouting into the room or raising your arm or, uh, make yourself heard in other ways. It's just an additional offer to get in touch or to, uh, ask a question.
9:41 Have we covered? Um I have a few slides on on philosophy. I'll try to go through these rather quickly. But still I want to give a few justifications for why I do the things how I'm running them. Um many people have experimented with different modes of teaching in particular doing flipped class, which means you get material recorded videos or textbook chapters or any combination of of these. Are told to look at those up front and then the lectures themselves, the live sessions are replaced with uh some sort of question and answer sessions and I was not very happy with how these went. Maybe it was my fault, whatever. But the end conclusion is I'm uh I have a strong preference for live lectures because it means that at least these two slots a week you're you're here anyways and likely means you're focusing on the material. Of course, you can also sit here and uh I don't know watch Netflix with headphones. Then it doesn't work. But the incentive is is a bit odd. Why would you?
10:49 Uh I give you the option to stay home and do the live stream if you prefer. So I hope that um for those who are here in class, it gives them a focused focused environment.
11:05 That's it. Um It's good to have other ways for people to engage, in particular ask questions because otherwise not uh a large group of students do. And so both is fine. Um raise your arm, shout into the room, or use Slido. Then uh everyone can have their say.
11:28 At this point um Let me mention that um I aspire to record all lectures and live stream them. If it ever breaks, then that's tough luck. But, it seems I'm getting a bit better with not screwing up the audio setup too much. Um On that note, >> [snorts] >> uh you can essentially Sie können sich die Um the question is whether the videos from last year are essentially the same. Die Videos vom letzten Jahr sind auf Deutsch und um großteils bleibt der Stoff der gleiche. Um An paar Stellen würde ich das Modul ein bisschen mehr darauf ausrichten, was wir in Algorithmen und Datenstrukturen schon vorgearbeitet haben. Bis letztes Jahr war es ja so, dass Algorithmen und Datenstrukturen von einer anderen Arbeitsgruppe beigesteuert wurde und dann waren teilweise so ein paar Sachen bisschen gedoppelt, die jetzt in Algorithmen und Datenstrukturen sind, würde ich dann hier nicht noch mal machen. Aber effiziente Algorithmen war eigentlich immer schon ein wenig zu voll.
12:40 Also, wahrscheinlich ist die sind die Videos vom letzten Jahr bis auf das allerletzte Kapitel vollständig oder umfassen, was wir auch jetzt dieses Jahr machen. Und im letzten Kapitel mag sein, dass wir den allerletzten Teil wieder reinnehmen können, was Ihnen jetzt nicht so viel hilft, aber ich kann es noch mal äh genauer dann auszeichnen, äh welcher Teil eventuell fehlt.
13:03 Den habe ich aber in dem in der Ausgabe vor zwei Jahren gemacht. Also, wir könnten wahrscheinlich eine Playlist zusammenstückeln, die den Vorlesungsstoff abdeckt. Und dann können Sie die auf Deutsch schauen, wenn Ihnen das lieber ist.
13:27 Also, I think it's it's not written in stone yet that the lecture is in English. Okay, if if people are struggling heavily, maybe we have to give preference to those who do this as compulsory module. Um I encourage you to try, but also let me know if you're really having trouble with it.
13:51 Apart from the lectures, for which we are already here, that's of course in a way the main show. However, um in terms of the learning, almost as much will happen while you're doing tutorial questions or exercise problems, and uh in the tutorial sessions hear about the solutions, discuss solutions, do in-class exercise sheets. I'll come to those. Um the lectures are complemented with the slider questions that you've seen by now. Um outside of the usual contact hours that we have, there's campuswire as an online forum where you can ask questions. The goal for that, I'll comment more on that, is essentially to allow everyone to ask questions to me and us, but also to the rest of the group. And if you do ask questions and we give answers, that everyone can see the same answer. So, that's kind of um available in the background. We'll try to collect exam questions as a collaborative effort. This is in a way one big uh say like an overleaf, but at an alternative website that allows a lot of people to participate. There's a LaTeX document online that you can uh collectively edit and collect questions for the final exam.
15:15 And if you post good questions there, they might well end up in your exam. So, um try to think about that a bit. And then, of course, the final exam is there. Uh, regulations enforce that the final module mark is identical to your exam mark. And everything else leading up to that is essentially just, uh, uh, preparation for the exam. That's my understanding, my reading of the regulation. And so, we're kind of bound to that. Um, we'll we'll try to make the way they're use as useful as possible.
15:57 Speaking about the tutorials, um, there's there's going to be more about this, but let me ask, uh, well, if Vladimir is here. Uh, we had to change the Thursday slot. Originally, the plan or what was carried over from last year without much checking was two tutorial slots, one on Wednesday at 10:00 a.m. and one on Thursday at 10:00 a.m. But, the Thursday 10:00 a.m. we have to move forward to 8:00 a.m. Or 8:15 and 10:15, I should say.
16:26 Uh, since we had to do this a bit last notice, how big of a problem this is for the group here. Now, I apologize I apologize for the German question. This was, um, without knowing who'd be here, the question says, "Does the Thursday 8:15 slot, so 8:15 to, uh, 9:45, does this collide with another lecture that you have?" Uh, the reason to ask is we have this extra slot, but if now, well, hardly going to happen, if 50 out of 60 people would say, "Ah, Thursday morning I have this fabulous lecture that I can't miss." Then, we could try to find yet another slot. But um, um it's a bit tricky. So, if if anyhow possible, we would keep it. And you still have the choice between the two slots subject to the capacity of the groups.
18:17 So, in principle, the tutorials are roughly at capacity if and that's a bit of an unknown if everyone currently on ILIAS is actually taking the module. That means all of these master students for which this is an elective, they should choose to stay and take the module for credit. I mean uh I'm I'm not trying to scare you away, but usually a few people decide to do something different. That's one one fact. Of course, there could also be other people that haven't found ILIAS yet and are not on that module yet. So, I don't know how many how um full the tutorials will be.
19:04 Okay, at least it seems most people don't have a hard conflict. So, let's try with that. Um that's the module website maybe good to show either way.
19:29 And that's for efficient algorithms. Uh here are these various links. it brings you to these um to our ILIAS course with these two tutorials. To join either of them, you need the group password and I'll tell you at the end of the session today so that you're still focused now on the content and can sort into groups later.
20:01 Did I cover everything about tutorials? Alles gedacht. Content-wise, um what is this module about? Efficient algorithms. It is about building or say extending the basic toolbox of algorithmic methods. Uh we started building this in algorithms and data structures for those who did undergrads in in my work where we uh did say the uh somewhat simpler versions of some of these. And here we extend those to um a larger range of problems and some more sophisticated or more powerful methods. In particular, in algorithms and data structures, we looked at some isolated examples but not at uh not at in full breadth at the design techniques to design new algorithms for for novel problems. And that is going to be a a focus here. We'll also dig in several ways a bit deeper into the methods that we've already seen there. Uh with this largely with a a larger focus on proving that the algorithms are correct and that they are fast.
21:24 Whereas algorithms and data structures, the precursory module, has a stronger focus on implementing things and seeing things work in practice. The extension is more important than ever because uh it seems easier than ever to get some sort of running code. But being able to to reason about it analytically and and be 100% sure that it does what you expect your code to do um seems not any easier. Uh AI tools seem uh not so good after all at doing this even though uh they can do lean proofs and all these things. It's uh if you if you look closely, all a bit limited. Um if nothing else, then these things that we discuss are the vocabulary of the experts. The most effective software developers these days are senior developers who may not have coded just as much day-by-day but are now using some generative models. But with their experience on how to build architecture and often times they are more effective because they have the right words to put complicated concepts in short sentences that's are still precise.
22:46 That's a sort of art to master that has always been my selling point that theoreticians are good practitioners because they practice day in day out to structure their thoughts clearly. A bit slower initially, but then eventually the better design is more maintainable. And it seems this point seems to be even stronger these days. Of course, it's all a moving target and uh who knows whether maybe the part of that can also be automated, but I'm I'm cautiously skeptical, say.
23:22 So, it's useful to know the um the words, but also to know what is behind that. So, that you're not sold some snake oil. What we'll look at is uh we're currently here. We'll look at some some proof techniques that apply for um correctness proofs of algorithms. Uh we'll share we'll look again um at a formal model for what computation is. A brief recap from algorithms and data structures. A more deep dive into various methods that look on essentially one-dimensional data, sequences and strings. Uh bit of compression algorithms, and then we go back to graphs and the general algorithm design techniques.
24:12 And at the very end, a bit more advanced topics on texts. Um They're a bit dependent on how much time is left. Uh These are um the last one is a bit more advanced. This is the one that that last year got got cut.
24:42 We'll also have to do assessments. In the end, you need a mark for the module. As I said, this is the final exam. Uh that's what counts. You can find the dates on Marvin, I think, already.
25:08 There we are. So, first exam late February and then late March. Uh lovely down in the city again. Anyway, uh two written exams. These are centrally scheduled as you may know.
25:34 Um to pass the module, you have to pass the one of the two exams. Uh Now, the material is everything we we discuss here in class, but also what we discuss in the tutorials. And the same rules as in most lectures here, you have to do the exam the the exercise problems, excuse me. Uh 50% in total of the points over all the exercises and at most two sheets with a zero where you didn't hand in. Same rules as as most of the time. And you can submit in groups.
26:15 Is the 12 plant exams is that still up to date? The tutorials, um I think the plan is to have them come out on Friday.
26:37 And then you have time till the next Friday to work on them. They're handed in on Ilias. The the sheets themselves are on the module website. And the hand in is on Ilias within your tutorial group.
26:50 And you should submit in groups of three if somehow possible. Uh that gives a good balance between the marking effort and still getting individual feedback.
27:05 It's a mix of uh questions that just expand a bit on what we've covered in class, but also old exam problems. So, we try to make those uh as authentic as possible for uh preparing you to for the exams. The tutorials are then uh weekly slots where well, Wednesday 10 or Thursday 8 where you meet and discuss the solutions. Um and we also have some in-class exercise sheets. These are shorter and they're intended to prepare you for the upcoming submissions. So, you work through some example problems there that are of a like limited or a more restricted version of what you then have to submit in the hope that this makes it a bit more bit easier to follow.
27:57 The main goal of the tutorials and the exercise problems is to help you learn this stuff that we're discussing here. Uh it just happens to be that some of these algorithm design techniques are best learned or maybe only learned if you apply them. And that needs practice. The second thing is writing down the solution for these problems and and formulating a proof of correctness also seems something that's very hard to learn by just observing. So, treat the tutorials as the opportunity to practice that in again an environment where it doesn't count. So, you can make mistakes, all not bad. Uh in the tutorials, the 50% for being admitted to the exam is not intended to be a hurdle of any kind that is hard to meet. It is an incentive for you to engage with the problem sensibly.
28:55 Now, of course, that said, uh here I I was visiting the slides again from last year, and time is moving fast, huh? So, the 2025 version still had a couple of other tools here, and people still spoke about um media generators, in particular this image which which was one of the first AI-generated images where artists said, "This is somehow worthy piece of art in some sort of some form." Uh we've moved a bit beyond that, but it's funny how my conclusions from back then haven't really changed. And so, I I thought I'll I'll leave it more as a sign of uh how fast things are moving, and yet some things do stay the same. Uh even even the term GenAI is kind of a bit dated. So, all of these tutorial problems, first of all, they're rather standard. I mean, I'm not I'm not saying we don't have a few original ones that nobody else has has posed before, but they're all roughly in uh university-level algorithms class.
30:09 There's a few of them around the world, and there's a few of them that the AI labs have included in their benchmarks. It's very hard to find problems at all at the level that are suitable for a class like this, and which are not solved by AI. On uh here I'm I want to stress that this is partly impressive that the systems can do this, but also because they're very close to the training data. There's just a lot out there for these uh models to learn from that is very similar. So, the fact that it works so well on these problems and not so much on research problems that I've just tried from last week when we were at a a research seminar. And it didn't work at all in in any sense in any comparable way. Uh that's also because there's so much training data that is similar. Uh be it as it may, you can most of the most of the tutorial questions you can ask in such a class, you could solve by AI.
31:15 But you shouldn't. There Point is it's tempting to use a tool that uh does your job for doing your job at uni and um spend the time doing other things or just don't struggle with the problems. But it is bringing a forklift to the gym. You get the weights lifted.
32:04 Uh you don't dope your you don't take uh performance-enhancing drugs during training. It's It's already bad during a competition because you're cheating. During training, it's outright stupid because you destroy your body and you don't win anything but the training. Same for the tutorials. It's going to be rough under a time pressure or supposed to deliver something when the temptation always is, "Oh, well, but the competition is going to do it with AI faster." It's going to be rough enough in such a scenario to do a diligent job. Don't do it in the tutorials where you have normal time. They are scaled to take as much time as a human without AI tools needs to do these. And it doesn't count. Like if you don't succeed in some problems, no problem. So, take your time and embrace the struggle with some of the puzzles. I'm not going to say the questions are easy. They are also not easy for us. It's tricky stuff to get proofs right.
33:10 It's a challenge. And you may be tempted to automate it, but don't. Don't cheat yourself. Don't take away the thinking from the assessments. I hope that the more operationalized instructions, what that means or it doesn't mean, follows from that. You can of course use tools for language polishing or for research, for collecting references. But you shouldn't use them to essentially solve the task for you.
33:57 And at the end of the day, I can only appeal to your own self-interest here. One last thing. And those of you who have seen this before, I'm I still think it's it's useful to ask this question once in a while again. This is from um a survey on self-reported cheating among students. And let's take it for the context of homework problems where it is relatively easy to cheat. And in a way um the chances of being caught are rather rather slim.
34:56 Okay, sorry. I think I deleted this question. Let me open it again. Okay. Now you can. I'm going to show you it in the second. So, where where this comes from is a study where students were asked whether they cheat, self-reporting, anonymous, and all sorts of other things. And then uh this the researchers looked at correlations between these two things. Did the students that cheated on exams also do XYZ? It's of course a correlation, not a causation, so we don't know which way causation flows in this case. But there it was rather um remarkable that there was an outstanding characteristic that the students that cheated more also showed. And um I think it's is an insightful one to think about.
37:10 Uh By the way, I might say this is a few years old, so this was pre-AI at the current level at least. And it's it's rather um a thing about other decisions of these students, not so much the work that they submitted. But this is a a survey where students reported what they do.
37:40 Okay, some some of you may may know this from um a previous module. Yeah, being being anxious to um make mistakes is probably also up there.
38:01 Good old laziness. Laziness was funnily not such a good predictor for this apparently. It's not that uh cheating is just done because people don't want to do anything.
38:19 Uh the the writing styles and this this point about an anti-correlation between exercise problems, exercise points, and then exam results. Uh that's that's probably what flows from it. Okay. Uh lack of preparation to some degree probably as well. Uh But the experts in the room singled out the answer that came from this study. Uh students that reported that they suffer from procrastination were most likely to also report that they cheat on on on assessments. Uh If you want to see a bit more about the full story, there's a YouTube video where some researchers explain the finding. Now, in a way this is positive news though, because procrastination means people spend time on things they would in hindsight rather not have spent time on. And uh then as a consequence, they don't have time to do the work they were supposed to do in that time slot. But really what they lack is time management skills.
39:32 It's not that they're incapable or that they're somehow inherently lazy and there's no way to fix it. It is rather easy to fix with better time management skills and maybe a little bit of of discipline and diligence. Uh all not always fun, but it's rather easy to improve. And um the students of course themselves reported that they don't have time. But this is objectively uh questionable. We all have the same time subject to um responsibilities in life that may differ a little bit. But essentially it's the management of your time. So try to not get into this mode that you're always in catch-up. close to the deadline, the panic starts, and then becoming desperate, you go for the easy solution. Try to plan your time so that you have enough time to work on the problems and make a genuine attempt. Um and rather plan for some for some fun stuff afterwards.
40:40 Overall still, I think it's a positive message. Something you can do something about, and it's rather easy. There are rather easy systems you can try out that are just little psychological hacks to improve your time management.
40:57 Okay, let's leave this um this chapter on on AI and cheating and uh with my my plea to you to not cheat yourself. Uh a few comments on Campuswire. This is uh as I said an online system I'd like to use for questions outside of class time. Um you can join here again with this with this PIN. It has basically two features. The chat rooms are a standard chaotic group chat um that we often don't use that much. The main feature that we use is the class feed where you can ask questions and other people can answer them. It mostly looks like Reddit, I would say. So, there's questions at the top and then answers below. And depending on how many people upvote or react to an answer, it moves up in the ranking or in the list.
41:54 The main use case is you have some question that concerns material for from the module, and you can type them up on on Campuswire if we're not already here in class. And then somebody else can answer it either from the audience or from from us. And uh if somebody else answers it, we win twice. The person who asked the question hopefully gets an answer, and we'll go over the questions and answers, uh, once in a while and and see that we comment on answers that may be uh, lacking a- an aspect or so. But, also the person who wrote the answer learns probably even more. Uh, whoever if if anyone tries to explain something they thought they understand to a third person who doesn't know it yet, that's usually the point where you really find out if you understood what, uh, you thought you understand. Especially with the well-prepared videos or maybe lectures, everything sounds very smooth and it just flows through, and then at the end, you're convinced, "Ah, this sounded all very logical." If you try to reproduce this, maybe not so much.
43:05 So, I'm, uh, answering other people's questions is almost as important as, um, thinking about good questions. You can also ask private questions. Everything you do in Campuswire, you can you can, uh, choose to be anonymous. Um, in case you're not, uh, in case you feel better about that, that's fine. Campuswire is an external system. Um, you're not forced to use it. I encourage you to do, uh, because I think it's better suited than the alternatives I know. And, uh, feel free to use some some fake names, but I think you have to use a uni email, otherwise it doesn't allow you to make an account. It's restricted to the uni domain.
43:57 Apart from having a nice platform that's a bit more convenient to use and you can write markdown and LaTeX formulas, uh, without much, uh, without any any extra plugins, um, I think it's superior to the traditional model of of class office hours where people can come and ask questions and everyone gets a slightly different answer and nobody profits from the time that we spent together outside of the people in the room. Whereas for Campuswire everyone gets the same questions and answers and you can all improve your your answers and so on.
44:38 What this means is I will by default redirect you to Campuswire unless there's a reason not to. Uh, especially if it's a question that just concerns material from the class where others might also profit from seeing the answer. I will also hold back with answering questions if they're not urgent or not about organizational things in the hope that maybe some of you might might step up to the opportunity to learn something by answering. In the past this often worked rather well. It ended up being only few people that answer many questions but they did and anecdotal evidence says they learned a lot by doing that. So, let's try that. Um, I will even if some students answer will go through the questions and as a way to kind of endorse them, put a thumbs up so that you see yes, this question was answered by a student but it's been read by us and we agree that this is correct.
45:46 Last online system, I promise. Almost. Is Ilias, the official official university online learning system. Um I'm not in love with the system. It can do everything and everything is painful to do. So, I'm only using it for wherever data protection makes it necessary. Anything relating to marks and assessments.
46:10 Uh but of course um for that it's important and you will hand in your exercise sheets there, so make sure you um are subscribed to the course there.
46:24 The very last online thing which we can postpone for the moment is um this uh exam question gallery that I previously mentioned already. An attempt to collectively collect questions as a group and uh we're continuing from where the last year group left off. So, there's already a few exam question suggestions from last year. And you can add a few more and I'll comment on whether they're realistic for our exam. I think that the problem is always was if you pose really good good questions, we'll pick one. Of course, what what really good means um is a bit vague.
47:13 That leaves me with a comment uh on the philosophy for this module. Uh we hope to do algorithms less in this way where you type something up, you code something up, and sometimes it works, sometimes it doesn't, or you're not quite sure why the tests fail or why they work. I'd rather have um something akin to this. Uh so, the comic is a conversation between teachers. And one says, "The world is so complicated. The more I learn, the less clear anything gets. There are too many ideas and arguments to pick up pick and choose from. How can I trust myself to know the truth about anything? And if everything I know is so shaky, what on earth am I doing teaching?"
47:59 I guess you just do your best. No one can impart perfect universal truths to their students. >> [clears throat] >> Except math teachers. Thank you.
48:12 So, the universal truths of algorithms are what we focus on, which means um a little bit abstracted from precise code that runs on machines, which means we need mathematical models of all the things that we talk about. That's coming up with the next unit or the unit after. A model for the machines, a model for the programs, a model for the data. All of this will stay still very close to what is relevant in practice, but it means that we can prove things with mathematical certainty that otherwise um we would be more trapped in eternal insecurity.
48:59 Now, for this goal, we need a few techniques. And the first round of these are techniques for mathematical proofs. Many of you will have seen some of these, so it's a bit of a recap, but I think worth worth doing.