DD2440 Advanced Algorithms

Resultat av kursutvärdering


    19 questions below wait for and answers and some for comments


  1. How do experience the level of difficulty of the course?

    1. 2% (1 st) Very easy.
    2. 0% (0 st) Easy.
    3. 2% (1 st) Average.
    4. 45% (22 st) Hard.
    5. 49% (24 st) Very hard.


  2. Did you from the start understand the goals of the course?

    1. 31% (15 st) Yes.
    2. 47% (23 st) To some extent.
    3. 22% (11 st) No.


  3. Do you think the course was interesting?

    1. 33% (16 st) Yes, very.
    2. 37% (18 st) Yes.
    3. 14% (7 st) Neutral.
    4. 12% (6 st) Not very.
    5. 4% (2 st) No.


  4. The prerequisites for the course are basic algorithms and some discrete mathematics. Do you think your background was sufficient for the course?

    1. 41% (20 st) Yes.
    2. 43% (21 st) Some doubt.
    3. 16% (8 st) No.


  5. What do you think of the lecture notes by Johan Håstad?

    1. 12% (6 st) Very good.
    2. 24% (12 st) Good.
    3. 27% (13 st) OK.
    4. 14% (7 st) Not so good.
    5. 18% (9 st) Bad.
    6. 4% (2 st) Did not use them.

    Comments about the lecture notes:

    Some more mundane (perhaps implementation-related) notes on the quadratic sieve (i.e. crucial stuff regarding efficiency, the possibility of sieving segments, ...).

    Could use more notes on TSP.

    ---
    In some cases a lot of jumps were made so some steps were hard to understand and therefore they were lacking in those points and made it difficult to understand.
    ---
    I did not use them much, but what I saw was good.
    ---
    I think the concept is very good but it's hard to compile lecture notes straight into something useful, except for formulas and definitions etc. There need to be some "glue" between what is said to explain the notes.
    ---
    The lecture notes had a good structure and was very useful for the assignments.
    ---
    Good teacher , knows what he talks about! I could not make it to a lot of lectures becuse of other interfering courses
    ---
    They mostly only gave a short introduction to the material. Often it was hard to find other sources, and the lecture notes didn't quite cover everything needed.
    ---
    Not much context given in the notes, many of the figures/sentences seem disconnected and unrelated to each other.
    ---
    i feel like the lecture notes lack some structure - this maybe due to the fact that they are more than a decade old.
    ---
    Do you mean the notes from the lecture that the student wrote or the compendium from 2000?
    ---
    They mostly name-dropped things and mentioned a few very basic facts but i didn't find that they explained anything.
    ---
    would be better if the posted notes were not taken by a student
    ---
    Håstads old lecture notes is a fantastic resource, which I will keep for later use. The new notes are also good but not as comprehensive.
    ---
    The lecture notes were varying in quality. Some parts of the course were very hard to learn from the lecture notes alone.
    ---
    Very short.
    ---
    The document with the older notes was, however, better and coming lecture notes should be more like them.
    ---
    Du skrev inga lecture notes!
    Det var det vi elever som gjorde och det var klart bättre och mera givande än föreläsningarna.


    What oter material did you use?:

    CLRS, scientific papers
    ---
    Internet and Johans notes from 2000.
    ---
    Scientific papers and books from KTHB.
    ---
    Internet. The recommended book was not that useful in the course although i kind of like the style of it.
    ---
    The Internet.
    ---
    Google, it's easier to understand explanations from dummer people for dummer people, the notations and words gets to fancy sometime in general in KTH lectures
    ---
    Searched on internet
    ---
    Various internet pages.
    ---
    This year's lecture notes and general Internet search.
    ---
    Internet
    ---
    Online resources
    ---
    Internet searches, as well as some of the links given from the course website.
    ---
    Internet
    ---
    Google
    ---
    mostly wikipedia to be honest.
    ---
    Random internet sources.
    ---
    Mainly the internet. I thought it was sometimes difficult to know what to look up and learn about since many of the questions on the homeworks were vague and difficult to understand.
    ---
    The internet
    ---
    Computer science papers, wikipedia and various other websites.
    ---
    internet, wikipedia, scientific papers
    ---
    Håstads old lecture notes, wikipedia
    ---
    Google in most cases.
    ---
    Google
    ---
    The list of material given on the course page and several internet pages from other universities or other educational sources.
    ---
    Internet
    ---
    Det som fanns att tillgå från Snilsons material avalg-kursens motsvarighet på MIT.


  6. What fraction of the lectures have you attended?

    1. 27% (13 st) Less than 20%.
    2. 12% (6 st) 20-40%.
    3. 24% (12 st) 40-60%.
    4. 14% (7 st) 60-80%.
    5. 22% (11 st) More than 80%.


  7. How do you feel about the lectures from a pedagogical point of view?

    1. 8% (4 st) Very good.
    2. 10% (5 st) Good.
    3. 27% (13 st) Acceptable.
    4. 12% (6 st) Not so good.
    5. 35% (17 st) Bad.
    6. 8% (4 st) Did not attend.

    Comments on lectures (constructive if possible):

    Overall the lecturer is great. My only complaint is that some theoretical stuff in the lectures on applied number theory (i.e. factorization, primality) seemed to be unclear and only briefly explained.
    ---
    It was hard to follow sometimes and to see the link between different algorithms explained in the same lecture.
    ---
    I voted "very good" because that was how it felt compared to other courses at KTH. Personally however, I do not learn very much from going to lectures, I learn much better by working/reading on my own.
    ---
    Was to much theoretical
    ---
    This is a diffcult question. I love the enthusiasm and competence that johan projected but i felt like i didn't really understand quite a few of the concepts he explained. I don't think i'm representative of the average student though.
    ---
    Håstad is a very intelligent man, that really knows what he is talking about. However, he doesn't realize that students are not at his level, and that means we spend a lot of the lectures confused.
    ---
    I have I hard time following the lectures if I haven't had time to read and prepare in advance, but I overall think that some of the basic concept which was quickly skipped over could have been explained more in detail.
    ---
    They could relate more to the homeworks/projects in a concrete way (what we should actually do, rather than what the cutting edge is at).
    ---
    Very logical, straight forward. Even though we should know a lot of things before the courses, it could be useful to sometime give a small examples , i know a lot of studens feel this way but never care to share this feeling so they dont feel dumb in front of the class
    ---
    Try to give more examples when you talk about new things. Don't assume everyone remembers everything from discrete mathematics. Also consider the fact that year after year D-students are very good at failing discrete mathematics exams. The amount of people getting E or better are usually only around 50-60%. Also your handwritten "t" looks the same as your " " :)
    You could have overhead/slides where appropriate to faster show examples, rather than having to draw them on the board.

    I must say the lecture about FFT was very hard to understand and follow along.
    The one about semidefinite programming was also hard since I had forgot too many details about matrices and eigenvectors.
    Other lectures were much easier to follow along. The one about computational geometry was very good.

    ---
    There is a big gap between the concepts as they are explained in the lectures, and the actual implementation of them - many things left unsaid or implicit.
    ---
    At least one lesson was spent on berating the students for not knowing a specific concept. That is incredibly bad from a pedagogical POV, escpecially given that the concept he [Håstad] was berating us for wasn't the hard part of the assignment rather than the assignment structure being bad.
    ---
    Håstad is an excellent researcher. One of the best in Sweden and Europe. But I don't think he is the best fit as a teacher.
    ---
    Håstad seemed to only want to talk about things he himself considered interesting. There was no visible attempt to actually teach.
    ---
    The lecturer aimed a bit too high, the subjects discussed were in general very hard to grasp and follow along with. The lecturer should also consider a change in how lectures are executed. As it was, the lecturer often talked at break-neck speed, then got quiet for a few minutes when he wrote something down on the whiteboard. Slower speech, as well as some explanations of what is written might be a better approach.
    ---
    i love the teaching style. writing on the board and "telling a coherent story" about the course content.
    on the other hand, i feel like the algorithms and methods discussed could be motivated a little more, i.e. talking about internet security being based on integer factorization being hard to solve.

    ---
    A bit unstructured and rushed.
    ---
    I always find that the lectures can be hard to follow. In my own oppinion I think that lectures should try to focus on getting the intuition about the theory correct. A lot of the times lectures focus too much on proofs and the correct notation. What I would have wanted is someone who can explain it to me so that I have a general idéa of the concepts. Then on my own I can read up on the proofs ones I know what I am doing.
    ---
    I would say that the pedagogical point of view did not exist. Extremely high level, and very hard to grasp the context.
    ---
    Sometimes hard to connect lectures to homeworks
    ---
    I like to get a lot more context to lecture content, but that may be personal taste
    ---
    The material is so advanced at times that it can be very hard to understand during the lecture.
    ---
    Could not attend since they didn't teach me anything, in short they were completely useless for the examination parts.
    ---
    I believe it would have been of great help to attend the lectures.
    ---
    Föreläsningarna gav inget som helst utbyte, jag skulle inte ens våga kalla det "föreläsning" mera monolog med tavlan i 1,5 timme. Det var mera värdefullt att läsa sammanfattningarna på 10 min än att gå på föreläsningen för mig och mina studiekamrater.

    Det kändes ärligt talat som absolut minimal ansträngning både i innehåll och pedagogik från föreläsaren. Skrota hela tillvägagångssättet och gör vettiga föreläsningar där du pratar om materialet istället för att mumla ner i dina anteckningar, en bra start skulle vara Stefan Nilssons föreläsningar.

    Det faktum att ingen frågar någonting eller deltar i föreläsningar är inte ett tecken på oviljan hos oss studenter utan snarare på att föreläsningarna inte ger oss något utbyte.


  8. Do you prepare your self before the lectures in any way (reading some material, etc)?

    1. 2% (1 st) Yes, always.
    2. 4% (2 st) Often.
    3. 27% (13 st) Sometimes.
    4. 29% (14 st) Rarely.
    5. 39% (19 st) Never.


  9. How much time did you spend on Project 1?

    1. 0% (0 st) Less than 20 hours.
    2. 10% (5 st) 20-30 hours.
    3. 24% (12 st) 30-40 tim.
    4. 65% (32 st) More than 40 hours.

    Comments on project 1:

    It was tough - implementing a program for factoring all the 70-digit numbers in a one man team took a lot of time. While the coding itself was not too hard, most of the implementation-related tricks had to be aggregated from scientific papers. The short notes on quadratic sieve were extremely helpful.

    Besides being non-trivial, this was one of the most interesting projects I've ever done in a course, and felt rewarding. The fact that nobody (as far as I've heard) managed to factor 90-digit numbers, and that only one (?) team managed to do the 80-digit ones indicates that the scale maybe needs to be a bit lower. 60 (pretty much any normal quadratic sieve implementation should be able to solve this reasonably fast), 70 and 80 digits sounds about right.

    ---
    Difficult. Spending that much time on factoring numbnumbers was way too much.
    ---
    Very open-ended which was interesting. One of the most interesting projects I have done in any course at KTH.
    ---
    A very fun project, my favorite. The whole course is awesome but hard for me. Primes are just amazing! I think maybe there should've been a smoother progression towards QS, but then again it's a hard concept and Johan really tried to explain it alot i feel like
    ---
    I would say I spent closer to 60 hours, at least, as did my partner. With very poor results.
    ---
    Definitely more than 50-60 hours. Not using Kattis for correction was a bad move. Paying for cloud computing to get a better grade is plain unfair.
    ---
    I have a hard time estimating the hours, but I spent a lot of time on it.
    ---
    Loved it! One of the funniest thing i've done in KTH.
    ---
    The numbers were too big. I would say 50- to 75-digit numbers would be better to give than 70- to 90-digit numbers. There are no point of having too large numbers. If you manage to implement QS there is only a question of wasted CPU cycles and electricity to keep computers running if you want to factor 70-digit or 80-digit numbers. Since if you manage to make a fast program it is from a pedagocical point of view not that much gain to leave computers on over the night.

    Also, (I think) it was a bad idea to encourage the students to invest a lot of time and efforts in Pollard rho rather than starting with QS. In my opinion, a simple Pollard rho implementation should only run a very short time to get out small factors and the number should then be factorized with QS.

    Also, you should give big hints on what is important optimizations in QS and what is not. (Shank-Tonelli and Block-Lanczos is worthless for integers < 80 digits). You should also talk more about quadratic residues on the lectures and how they are used "to know where to start" in the sieving process for each prime. People had hard to understand that for some reason. Also hint out that small sieving intervals (but not smaller than the largest prime) are better than large, due to cache locality. As smaller as better. This is contradictory to your published notes. Also, floating point logarithms are harder than integer logarithms (in base 2 it is just counting the length of the number) to implement since neither of gmp and java's biginteger has support for that.

    Otherwise it was a fun project :)

    ---
    Not sure with the time. Though, my computer ran non-stop for many hours a day and I feel like that's done some damage to my hardware :( Anyway, the project was very hard to complete, so please revise this somehow for the future.
    ---
    It was, as has already been said, too difficult.
    ---
    Project 1 took me and my partner three (!) full-time weeks of fighting with the quadratic sieve using Torbjörns instructions. Still we were not able to factorize any numbers greater than 50 numbers in length. The last week was just about building up a good Brent and letting it run until deadline, which still only gave us 2/50 points. 4 full-time weeks for one project is ridiculous. I neglected all of my other classes for this, but to no payout whatsoever.
    ---
    It was a fun and challenging project but that fact that you had to have your computer running for days was ridiculous. It is great that we get to know the extent of the complexity and size of some problems but this was just frustrating.
    ---
    mostly just waiting for it to run
    ---
    The format and grading system was shockingly bad. You can't require students to run an algorithm for over a week to get a passing result. What if the student does not have access to a computer for a week straight? Or what if the student realizes he made a mistake when there's only one day left to the deadline? Also there was no indication on what we should put in the report. The grading criteria was everything but transparent.
    ---
    Too hard, as well as too reliant on pure computing time available. Felt very frustrating to sit for days with difficult algorithms and optimizations that in the end did not yield a very high score.
    ---
    Pay to get high grade is never good
    ---
    the integer factorization problem on kattis from the previous years was more suited to a class like this (i.e. factoring as many numbers as possible in a short time frame).
    ---
    Unreasonable goal to have an algorithm that is supposed to factor the numbers in a week time. The algorithms brought up in this course should be running fast and not force us to use that much time on computing something.
    ---
    The spent didn't help, I was too stupid to understand the quadratic sieve in time.
    ---
    Most of the time was spent on factorizing numbers.
    ---
    60-80 hours
    ---
    I think it was a good idea to change it and that it was changed in the right direction but it was obvious that it was the first "draft" and there was some modifications to it during the project was running (good modifications). I am sure it well be even better next year.
    ---
    I felt that it was a little bit too difficult and that the offline calculations are a little over the top. I think it would have been better to use KATTIS as judge and with smaller inputs. From a personal perspective, I did not enjoy it since it feels a little bit too much theoretical and did not know when I would use it in the real world. It would be great if you could put it into a more practical application when factorization is needed.
    ---
    I would say that i spent about 80 hours. Some of my friends spent around 100-120 hours.
    ---
    The grading scheme was totally unfair and valued the amount of computer time that was needed way too much. Expecting us to be able to run a program for more than 20 minutes is not acceptable without providing us with the hardware.
    ---
    More time and better scoring / specification would be good
    ---
    Comment on question 8 first: It was impossible to prepare for the lectures since you did not know what was going to be covered beforehand.

    On the project: I was horribly unprepared for this project and did not have anywhere near enough time to do good work for it. Partly because of competing courses partly because of some wrongful expectations of what I was supposed to accomplish.

    ---
    It was very difficult. The size of the numbers made it hard to grasp how good an algorithm was. A smaller number with a tighter time limit (like in Kattis) could have given us a heads up how much too slow our algorithm were.
    ---
    Lack of information on what we were expected to do, i.e. how far would we get by just implementing Pollard Rho, would a non functioning QS give us any points etc.
    ---
    Jesus christ this has to be the absolute worst project that I have ever done in my time at KTH. How this got accepted by anyone higher up is a complete and utter mystery to me.

    First of all, I paid for higher grades. My solution sucked, I implemented it in two hours but because I spent a lot of money on cloud hardware I got better results than my peers (by a very large margin) and as a direct result I got a higher grade than they did, just because I paid more. It doesn't take a rocket scientist to realize that this isn't how it should be.

    Also, if a student doesn't have the resources to complete the project? I know many students who don't have proper housing, who only have crappy laptops which can't run forever and certainly not with intensive calculations. What then? The bandaid to get two computers as an afterthough surely isn't enough.

    This project did in no way grade my competence in computer science, it graded how much money I was willing to spend. IT IS 2014, THERE IS A THING CALLED KATTIS, USE IT! There is no need to try to reinvent the wheel, especially if you make the wheels square and try to insist they are so much better despite everyone telling you that you are an idiot. Is there any reason at all to not use kattis? Oh right, because that would actually have made this course bearable and we can't have that.

    ---
    More than 100 hours ...
    ---
    Implementing the code took about 10-20h but running it took several days. The project was a bit too big or at least to harshly judged in my opinion. All though it was a very interesting project so it's only the implementation that needs to be tweaked.
    ---
    2 veckor heltid övertid. Hela uppgiften var ogenomtänkt och kändes ihop hafsad över en kafferast.

    Varför ska vi publicera våra hela-personnummer PUBLIKT på internet?!
    Det var även en fin detalj att mest hårdvara och processortid fick bäst betyg på uppgiften.
    Dessutom var uppgiften oerhört lätt att fuska på utan att ni kunde märka det. Ta hem den bästa lösaren som finns på internet och börja lös talen, koda i lugn och ro i två veckor...
    Dessutom verkade det som om du var besatt av funktionsoverhead ty vi inte fick använda nåt smart i GMP så projektets-scope var helt gigantiskt.

    Skrota hela uppgiften och gör om gör rätt till nästa år.


  10. How much time did you spend on Project 2?

    1. 12% (6 st) Less than 20 hours.
    2. 29% (14 st) 20-30 hours.
    3. 29% (14 st) 30-40 tim.
    4. 31% (15 st) More than 40 hours.

    Comments on project 2:

    I like the competitive atmosphere. It's also much easier (in ever aspect) than the first one.
    ---
    Fun! Kattis is very inconsistent with the timing though...
    ---
    Less interesting than the first but still very cool overall, harder to see how you can improve since the solutions are rated by Kattis. Choosing the wrong algorithms to focus on when you begin can be very punishing. Since you have no idea how hard/what type of test cases Kattis has more hints should be dropped during the lectures on which algorithms would be interesting to implement.
    ---
    Should be better if you were obliged to work in pairs. The grading should be a bit nicer if you work alone.
    ---
    A pretty fun project, but i didn't perform very well. It's a intresting problem set with a lot of applications.
    ---
    I spent about 50 hours I would say, as did my partner.
    ---
    Better balanced, but the best solution turned out to be very easy and disappointing.
    ---
    I have a hard time estimating the hours, but I spent slightly less time than project 1.
    ---
    Project 2 was great as well. It's fun with challenging assignments
    ---
    It was nice. I'd however like to have a downloadable set of test cases that are similar to the ones Kattis are testing. It was hard to find on the internet, and randomly generated test cases didn't seem to reflect the ones used att Kattis.

    To get more people succees the 3-opt, you should give more implementation details on the lecture. For example about the symmetries and how to easily make sure that the 6 selected nodes are selected in a way that the tour cycle isn't broken after the switch into different components.

    Also, give a hint that it is good to run many iterations until the time is up.

    ---
    This project was more balanced, I feel - the payoff for input work was more proportionate, instead of the all-or-nothing way in the first project.
    ---
    Project 2 was substantially easier. ~43 points on Kattis was achieved after sitting two-three full days.
    ---
    Good project, interesting and for kattis.
    ---
    Much better than project 1. However we still got no information on what to include in our reports.
    ---
    A good project, the difficulty and scope felt appropriate.
    ---
    Much better than project 1
    ---
    the lectures could have given a better introduction and motivation for the tsp problem. a little more guidance would have been useful.
    ---
    Overall really good. Pity that there are only 2-3 methods that actually give score on Kattis because they are fast, but not really "intelligent" in the sense of sophistication.
    ---
    It was ok but I though project 1 was more interesting. I learned more and it was more challenging.
    ---
    This project was a lot more fun, since it felt more useful and something that I could use in the future. It was also great because you could try and implement different algorithms to see if it improved. These different algorithms did not take too long to implement either which was nice.
    ---
    Fun and better executed than project 1
    ---
    Good and pretty interesting, not super interesting though. Was good with something of lighter difficulty in a hard course
    ---
    Much better than project 1. Easier to grasp but still very interesting and challenging.
    ---
    Nice project.
    ---
    At least this was the only part of the course that Håstad didn't ruin, and as a result it was a complete paradise compared to the fucking agony that was the rest of the course.
    ---
    Good project
    ---
    Interesting and the task was of a good size.
    ---
    Denna uppgift var bra och vettig och hängde väl ihop med kursen!


  11. How much time did you spend on the three homeworks in total?

    1. 18% (9 st) Less than 20 hours.
    2. 16% (8 st) 20-30 hours.
    3. 29% (14 st) 30-40 tim.
    4. 35% (17 st) More than 40 hours.

    Comments on the homeworks:

    They were interesting, albeit challenging, and introduced me to a lot of curious topics. They are fine, although I feel like they should involve implementing some of the stuff which was not covered in the projects (i.e. computational geometry), in the form of small programming challenges.
    ---
    They were ok. Very difficult though if you want to solve all problems.
    ---
    Very interesting exercises but somewhat time-consuming when you need to orient yourself regarding the problem first (although this is obviously good for learning), because of the diverse content of the course. Typically the solutions are not hard to understand when you are finished, but understanding what the next step should be when you are solving them can be somewhat hard.
    ---
    Was to difficult and to much theoretical. Since the course is obligatory in the master program of Computer Science, it should be a bit nicer since you are forced to take it.
    ---
    Those were pretty hard i felt like. They are intresting when you put enough time into them but it's so hard to find the correct information without getting spoiled on the solution. I don't know how to improve that though.
    ---
    A lot of it was just too difficult for me. Several people celebrated when they got more than 10 out of 40.
    ---
    Again, really hard to say, though I spent a lot of time on them.
    ---
    unfortunately i didn't spend as much time on the homeworks as i wanted...
    ---
    Too much discrete mathematics and too little about advanced algorithms, in my opinion.
    ---
    I don't record the time spent.
    ---
    Only handed in one. Collision with other courses made it difficult to act differently.
    ---
    Ridiculously hard. Achieving ~20/40 points on a homework was an achievement.
    ---
    To difficult. Some exercises were impossible to solve using only information from the course literature.
    ---
    Very varying difficulty with questionable content. The easy assignments did little to increase learning, while the difficult ones made one reluctant to even try, since the risk was high that one simply got nothing out of it.
    ---
    The first one was bad. The formulations were terrible. The second one improved slightly, whereas the third was "OK". It was even clearly reflected in my points.
    ---
    Challenging and fun! Learned a lot from them.
    ---
    I felt that it was difficult a lot of the times to understand what I was supposed to do. I think you have to be clearer about what you are supposed to do. Also, it was hard to know where I could find the knowlege to solve these questions. I always felt that I had to do extensive work in order to find relevant material and even then it was difficult to know how to solve it. I would have liked it if the questions were tied to something in the course book or notes so that you knew where you could find the knowlege in order to solve the problem. But this might have been by design?
    ---
    More than 40 hours although I did not do homework 3.
    ---
    Some questions were really hard and har dto understand what was being asked or how to solve.
    ---
    Some questions were very hard.
    ---
    Way too difficult, often we had no guidelines as to how to solve them. Having practice sessions with the course assistents would have been a great benefit.
    ---
    Is this some kind of joke? Any single homework was harder to complete than the mästarprov in the ADK course by a large margin, it's a fucking homework. I spent around 10-15 hours on each and even then you still have to spend the majority of the time even figuring out what the fucking question is. It should be a clear clue that when the majority don't even attempt to answer certain questions, that the questions are absolutely terribly formulated.

    Just look at HW3, how many percent of the students even managed to answer all questions (not even correctly?). But it doesn't matter, because no amount of criticism will convince anyone that the questions are terrible and most students just skip most of them since it simply isn't worth trying to answer them.

    If this just were harder than the questions last year, I wouldn't mind. But these are questions which are literally several orders of magnitude harder. The easiest questions from this year are harder than the hardest questions from last year.

    ---
    Too hard
    ---
    Homework:en kändes mera som hemtentor, vad är poängen med att göra dem så pass svåra och stora så folk sitter i grupp och löser dem istället?

    Nästa år kanske en sundare approach och en snävare omfattning ska användas så man faktiskt får relevant utbyte av läxorna.


  12. What did you like most of the examination (you may pick several alternatives)

    1. 33% (16 st) Project 1
    2. 82% (40 st) Project 2
    3. 6% (3 st) Homework 1
    4. 14% (7 st) Homework 2
    5. 8% (4 st) Homework 3


  13. How many courses did you take in parallel to this course?

    1. 4% (2 st) One.
    2. 27% (13 st) Two.
    3. 41% (20 st) Three.
    4. 29% (14 st) Four or more.


  14. What fraction of your total study time during the duration of the course did you spend on this course?

    1. 0% (0 st) Less than 15%.
    2. 12% (6 st) 15-30%.
    3. 24% (12 st) 30-50%.
    4. 45% (22 st) 50-70%.
    5. 18% (9 st) More than 70%.


  15. The credit for the course is 6 hp. How do you feel about this?

    1. 24% (12 st) About correct with 6 hp.
    2. 47% (23 st) Should be 7.5 hp.
    3. 27% (13 st) Should be 9 hp.
    4. 0% (0 st) 6 hp is too much.


  16. Have you been treated differently during this course because of gender, sexual orientation, ethnicity or disabilities?

    1. 2% (1 st) Yes.
    2. 2% (1 st) To some extent.
    3. 96% (47 st) No.

    If yes, in what way?

    Fair course from my point of view!
    ---
    None of the above. But because I spent a lot of money on P1 I got higher grades than the poorer students whose solutions were objectively better than mine. But fuck them, right?
    ---
    Det faktum att jag var en fattig student gjorde ju att jag inte fick en rättvis chans på Projekt 1 ty jag hade inte ett monster till dator som kunde faktorisera primtal dygnet runt. Skönt att betyget var en klassfråga!


  17. How to judge the course from a gender perspective (regarding items such as course material, course contents, teachers etc?

    what

    I don't know, maybe I would understand the question better if the parentheses were balanced.

    ---
    Very gender neutral :). However the presence of men is much higher than women (teachers and students). That's a common problem in CS though and not specifically for this course.
    ---
    This is important of course, but I have no suggestions for improvement on this.
    ---
    Good.
    ---
    I have a hard time relating advanced algorithms to gender, though the course attendees are mostly male. That is from my perspective not the fault of the course itself.
    ---
    I don't understand the question! But everything is fair and should stay fair as it is from my point of view. Perhaps someone else offers better point of view than mine!
    ---
    I think it does not apply. Well it is not a secret that men in a higher grade study computer science than women, and therefore it looks like it is. I don't think this course can change this.
    ---
    Bra
    ---
    No comment. Was too busy with project 1 to reflect.
    ---
    I did not see any gender inequalities in the course material
    ---
    why is this relevant.
    ---
    I have seen this question in the previous years and I really don't understand why it is still here. It makes literally no sense.
    ---
    Nothing to remark about.
    ---
    No comment
    ---
    lol, algorithms doesn't discriminate
    ---
    I think it's good that you ask this question. The teachers were of course only male (as far as i know) but I don't think that can be held against anyone. I don't think that the course was in any way bad gender wise.
    ---
    It is terrible to have these sort of questions here, i cry as the school becomes more and more politically correct.
    ---
    I have not noticed anything that could or should be offending in any matter.
    ---
    Ingen kommentar.


  18. Suggestions for improvements of the course:

    Even though the course is on advanced *algorithms*, throwing in a few data structures (those which are usually considered to be advanced) here and there would be awesome (time travel, Fibonacci heap, ...).
    ---
    To be able to answer more questions on the homework it would have been good to have a lot more theory to stand on. Most question lacked a lot of information to be able to solve them therefore they were to hard.
    ---
    I was severely impaired from working on my own during the projects. The sheer mass of code you are required to produce gets overwhelming when you are working on your own. This has probably cost me one grade and although I do not know how to improve this, it is definitely a huge source of unfairness in grading.
    ---
    Too advanced lectures! could not follow along, had to spend all time trying to finish the projects so had to skip the lessons.
    ---
    You should be forced to do the projects in pairs and make the homeworks a much easier and smaller.
    Would be nice to get some pepparkaka at the discussion of the last project.

    ---
    The lecture must be less fragmentary, and I could also see that more clear reading directions would be good.
    I think there is much to learn from the approach viggo have in the course ADK.

    ---
    I feel that the course is too difficult, but I don't think that the goals of the course are too difficult. I simply think that the way that it has been taught and examined is too difficult. I feel as I have not learned much, although this is a subject that I am interested in. I would like to see simpler lectures and more clear reading instructions for the course. I would also like simpler homework assignments and simpler projects, it should be easy to pass this course even though it is difficult.

    Regarding project 1, you should get points no matter how many numbers you factor, it was Highly demotivating to know that it does not matter if I try harder, I will never get a point anyway since there was too little time.

    ---
    Project 1 is the obvious thing that could be improved. Your amount of computing power should never decide your grade, and I also believe that the level for passing it was too hard. Project 2 was much better.
    ---
    HW3 should perhaps be handed in after the scoring of project 2 so you can get more points if needed.
    ---
    Have some scheduled "exercises" in addition to the lectures, like in other courses.
    ---
    Mainly, balance Project 1.
    ---
    Det skulle vara trevligt om det var mindre teori och mer praktisk. Jag vet att teori är din nisch men det skulle ändå vara trevligt om det var mer praktiskt på något sätt
    ---
    Project 1 needs to be redesigned from scratch. I understand that the point was for us to implement the Quadratic Sieve, but me and my partner didn't manage this for numbers with more than 50 zeroes, even with bitsets to build up the matrix and logarithms to find smooth numbers.
    ---
    Better examination for project 1
    ---
    Replace Håstad
    ---
    Scale the difficulty down, it was simply too difficult.
    ---
    With the size of the numbers on project 1 where we had to have the program running for days the school need to provide resources otherwise the current way is not ok. To let it run on clusters of cores and pay for it or to try to find free trial versions of the same is not ok. Need to go back to the old kattis version or something totally different.
    ---
    revised course notes. maybe in the form of slides that showcase the most important features. the course notes could be there as a backup.
    ---
    1. Better lectures - they were filled with some formulas that made no sense. If something lectures should be about *intuition* and nothing else. I still don't know what many of the things mentioned in the lectures are used for and this goes to very important topics like Fourier Transforms which are omnipresent.
    2. Better formulations for questions - people should be able to figure out what a question is about without making too many assumptions. The last homework was decent when it comes to this, the other two were so-so. I feel I had the intelectual capacity to solve many of the problems, but I couldn't get past the formulations.
    3. Difference in evaluation of assistants - one of them was really reasonable and was seeing the effort and different solutions implemented and attempted, the other one I had was totally fixated on *the solution* and with him it felt that my kattis/prime factor score is supposed to be correlated to the report, whereas in theory it was promised that it will not be.

    ---
    Less points from the reports or harder grading and more comments if they are essential. You can almost pass the course from reports only.
    ---
    Do have the factorizing part on Kattis instead of letting students factorize numbers.
    ---
    Make clear what the goals are with the course from the start.
    Recommended reading material before lecture.

    ---
    I would like the lectures to be a bit more structured and thorough.
    ---
    I think I have mentioned the things I would improve in previous comments.
    ---
    I skipped homework A and B because i felt that project 1 would give me more points but in the end it was just too complex to give any return. Project 1 required way to much time for what it gave and it required too advanced algorithms to solve the highest numbers. The quadratic sieve takes too much time to implement for 300-bit numbers.
    ---
    adjust the workload to be equal to a 6 hp course and adjust the difficulty somewhat.
    ---
    Add some more assistance OR time for the labs and homeworks.
    ---
    - More course literature. On some subjects we had only the lecture notes and Håstad's notes as help to understand a topic. Other sources needed.
    - Give practice sessions and labs.

    ---
    I only have one single improvement: throw Håstad out the window and never let him teach this course ever again. He may be competent as a computer scientist, but never have I seen someone here at KTH who is so utterly out of touch and oblivious to his students.

    It's not that the course is hard, there are many courses that are hard at KTH. It's that the course is hard and we have a teacher that is terrible at teaching.

    ---
    Easier homeworks, make project one a kattisproject. Make sure that the lectures are directly linked to the homework and be clear about what subjects are handled in each lecture since i often didn't even understand what the lecturer were talking about.
    ---
    Me, and many with me, thought that the scoring of the first project was too harsh. There's nothing wrong with the task itself, only the original scoring. Although the scoring was changed it was discouraging to only get a few or no points with the original scoring and I felt that I would have put more work into the project if I had felt that it was possible to get a reasonable amount of points. Now I turned my focus to the report instead.
    ---
    Vore bra med några av de som kallas övningar i andra kurser, som komplement till föreläsningarna.
    I projekt 1 var det svårt att förstå hur man skulle börja och vad som egentligen krävdes för att få godkänt..

    ---
    Gå tillbaka till ritbordet och tänk igenom kursens syfte och mål. Gör om hela projekt 1 och ta en rejäl funderare på hemläxornas omfång och svårighetsgrad.

    Inför någon form av övningar så man kan få hjälp med labbar?

    Byt föreläsare alternativt lägg ner någon form av arbete och tanke på föreläsningarna.


  19. Additional comments on the course:

    I'm happy with the course! Would enroll again.
    ---
    I have never read a course were i learned so little but had to spend almost all my studying time to be able to have to scrap together some points.
    ---
    Less theoretical things and more practical.
    As a lot of people are discussing in the course Prosamm they seems to think that the course is a bit hard and really hope they will pass it.
    Will be interesting to see how many percent of the students passing the course this year.
    If the sum of points to get an E would be decreased by 10 so you need 115 points (that was last years number), I think a lot of students would be happy of that Christmas gift.

    Also wants to mention this comment from course evaluation of Avalg10 from a course assistant "studenterna borde avrådas för att överhuvudtaget implementera det kvadratiska sållet av annat än intresse, eftersom det kräver mycket tid och kunskap om en implementation ska få höga poäng i Kattis."

    ---
    The content in this course were very interesting but the lectures were on a too advance level and not useful at all if you did not already understood all parts of it before the lecture
    ---
    One of my favorite courses on KTH although it've given me quite a headache.
    ---
    Håstad said that we should let him now if the course is killing us, when a classmate send an email about the first homework being difficult he did not care for it.

    The first project was horrible, I have never put so much time into a project where it all ultimately was useless. I got 0 points for the implementation even though I spent at least 30 hours on the implementation it self. This made me feel really bad during the rest of the course and affected my the rest of my studies. Many times I have wanted to just skip the entire course because it has seemed hopeless.

    I have learned so little while spending so much time, and I have been so stressed. This course made me question my choice of masters.

    ---
    Grading of homeworks and the reports seemed arbitrary. I wish we could get the reasons behind the project report scoring.
    ---
    An interesting and extremely demanding course. I would like to see project 1 change as stated above. Maybe the level needed for an E grade in this course it too high, considering it is a compulsory course. If I had not had so many parallel courses, I would have had more time to prepare before lectures, which would have made this course even more enjoyable.
    ---
    Great course in general, my friends recommended it to me and i will recommend it to others. I really wished i could've participated more in the course, but i had to much else to attend that is unnecessary to my career. To much bureaucracy in KTH and rules to follow, to little common sense...
    ---
    The course had maybe too much discrete mathematics according to my opinion rather than algorithms, especially the homeworks.
    ---
    I really liked this course! It was very difficult but also interesting, and I liked the way the homeworks and projects followed up the lecture contents in an explore-this-further-approach, so that we have to get down and dirty with the concepts instead of just hearing about them. This is the kind of format I was hoping for at University level.
    ---
    Nej.
    ---
    Way too much work. I think 6 hp is way too little, especially with project 1. I know Håstad is an excellent researcher, but this course seems to be so easy for him that it seems he has no perspective.
    ---
    overall, i feel like I've learned a lot - also because i put a lot of effort into the course.
    ---
    Project 1 was horrible, and painful.
    ---
    Really nice course! Interesting topics and challenging tasks!
    ---
    To be honest I was extremely disappointed of the course. I would say that the sole purpose of the course was examination and NOT learning. All learning was made outside KTH via external resources.
    ---
    The expectations on the students were a bit too high.
    ---
    I loved most of the course even though I did not have time to perform well. Having several difficult courses in parallel makes it very hard to work efficiently in any one of them. For this reason I really wish that the course was allocated more time and/or guidance to get on the right track with some of the assignments
    ---
    If this course wasn't mandatory I would never, ever recommend it to anyone, ever.
    ---
    I interesting and learning course over all but some of the tasks needs tweaking and the course notes could be more elaborate.
    ---
    Jag förstår att Stefan Nilssons skor kan vara svåra att fylla första omgången som ny examinator, men jag förväntar mig klart bättre från en kursansvarig som har den bakgrunden som Johan Håstad har. Jag är mycket besviken och nedslagen över hur taffligt och ogenomtänkt kursens nya utformning har varit.

    Dessutom ställer jag mig starkt frågande till hur rent av fientlig Johan har varit när man kommit med feedback under kursens gång. När kursnämnden och jämlikhetsnämnden går in kanske det är dags att försöka vara ödmjuk och inse att problemet kanske inte ligger på oss studenter?

    Till nästa år tycker jag Johan Håstad bör ta sig en rejäl funderare på varför han håller i kursen och vad han vill att kommande studenter ska få ut av den. Det jag och mina studiekamrater upplevde var att Johan Håstad "satt av tiden" istället för att ha ett faktiskt intresse av att hålla i kursen eller att för den delen vilja lära ut något.

    Det kanske bästa vore om åtgärder vidtogs för att förändra kursen omedelbart och att kraftig ta åt sig av kritiken, samt fundera på det pedagogiska målen och innehållet. Om detta inte görs tycker jag att det bästa för kursen och framtida kursare vore om Johan Håstad lämnade ifrån sig posten som kursansvarig till en mera lämpad kursledare.


johanh@kth.se

Denna sammanställning har genererats med ACE.