Before contacting anyone for help, please check whether your question has an answer in the FAQ list below. If not:
If you have a question about the lecture material or course organisation, then contact the head teacher. An immediate answer will be given right before and after lectures, as well as during their breaks.
If you have a question about the assignments or infrastructure, then contact the assistants at a help or solution session for an immediate answer. Short clarification questions (that is: not about modelling or programming issues) that are either emailed to the AD3 helpdesk (rather than an individual teacher: see the AD3 helpdesk discussion at Studium for the email address of the helpdesk) or posted to the AD3 helpdesk discussion at Studium are answered as soon as possible during working days and hours. No answer means that you should go to a help session: almost all the assistants' budgeted time is allocated to grading and to the help, grading, and solution sessions.
The legislation on plagiarism and cheating (summary) of Uppsala University will be rigorously applied, without exceptions. This disallows using a public repository (such as GitHub, where you should use a free private student repository) for code management within your team. We reserve the right to use plagiarism detection tools and point out that they are extremely powerful.
When submitting you implicitly certify that your report and all its uploaded attachments were produced solely by your team, except where explicitly stated otherwise and clearly referenced, that each teammate can individually explain any part starting from the moment of submitting your report, and that your report and attachments are not be freely accessible on a public repository.
Will I get rich after passing this course? Some of the wealthiest people on the planet made their fortunes from clever algorithms and data structures, witness Sergey Brin and Larry Page, inventors of the Google web search engine (valued at many gazillions of sek). Some of the wealthiest people in Sweden studied at Uppsala University and went on to develop software needing clever algorithms and data structures, witness some of the founders of OnGame (acquired by bwin for about 4.5 billion sek), MySQL (acquired by Sun Microsystems for about 6.3 billion sek), and Skype (acquired by eBay for at least 17 billion sek). There is no limit to the need for efficient algorithms and data structures.
Should I buy the textbook? The CLRS4 textbook, available free-of-charge (courtesy the Swedish taxpayer!) as an e-book at the UU library, is a timeless classic and serves as a reference to many professional programmers. Its breadth of coverage, wealth of detail, and crisp precision are daunting to some students, who may prefer another pedagogical approach, such as in the reference book (which underlies many of the slides), but many students grow to like these features. Besides, the CLRS4 textbook is also used in other UU courses on algorithm design.
What to do if I missed a lecture? Why are the lecture slides so concise, rather than telling the complete story? Lecture slides are by design just the backbone for interactive teaching: they contain the essential results and algorithms, so that no time is spent writing them to or from the blackboard. Also, a teacher complements this backbone with a lot of important insights, both in writing on the blackboard and in talking, so you ought to take notes in order to document the complete story. If you take no notes or missed a lecture, then the slides alone often do not suffice to reconstruct the complete story, so you should then consult other sources, such as the textbook and the Resources, and should ask an attending student (not a teacher) which material was covered in your absence.
Why do you give page ranges for the externally stored Princeton slides instead of locally storing downloads without the skipped slides? The skipped Princeton slides often have examples that we skip for reasons of time and required theoretical content, so their removal would deprive us of other replies to FAQs B.6 and C.1 below. Also, the Princeton slides may dynamically evolve during the course as clarifications are added, ambiguities are resolved, and errors are corrected by their author (often in reaction to our feedback from UU), so a locally stored projection of their content would deprive us of these enhancements.
What pages of the CLRS4 textbook should I read? See the reading instructions in the table at Lectures, Slides, and Literature.
What are the practical applications of the discussed algorithms and data structures? Most batches of slides list a lot of practical applications. Each algorithm and data structure has an abstract name so that one does not risk thinking its scope is restricted to a particular application.
Why are there not more examples and solved exercises in lectures? Like every course, AD3 has a required theoretical content (which is not decided by the head teacher) and the standard time budget (students are 33% fulltime on AD3, and no teacher is anywhere near fulltime on AD3): the balance of theory and practice in the lectures simply follows from these data and is not a sign of our bad will. On the contrary, if allocated more time (but this is impossible), then we would love to offer additional practical problem solving sessions. Note that the CLRS4 textbook and the skipped Princeton slides (which are based on the reference book) often have additional examples (see reply to FAQ B.3 above), that the website of the CLRS4 textbook has solutions to many of its exercises, and that there are help sessions and solution sessions for the assignments.
Why are there not more assistants? Why are there not more examples and solved / supervised exercises by assistants in lessons? Like every course, AD3 has the standard time budget (students are 33% fulltime on AD3, and no teacher is anywhere near fulltime on AD3): the number of scheduled events simply follows from these data and is not a sign of our bad will. On the contrary, if allocated more time (but this is impossible), then we would love to offer additional practical problem solving sessions. Note that the CLRS4 textbook and the skipped Princeton slides (which are based on the reference book) often have additional examples (see reply to FAQ B.3 above), that the website of the CLRS4 textbook has solutions to many of its exercises, and that there are help sessions and solution sessions for the assignments.
How do I best use my time, and yours, in order to solve an assignment? Prepare your solution as far as possible until the corresponding help sessions, in order to make best use of that reserved timespan of personal attention by the assistants. This is much more effective than going to a help session, printing out the assignment (which was published at least a week before the first help session and often does not require any material taught in the meantime), and not meeting all the difficulties until the end of the two session hours.
Why is there not more email support for the assignments? We have scheduled almost all the standard time budget for the lectures, help sessions, grading sessions, solution sessions, grading, and preparation. This is why we can only answer to emailed short clarification questions that trigger brief reply times, and this is a more personal and rational way of spending the standard time budget: more email support would inevitably result in fewer help sessions.
I am lost! Why do the assignment instructions not tell us how to solve the questions? Stating only what output has to be computed from the inputs is a pedagogical choice. In real-life engineering problems, you are not asked to solve a problem by using method m on page p of textbook t. Come to some of the help sessions of an assignment in order to get advice on what is wrong with your current solution or get hints on how to proceed. If you think a programming task is insufficiently described in terms of its pre- and post-conditions, then contact the teachers: we vet problem descriptions with utmost care and no flaws are due to purpose or sloppiness.
Why are there not a lot of small assignments rather than the few bigger ones? Algorithm and data structure design is best practised not by drill of small questions with no relation to each other or real life, but by tackling bigger assignments, which have been selected as examples of the infinite variety of interesting algorithmic questions that occur in real life.
Why do we need to hand in reports in addition to programs? This is an algorithms course and your models or programs for combinatorial optimisation problems have to be experimentally evaluated, hence a report is needed, as we are not just interested in your models and programs, but also in how you discovered and evaluated them. Also note that this course was chosen in order to fulfil the curriculum goal of the ability to communicate in writing: see the last of the learning outcomes of the course.
Why do we not get more finegrained feedback on our assignment reports and programs? Our solution sessions are a more rational way to use the standard time budget: we give collective feedback instead of finegrained team-wise feedback. More detailed comments can be obtained orally from the assistants upon appointment.
Why can I not do the assignments alone? Teamwork is usually a very rewarding experience, whether you learn from or teach to the other student, especially for a course like this where the assignments are unlike almost everything you have seen before: choose a partner whose skills are not interchangeable with yours. Note that the assignments are calibrated somewhat smaller for the students who work alone and have an approved reason for this.
Why is there no bonus system? Since the introduction of anonymous exams, the handling of bonus systems is much more time-consuming for the teachers: the students cannot have it both ways. The compensation offered in this course is that the assignments no longer have a pass/fail grade but a 3/4/5 grade and that the overall grade is no longer the exam grade but a function of the assignment grade and the exam grade.
I will miss (or have missed) a mandatory event: is pre-booked travel considered force majeure? Of course not: full-time students are expected to work full-time during all working days and working hours, so all absences are at the risk of the student and no exceptions are made for travelling students, especially that the schedules, including the mandatory events, are published many weeks in advance.
I nearly passed the exam. What can I do to avoid taking the next exam? No make-up opportunities will be created for near-passes, as the head teacher evaluates those cases very carefully before announcing the exam results.
I passed the exam or assignments, but why are my credits not reported yet to Ladok? Studium is not automatically reporting awarded credits to Ladok, but there is a manual process involved in that. So be patient and do not worry until at least a month after the official end of the study period.
How do I install LaTeX or the MIP, SAT, and SMT solvers on my own computer? Follow the links at the Resources. We have no resources to help you with installation issues, since we provide you with installation-free options.
Why do I not get a reply to my query? On working days and hours, you can normally expect a reply within a few hours, provided it is either emailed to the AD3 helpdesk (rather than an individual teacher) or posted to the AD3 helpdesk discussion at Studium, is a clarification question, is brief, is unanswered in this FAQ, and is answerable in a short time.
Are you interested in additional links to great internet resources? Yes, absolutely! Send us an email with links, and we will add the best ones to the course web-pages.