Algorithms and Data Structures 1 (AD1) -- SML part

Course 1TD442
in the "Datavetenskapligt Program" (DVP)
at Uppsala University, Sweden

First Year, 4 Credit Points, Period 3, Spring 2007
http://user.it.uu.se/~justin/Teaching/AD1/


Program Design II (PK2) -- SML part

Course 1IT022
in the Information Technology Programme (ITP)
at Uppsala University, Sweden

First Year, 4 Credit Points, Period 4, Spring 2007
http://user.it.uu.se/~pierref/courses/PK2/


The C part (2 credit points in AD1, and 1 credit point in PK2) is described
at http://www.it.uu.se/edu/course/homepage/ad1pk2C/vt07/!

Instructor

Justin Pearson http://user.it.uu.se/~justin/, email: justin.pearson at it.uu.se

Link to Online Evaluation system.

Old Exams

Old exams can be found on Pierre Flener's Webpage it might be good to look at the PK2 exams marked as by the previous instructor (me) for an idea of the style of the exams.

Link to the timetable.

Goals

The main objective is to make you familiar with some fundamental principles and methodologies of algorithm and data-structure design and evaluation. We will use the functional programming language Standard ML (SML) as the teaching medium. You will learn when to use each discussed algorithm and data structure, when not to, and what to consider when designing or choosing an algorithm or data structure. The lectures are in English, by the instructor, and have a slight theoretical flavour, but with many examples. Also see the popular-science description of this course.

More practice of algorithm and data-structure design (via programming in SML) is acquired through assignments. Several assignments are to be prepared at home, then tried on the computer in labs under assistant supervision, then submitted, and finally graded, but also discussed in lessons by the assistants.

Textbooks

The following two textbooks will be used: Note that PK2 students may replace CLRS by the following textbook: For HR and L, use voucher code ZP016F for free delivery if ordering directly at the Pearson Education publisher. I don't know if this voucher works anymore.

References

Infrastructure

To be able to follow the course productively, get practice, and work on the programming assignments, you should have an easily accessible Internet-connected computer with the following software installed: The Unix labs at MIC have this software properly pre-installed. If you plan on using other computers, try to have this software properly installed there before the course starts.

Lectures

For administrative reasons, the first two-hour-lecture is mandatory: contact the instructor if you cannot make it for some reason, ideally in advance.

Attendance at the other lectures is highly recommended, as the essential aspects (in the eyes of the instructor) will be pointed out and as the slides are not self-contained at all: they are only a support for the lectures, but not equivalent to their content.

Programs of the slides (the specifications are on the slides). The lectures include adapted material from Yves Deville, John Hamer, John Morris, Chris Okasaki, and Justin Pearson. Free printed copies of the slides are handed out in the classroom.

If you have a pressing question about the lecture material or course organisation, then contact the instructor at a lecture for an immediate answer, but not in his office. You can also contact him at justin.pearson at it.uu.se with a brief description of the issue and suggested time(s) for a meeting that is normally to be held at his office: you will be given an appointment. Only in exceptional cases will an answer be given by email, as email is not an effective teaching medium.

SML Assignments, Labs, Lessons, Assistants, Groups, and Questions

The assistants supervise 5 SML labs and give 5 SML lessons.

The AD1 assistant in 2007 is Ruslan Fomkin.

Attendance at the SML labs and SML lessons, and SI lesson is highly recommended (and sometimes mandatory, see the rules below), because without significant, constant practice and feedback, it is provably very hard to prepare properly for any exam.

SML assignments of 2007:

If you have a pressing question about the SML assignments or infrastructure, then contact your assistant(s) at a lab or lesson for an immediate answer, but not in their office. You can also contact them by email with a brief description of the issue and suggested time(s) for a meeting that is normally to be held at their office: you will be given an appointment. Only in exceptional cases will an answer be given by email, as email is not an effective teaching medium.

Rules about submitting solutions to the SML assignments:

These rules are effective as of 19 Mar 2007. The instructor reserves the right to modify them at any moment, should special circumstances call for this.

SML or C assignments from previous academic years:

Exams, Grading, and Reporting

The SML part of the course has a total of 4 credit points, distributed over an exam and the assignments: The course manager is not automatically creating accounts for every student that is formally registered to the course this academic year (see Uppdok). Such account creation is done by the instructor after the first, mandatory lecture, based on the roll-call performed there and the Uppdok list of confirmed students. So if you do not have a course manager account, it is because you missed the first, mandatory lecture.

The course manager is not automatically reporting awarded credit points to Uppdok. Such reporting is done manually by the instructor at the end of the study period, immediately after all the submitted assignment and exam solutions have been graded. The instructor then has no influence over the actual processing speed at IT kansliet. Also, the instructor's ink signature confirming the processed reports is then needed before the points can actually show up on your Uppdok transcript. So be patient and do not complain until at least a month after the official end of the concerned study period.

Exams from previous academic years:

There are no solutions in distributable form for these exams.

Course Evaluation and Feedback

Course evaluations are important and should include all opinions, including those of students who have no complaints: Last modified: Tue Sep 4 12:02:48 MEST 2007