Official evaluation of the course "Efficient Route Planning, SS 2012"
Lecturer: Prof. Dr. Hannah Bast; Tutors: Eugen Sawin and Mirko Brodesser; Number of active participants at the end of the lecture: around 20; Number of evaluation forms returned: 19.
The evaluation form was made availabe to the participants of the course in the second to last lecture. Students were explicitly encouraged to submit the form. There was an additional incentive of 20 points that would replace the points of the weakest exercise sheet (20 points per sheet, 11 sheets in total). Submission was anonymous.
In the following the complete list of all comments given in free-text fields on the evaluation form are given. The comments were copied verbatim, except for a few corrections (wrt orthography, grammar, etc. ... no change of meaning). If you see a comment from yourself which you do not want to appear in this list or if you find a comment that you think was inaccurately transcribed, send an anonymous post (as user evaluation), naming the comment, on the subforum Submit your evaluation form of our Forum.
A statistic of the "tick"-questions can be found at the end of this page.
Nominations for teaching award (14 out of 19)
Die gute und genaue Darstellung und Erklärung des Stoffs machen jeden Besuch der Veranstaltung zu einem echten Highlight.
Hannah Basts enthusiasm for teaching is really great! The amout of work she invests in the lectures, exercises and answering questions at the forum remains unmatched at this faculty. The teaching system "Daphne" and the other used systems (like Wiki) make lecture and exercises work and feel like one complete package!
I think it is too late for this but ok Again, Prof. Bast is a really passionate teacher, always funny and cool but you learn a lot in the course. The google maps API part was really cool (also the part were we used google maps to draw some nodes).
Explains very good and easy to understand and is able to motivate a lot. If I had more lecturers like that I would never want to miss any single lecture.
Außergewöhnlich gestaltete Lehrveranstaltung, hervorragende Qualität, hohes Niveau.
The lectures are really understandable without any loss of completeness. The topics are explained on real application scenarios and motivation is always present. Especially the learning material like slides, recordings, automated build systems to check exercise results, repositories, a forum and a wiki provide the best possibilities to collaborate with the professor, staff, and other students, as well as those systems make it easy to submit and share data and other information. It would be great if all lectures were like this one! Many thanks to Professor Bast.
Well done! My tutor as well!
The lecture was interesting and exciting. One could see that the lecturer herself is interested in this topic. That's why the lecture was more fun, very interesting and exciting. The exercise helped a lot to understand the lecture and were a good addition.
Excellent balance of lecture and exercises, they really fit very good together. I really liked to go to lectures (funny, informative and nice paintings).
This course is so far the best one I've ever taken in University of Freiburg. - Good system combining both theoretical and practical aspects. - Nice exercises with real data made me improve a lot my design and programming skills - In the end also state of the art algorithms - Many other reasons...
Very interesting topics in this lecture. Makes a lot of fun to follow the lecture. Very well prepared lecture. Great exercise-system: SVN, Daphne, ...
This course is definitely in my TOP 3 courses of the Computer Science Master. The professor is really an expert in the topics that were teached. She explains them with great clarity and makes them easy to understand. You can also see there is a great work done creating the teaching material, the exercise sheets and the overall setup of the course.
Perfectly structured and well prepared teaching, very well assimilated exercises, this should be the standard for other courses of the Master Programme.
[recommendation without text]
What do you like about this course
Frau Bast betrachtet die Studenten als "Experten-Publikum", dass die wirklich kritischen Fragen stellt. Das motiviert sehr, nimmt einen aber auch in die Verantwortung, sich noch genauer auf die Inhalte zu konzentrieren und gute Fragen zu stellen.
The concept behind this course is amazing: One general topic every week with a good introduction and explanation in the lecture to start off and then implementation to really understand it.
The feedback on the exercises is outstanding: The tutors actually read and comment on the code in detail! (usually you get: "of course we don't read your code, but here: Have some solution sketches (with a totally different approach...maybe)")
The Forum is also super helpful!
The course is about route planning, but really teaches so much more: good code design, efficient c++ programming, benchmarking and the fact that you always have to click twice on WebSVN links
Intuitively explanation of all concepts with examples.
Programming part is cool because you see how it works and how much faster the sophisticated algorithms are.
Very motivated and friendly Prof. She explains everything very well, is always funny and cool but you also learn a lot.
Video recording, very important if you can't go to the lecture.
Result comparison via wiki.
Forum, with support even at night time.
Especially the Google Maps API part was fun.
The course is perfect, a lot of work but a good way of getting experience in programming again and very motivating.
Sehr praktisch angelegt.
Übungen sehr sinnvoll.
It is really good to have a detail knowledge about Routing Algorithm, and most of them are new for me.
Because the next exercise will strongly rely on the previous one, it is hard if I still couldn't complete the task perfectly and have to move to the next one.
Everything is based on practical applications and problems, without any loss of theory-stuff.
Different domains of routing are covered (street routing, transit routing).
The exercises help a lot to understand the different algorithms and approaches.
The simple Google Maps based web application was especially helpful and nice to see how web-based routing works in principle.
Prof. Bast generally open-minded and motivating. She explains well and puts great efforts to the lecture
I have not the proper tools to edit this pdf file (I wouldn't install a Windows with Adobe only to fill the form). Web form would be simpler.
I'd prefer some more elaborate coding techniques to make more beautiful code, but I agree there's not much time.
The way how you combine theoretical learning of algorithm with practice. I'm usually quite sceptical about lectures regarding algorithms , because very often there is no visible usage for them. When you don't see the results or the way to apply an algorithm in real problems you tend to stop caring about it. Here it was perfect. Besides all additional help to exercises was helpful and the content of the lecture was presented very clearly. Finally general topic of the lecture is very interesting piece ok knowledge. Good idea, good realization!
The algorithms were explained really good and the the drawings helped a lot.
The exercise forced me (which was good) to deeply understand the algorithms.
The design suggestions, the solution tables in the wiki and the unit tests helped a lot to verify my own code and should be kept this way.
Also the feedback we got from the tutors was really good and helpful.
The circle "listen to the lecture, implement & understand theme by doing corresponding exercise" is very well balanced.
The tutor answered special question very fast and with enough explanations.
Good, practical lecture. The practical exercises lead to a good understanding of the topic. But since the exercises take much time, it could be good to have mandatory proofs instead of some of the coding work. Another good thing about the exercises are the feedback sheets. It's also good their discussion is part of the lecture.
The combination of theory and exercises is really good, because all the problems are really explored.
The exercises are sometimes challenging but are close to what happens in the real world (e.g. a company working on route planning). One has to deal with big size data and therefore the design requires proper data structures. One single mistake and the whole execution's time is compromised. This course opened my mind on how I should write my code.
Also the infrastructure used is great (buildsystem, blog, versioning repositories, etc). The Prof. can explain everything really well, explaining complex algorithms in a clear way.
The lectures follow clearly each other. It's interesting to see a lot of Dijkstra improvements with the time. It's great in this course that almost everything used is in some kind open (OpenStreetMap, C++, Java?, free in the choise of development platform, never a special graphical system required, perfect course system (SVN, Daphne)). Your live Demos are quite fun.
The recording of the lectures are amazing. I don't think I could have achieved this level of comprehension by just being present because I easily get distracted in the classroom.
The exercises difficulty was perfectly set. The exercises sheets were well placed so we can maximize our learning and minimize the amount of work. Code suggestions and already given code (like the CVSparser) was great help to avoid unnecessary work.
My tutor did an amazing work correcting my exercise sheets. I got great advice from him. Also helped me to hunt complex hidden bugs. By doing that he showed me that he really cares about the exercises and that they are not only "points" I need to collect to get to the exam.
My CPP + STL skills improved which is a good extra.
Good exercises. Good support from the tutor. The exercises are really time-consuming, so it's hard to keep track of other lectures. Maybe the exercises could be a third of the exam points etc.
Recordings are great. Nice to get feedback. Great that we have to implement a lot. You learn how to code well with the style checkers.
I liked the focus on implementing the presented algorithms. I agree that, in order to really understand an algorithm, you have to implement it once to catch all the subtilities.
The second thing I really liked was the structure of the course, in the sense that it had a clear 'red thread' (i.e. the individual lectures were building on top of each other).
What do you not like so much about this course
When asked to compute values like average path cost in a network, it would be helpful to have some sort of orientation value (e.g. "it should be more like 24min then 5 hours").
An idea that kind of leads to far but would be very interesting: Have a little competition once in a while, like "the fastest Dijkstra implementation". Then briefly discuss that particular implementation in the next lecture or the forum. I think that would be a cool way of learning more about efficient code design.
Lint, I understand why we have to write test cases, they are important. Also code style is important, but I don't think for such a course. For example after the header guard there must be exactly two spaces and so on, it's annoying to fix all that. I think the tutor can still easily read my code if I write an else in the next line...
The code becomes really ugly after a while. At the beginning everything was OK, but then we added a flag for this and this algorithm, a field for this and this mode and debugging just became horror.
Test instances should be evaluated automatically on the server (runtimes etc.)
Some topics in the lecture were not formal enough (for me) so implementation was sometimes really hard.
I see no reason to improve anything.
Zeitaufwand für die Übungen war teils recht unterschiedlich.
Some of the exercises were pretty time consuming, at least for some students (e.g. contraction hierarchies). That depends strongly on the first few exercises where the basic data structures are developed. If they have problems with time and space (e.g. Java HashMap), those problems affect all following exercises. Hence, it would be very good if the students get some experience based information on pitfalls and problems with standard data structures and some best-practice programming methods for routeplanning and memory management.
The only thing I found quite annoying was sometimes feedback from the tutor was like: "Follow implementation advice given in the lecture". I guess that is the first thing people do when they start doing an exercise, so comments like that are not very helpful.
The slides shouldn't be updated 5 minutes before the lecture starts. We should have a chance to print a complete version in the morning.
A few more non-programming exercises would be nice. Maybe the non mandatory proofs should be mandatory.
Some more explanations why there are things supposed in the code suggstions like there are. Could be helpful for the design of the first exercise codes to get a preview what features have to be added to it in future. (Of this there was a little too less for me, I had to rearrange quite a lot code at the half of the lecture time...)
I only have two things to criticize: (1) The slides change up to one hour before the lecture, this makes it hard to have the correct slides for people who go to Uni at 10 in the morning. (2) Examples should be drawn in the lectures, not before. The time which is consumed by drawing is good for understanding.
Just some improvements. I think it would be nice if test cases would be provided. This would reduce a bit the time required for the exercise sheets, which sometimes exceeds the planned time. Moreover, one would be sure that everything is working properly. On the other hand, that would impose some
The advises of the tutor were really helpful. However, I had the feeling that he knew more about of C++ than of Java, because the tips were in general good but not focused on Java. The data for Public Transportation was not as good as the one for Road Networks.
Please draw each picture live. That costs time of course, but you can learn much more from it than from pre-drawn pictures.
Some exercises cost a lot of time, maybe better split them.
One possible improvement would be to make more clear during the course how we should prepare for the exam. I think I understand quite well all the topics but still fell unsecure about how the exam is going to be.
A lot of time went by with restructuring the code, as a lot of times the algorithms and the graph class had to be adapted. Maybe the structure of the classesGraph could be completely given at the start of the lecture. It would be useful to have the advice that hash maps for storing nodes is not the best idea, as well as taking the osmID as identifier...
How do you consume the lectures predominantly
Overlapping with other course I attend (without recordings).
Even though I have another lecture I have to go to at the same time, this is just so much more fun and more motivating. The recordings are helpful for doing the exercise sheet.
I'll only use the recording if I forget some details.
The lecture time did not fit in my schedule, otherwise I probably would have come a few times
Time saving. Besides, I can focus better and when I don't follow I can go back and listen to the most difficult fragments again.
It's very good to be present while listening the first time to new stuff (possibility to directly ask question) but also has the opportunity to watch some parts again in the recording while preparing the exercise sheet.
The recordings are also very useful (sometimes it may happen in lectures -- this is not special for this course! -- that you miss something or can't be present). It is also great that the recordings are available really fast in this course.
Lesson is very well structured, lots of useful examples, the recordings are very helpful as difficult parts of the lecture have to be seen at least twice.
Had another lecture at the same time.
The high quality of the video recordings and their prompt upload made it somewhat hard to find a real incentive to be present during the lectures.
Statistics for the "tick" questions
1. I learned a lot in this course: 15 x strongly agree, 3 x agree
2. The level of the lecture contents is: 7 x rather high, 10 x appropriate
3. The topical connections to other courses are identified: 4 x strongly agree, 6 x agree, 5 x undecided, 1 x disagree
4. Some learning content has already been covered in other courses: 8 x agree, 6 x undecided, 5 x disagree
5. A central theme of the course is clearly present: 15 x strongly agree, 3 x agree
6. The learning materials are helpful: 14 x strongly agree, 3 x agree, 1 x undecided
7. The lecturer explains well: 15 x strongly agree, 3 x agree
8. The lecturer responds to questions from students sufficiently and comprehensibly: 14 x strongly agree, 4 x agree
9. How many hours a week do you invest in this course: 12 x 9-12 hours, 5 x over 12 hours, 1 x 1-4 hours
10. How do you consume the lectures predominantly: 8 x present, 4 x recordings, 6 x partly / both
11. The exercises are: 14 x rather difficult, 4 x appropriate
12. The tutorials are a good addition to the lecture: 14 x strongly agree, 5 x agree
13. The tutor explains well: 11 x strongly agree, 5 x agree, 2 x undecided