COMP 526 – Efficient Algorithms (Fall 2022) · unit page · YouTube
2022-09-26, 34:52

Click any sentence to play from there.

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:00 Module introduction

0:02 welcome to com526 which is called efficient algorithms it's an MSC module that is now offered in the first semester instead of the second and is now offered for a lot of courses instead of just a few of them so there will be a few things in the flux especially in terms of the administrative side if it ever says applied algorithmics somewhere that's the same thing we renamed it to better reflect the content and I did my best to rename it in all places I know of and which are under my control which is not the entirety of this planet unfortunately

0:47 um yeah I split this up into units so it starts with unit zero which looks a bit silly but it'll make more sense later on um I'm Sebastian your instructor I'm an assistant professor in our department of computer science uh you can find me in in my office if you have questions however we'll get to more efficient ways to reaching me uh email is certainly one of them and we'll have uh tutorials as well in smaller groups and those will be led by Ben Smith my PhD student more on that soon as well they will only start next week so uh no need to worry about this for the moment the first important bit is the module website uh I hope and guess many of you will have found the links to it via canvas and all the other means uh but that's that's the main source of information around the module sure

1:53 so whatever um whatever concerns the module and is trying to be on a public website will be there a few bits and Bobs might go into canvas if there's legal requirements uh basically anything that has to do with your personal data has to be in canvas that in particular means any kind of Assessments marks comments feedback for that

2:16 otherwise I keep things on the publicly accessible website it's just more convenient I will live stream and record the lectures as you have seen however there's some interactive bits so if you can't make it to class at least try to join on the live stream because you can still join on on slido on those questions so you don't miss out on those uh there's the recording so the live streams on YouTube the recording will also be on YouTube so you can still access the material but experience shows that uh results are called good marks are correlated with good uh interaction in the lectures say I'm not a big fan of attendance uh in itself because you know you can't be physically present and sleeping however um the university introduced the new attendance system and I'm not 100 sure if we are obliged to use it at MSC level or not sure do you have any information on this are you expecting a code from me you do okay I can get one from the timetable maybe let's do that first so um I don't want to get you into trouble

3:42 as I said I think it's it's more important for me that you engage and uh there's various ways to do that foreign so that's that's the code I get from the timetables and you know what to do with it it looks like it

4:22 I was really hoping we escaped this at Mac level because we didn't take attendance in luxurious in the past not at MSC level is fine for the for the kids in first year right they need to learn what uni is like and that you can go drinking but you have to get up in the morning either way that's all good and fine uh but I guess you you guys would have figured that out as well

4:49 Communication and feedback

4:52 okay back to more module related things again I'll keep the code there is a few uh a few important pointers I want to list here and uh the first one is campus wire I already announced this this is in a nutshell it's a question and answer platform it has a few advantages over a few other systems so bear with me that there's other websites on top of what the uni systems already provide but if you've used the forums on canvas you would probably agree with me that this is better it's just a few extra features you can ask anonymous questions which I think is sometimes very convenient and useful and it's overall a bit of a nicer nicer interface you can write markdown and you can write latex formulas if that means nothing you don't worry but uh if it does then maybe you appreciate the the nerdiness of that platform compared to canvas um you will have to sign up for that and you need a PIN a little code so this the link is on the public website the code is only on the slides which I put on the public website but no one so far joined who like Disturbed our Inner Circle so um uh at least sign up there I want to use

6:11 this not just for your questions but also for announcements it's just a little quicker to get them out there only the hard examination related things will also be on canvas um

6:27 there's one more thing I wanted to say about campus wire I can really briefly show apps lights on this later I'm rushing ahead of myself the second thing is slido as you've used a few moments ago is for feedback during lectures it's just to make it a little more interactive wake you up once in a while um I'll also use it for some questions that test your understanding so it's a nice way in in lecture to check am I just nodding along and actually not following or did I get what what's behind this is usually fairly superficial but still uh it's It's very effective in testing if you like cut the basics so I'll try to use that as much as possible you'll probably care about the assessments there'll be assessments uh we have a final exam which is uh 60 of the final Mark and we'll do some continuous assessments to complement that so 60 is about the lowest you can go without getting into all sorts of hassles uh there are modules without exams at all but I'm also not a big fan of that but I like to have a larger portion of the mark come from continuous assessments it's just not putting so much weight on a single day you know

7:11 Assessment structure

7:45 we'll get to that now let's try to exercise the slider system or one more thing and this is a little about a little bit of teaser into the next slide for how these lectures are run and hopefully that's something that um you enjoy that was

8:19 um question on slider for my slides so you always have to wait for me so the first person liked asynchronous online and was the fastest to vote is there a correlation between tax heaviness and the reference

9:33 if you're done voting then you can join enjoy seeing the bar shift around if you haven't try not to let yourself influence from it foreign asked the same question in the last two years in obviously different circumstances I was about to take the question out because it's not as relevant anymore I thought but then maybe it is because people are still using their lecture recordings people are still more experimenting with what lectures could be like

10:17 there seems to be some preference for face-to-face lectures though but ideally in small groups which I can fully understand and then synchronous online comes before face to face just slightly okay A bit more okay I didn't count how many we have in the last question

10:49 we have 78 votes on the first question 57 is someone still actively moving things around or mostly done I'll leave it open I mean this is this is basically just uh or my curiosity um

11:10 I totally agree with the first one I think this is this is the best it's just super expensive and doesn't scale so it's hardly any any University affords to do that or or the majority of lectures uh we'll have the tutorials which go a little bit in that direction um

11:31 synchronous online people hate it when they had to do it um now it seems more popular that's interesting now you can do that for this one at least you can stay home if you if you want and join online um and then you can put this to a test and well limited interaction uh was the other alternative I think I yeah I only put face-to-face lectures like this are by default limited interaction and there's nothing we can do about it slido is still very limited all right thank uh thanks for playing along with this uh

12:14 good so what I try to do um apart from the obvious things like uh explaining things intuitively well it's never hurting right and having structure I hope you will recognize this um by yourself and agree uh the other thing is I definitely think synchronous lectures work better than videos I tested this for myself now that's sample size one but it's very hard to stay engaged with recordings so even though we all have fancy video recordings or many of us have fancy video recordings from the pandemic I don't think that's a replacement for lectures and I mean the University of Liverpool at large also doesn't think that but yeah um one could have come up with that idea however uh the life lectures have the problem that just by the size and also by the nature of putting your hand up in this uh in this space you only get a minority of students to engage because they choose to or uh because it's just not enough enough time um whereas some sort of digital help can mitigate that a bit I can at least get you to click that usually works with almost 100 response rate whereas if you if I were to ask do you like slido do you not like it are you indecisive

13:40 you're neither right because it just it's annoying to put your hand up to these questions I hated it whereas um online is less intrusive I don't know why it's psychology I guess uh so we'll have these little slider things um but enough talk about that what are we actually going to do we'll have lectures like this um two slots a week that's where we'll discuss material the actual algorithms when I say algorithms I mean the real algorithms mathematical algorithms not the AI fuzzy algorithm thing that decides what you see on on your Twitter feed or whatever uh there's other lectures for that um they are very interesting uh but they're not the type of algorithms we'll look at here uh slider questions to go alongside with that said that many times uh the tutorials will cover certain aspects of the lecture and go a little bit into detail there and they will do that with questions so you'll get um exercise sheets with questions that you are supposed to prepare and the tutorial tutorials will discuss how to solve those is most effective if you solve those and write something up before you go we don't have the capacity to check them every week but uh it's still good practice for you to do that and check

13:54 Teaching methods and goals

15:00 yourself so it's it's not forced but they tend to be much more um effective if you try to solve the questions before coming throughout the term we'll have campus wire open uh I'll say some more about that later we have a few class tests so the 40 mark that is not exams is split across different things um one chunk will be programming puzzles that's half of the forty percent uh we'll start with that in in two three weeks so uh not not to worry about that now it's it's basically a combination of solving algorithmic puzzles and a tiny bit of programming alongside because the audience is very heterogeneous uh I don't rely on much coding skills especially now that it's in in the first semester we have some people from conversion Masters that don't have a computer science undergrad I don't know if you realize that or if that if you chat to people here you will see it's it's very mixed uh so the focus is on solving puzzles a little bit of programming to frame it and to make the puzzle solving more more effective and then the other bit is class tests now uh is a bit of a misnomer just because we don't have a category for that it's officially a class test but

16:22 really it's a canvas quiz and what we'll do is um it'll be little problems where you execute some algorithm on an example um and you'll have a practice question where you can try as often as you want and then the real one will be the same type of question but obviously a different example

16:47 I'll try to get started with those relatively soon but also not before we covered some material but I wanted to mention that already that brings me to the actual content just uh very rough um what are the the goals um of the module this these are effectively the learning outcomes but uh rephrased a little bit um what we'll do is cover fundamental algorithms and data structures and a few more more advanced ones and this builds a toolbox for you to use in solving other problems and like with every toolbox you're not usually just using one thing and that fits you have to combine things um but um is also tough if you don't have names for the tools so it's a lot is about communicating in terms of algorithms and data structures with your future peers colleagues they expect you to understand if they say uh I don't know an augmented binary search we should do uh you should you should be able to nod along and say yeah I know I know what that is and I think I know why it solves the problem things like that and they come with a certain level of abstraction so you go away from very concrete problems and go to a class of problems that are solved by the same thing

18:12 that allows you to get more effective and makes you a better coder I'm I'm very convinced about that and we'll talk a little bit about um the underlying mathematical techniques and and proofs and so on

18:32 the modulus divided into roughly 10 units for the roughly 10 weeks of teaching that'll only be true on average so some modules are some units are a bit longer some a bit shorter um I don't want to say too much about this you'll see what that is at the time we'll we'll basically talk about some some Basics what's behind uh the abstractions we're working with look a little bit at some Basics that some of you will have and for others I will quickly run you through and then we'll dive a bit deeper into uh methods for string and text

19:19 I said something about the assessment already the 60 for the exam and the other 40 are broken down like this two programming puzzles with ten percent and then 15 of the class test now you may notice there's five percent left and that's for just clicking Along on slido so that's why it's really important for you to sign up on slider with a University email account just so that I can link you to the appropriate account on canvas for the participation mark if you signed up with some other email you can change it you just have to uh on slido I think um I don't see it in my view is it this this little circle with um your account and you can change the email there or sign up a fresh um if you do it at the beginning of the term not much lost

20:18 I already talked about the class tests I think so not much more to say there is the the questions that are popping up in the class tests often are old exam questions I just recycled some of these old online exams so these are real questions that make sense for you to know I hope that motivates you a bit but it also is a way to offload Mark offload weight from the exam to the term

20:49 in the past campus fire was always super busy the two weeks before the exam and slightly less busy the 10 weeks before that I always had this bonus point system I'm trying it again I think this is the last time though if it doesn't change much then I'll probably drop it so it's up to you guys I want to incentivize you to write good questions and write answers on campus wire uh the point really is if you ask good questions and also answer the questions of other people you will take more out of uh more from this class and so we'll earn Collective bonus points all the questions count together it's not an individual thing um and there's some Mark for good questions and for good answers all right for the participation Mark though you just have to participate in the questions it doesn't matter if if your correct some questions have a right and wrong answer but that's only for your feedback the participation is to participate not to get it right the first time

22:10 I've spoken at length about slider already in the past people called these clicker systems because they started off with Hardware devices that especially in North American universities made students buy and so they spend 50 to 100 pounds on a device that was had four buttons and you could do what slider can do uh it's a business model right um but people moved away from that but still the term clicker questions somehow stuck uh maybe the yeah the official one would be Student Response system that's a bit lame though so clickers right uh there's no clicking on slido but I still like it and I talked about it at length um I think we don't have to do this uh I could put up the question and you can you can tell me

22:50 Campuswire and participation

23:05 but I want to spend more time on this uh I think you've you've seen how it works and it seems to work well the next thing to briefly discuss is campus wire there will be more about this on campus wire itself uh Ben will post some uh induction posts there to to walk you through some of the features I just want to mention the the main things so uh

23:40 let me show you briefly what it looks like uh that's what it looks like if I log in it's fairly empty at the moment there is two things there's rooms

24:05 so rooms are just chat rooms uh I set up just two because that's usually enough so we have some off topic where you can I don't know I found this fun webcomic and thought you guys enjoy uh why not um and there's the other one for things about the lecture like in the past we had sometimes people post from the live stream hey the audio is not working or things like that sometimes it's convenient to quickly reach into the audience um both ways so these are just chat rooms uh they work like in in many other platforms fairly basic and the other big thing is the class feed that's where you can ask questions and where I can post um announcements and so well if you click here you write your question and then off you go and other people can answer it and you can upvote or download answers or mostly about and this is again um the main thing is you are answering your the questions of your peers because that's the way you get the most out of this um I don't know if someone has experience with tutoring usually you learn more when you tutor than your 2T because by teaching something another time you really see whether you understood it and you make

25:25 new connections the same happens with answering questions in a small scale so I can only encourage you there's the bonus points there's all this um educational research showing the effectiveness the rest is up to you

25:50 some example questions like it could be something very concrete and Technical uh or it could be something organizational that you think is worth knowing for everyone now I guess this is uh not so likely to happen in the first semester

26:07 importantly other even if you're not entirely sure that you know it you can frame it I think blah blah blah or here's here's the first bit of the answer and people can you know complement your your answer with the second bit you can ask uh questions anonymously if you don't feel like speaking up or you feel like this might be a dumb questions but I'll I'll give it a go there's no dumb questions but there's shy students and I don't want to stop you from writing questions

26:44 I'll orthogonal to that is private questions these are questions that only go to me and Ben I would normally say try not to use them unless it's something that kind of spoils an assessment if if you have if you ask for clarification is this meant to be the answer to question blah blah blah in case you're right that would have told the answer to everyone that's what the private questions can be can be useful for

27:17 foreign spelled out some some goals for campus fire I don't know uh I'm kind of forcing you to use it and give it a go at least so I think it's it's fairer because everyone gets the same answer as opposed to some students coming to me or office hours where I give the same answer to everyone who's there but not everyone's there um

27:47 is the same effect I mentioned before you learned something if you explain it and Anonymous can help uh get more people active and that's always good so what does that mean um I will by default if you write me an email with some question where I think this is probably relevant to five other people I will redirect you to campus wire and ask you to just post there for exactly the the reason that everyone gets the answer I'll usually wait a bit if it's a question like this this technical one is whatever n cubed whatever it was uh the one with the formulas and the Big O terms uh I would not immediately answer this even even if I knew but uh I want to give you a chance to answer first other students

28:41 um but if some student answers and I I happen to see it right away I click indoors or um mark it as I think it's just good question it gets a star or something you can see that it's endorsed by one of the instructors so you can rely on this question even if it comes from a student who knows whether that guy is correct right but if it has the official stamp you can rely on the answer and there's that's the the bonus points I mentioned so if you ask a question that I think is is reasonable so I put this in as a as a safety class for myself right so you don't flood the system just with empty questions it has to be a genuine question then he gets everyone gets 10 points 20 for a good answer and an additional 10 if the answer didn't need any kind of additional explanation from our site you saved us time then so you should be rewarded and yeah so the way uh we decided to do this is you'll just get a little bonus on the class on the aggregated class test mark uh a little bit of a of an incentive

29:58 okay um uh com526 is part of a scientific course now what does that mean it's not only about teaching you how to excel in your industry role that probably the majority of you will go go into at some point but even though you're not all going to be scientists we want to teach you some some bits of the philosophy of science uh not so much because we want to torture you but because we think it's useful but it's often a bit long term useful as opposed to learning exactly the JavaScript framework that's uh that's hot this week you learn the basics so that you can jump on whatever is relevant next week when you start your job I'm only slightly exaggerating for JavaScript Frameworks I think two years is already basically end of life and who knows but there's some things that don't age so quickly uh we'll try to focus on that uh a little bit less staring at the screen and having no clue and and a bit more like this so maybe let me just read this one the world is so complicated the more I learned the less clear anything gets there are too many ideas and arguments to pick and choose from how can I trust myself to know the truth about anything

31:12 Scientific philosophy and survey

31:28 and if I know if and if everything I know is so shaky what on Earth am I doing teaching I guess you just do your best no one can impart perfect Universal truths to their students

31:43 except Math teachers thank you yeah there's some truth in that so we'll focus on the universal truths of practical algorithms I smuggled practical in here to make it at least a little more uh attractive for people focusing on on the more practical side of things uh Universal truths here has a specific meaning it means uh will go away from the things that age very quickly like concrete Hardware or concrete programming languages and one level of abstraction up um to things that have basically not changed so much over the lifespan of computer science which is just a couple of decades uh and we'll also look at um making predictions uh in these models that's this will become more clear in the next unit I think

32:43 what this means though is that we need a little bit of uh mathematical background for doing that because if you go away from concrete things it becomes a little more abstract an abstract is what math is good about math is is all about abstracting things the right way and I'm making a bulletproof statements about it

33:11 before we start with that though I want to do a little test with you and the test is not really a test but a prerequisite survey or prior knowledge survey so if you go to the link on the slides it should give you some Google form um this is a a lengthy survey which will keep you busy till the end of our session so I'll I'll give you the time that you need the main reason why I want to do this with you is to help me see what you know so that I can uh where possible adapts teaching a bit to uh the thing we'll spend more time when things are new to you uh speed up on the things that are already known I want to stress it's not graded it's just for information it's actually Anonymous so I can't even tell uh the the fancy educational term is it's an a formative assessment it is an assessment because we test something but it's only for your information and for your learning uh it's not for marking

34:31 the questions are very broad they mostly cover things that can be useful for this module but not all are necessary to succeed in this module and some of the things we'll touch on anyways and some others are just tangentially related but I'm I think they're good proxies for gauging your your background

Video 0-2: §0.1 Random shuffle motivation, logical statements →