OrganizationThe course consists of lectures, laboratory exercise, and a few graded programming assignments. Approximately 70% of the final grade will be based on the exam, and 30% on the assignments.
- The exercises do not need to be reported on (but the assignments do need to be reported on).
- The exercises should be done in groups of 2, no more then 3 students.
- The programming assignments will be very much organized like the exercises, and should be done in the same groups (2 or max 3 students per group).
- The programming assignments will need to be thoroughly reported on, clarity of the report will affect the grade
Course ObjectivesAfter completing the course students should have the following knowledge and skills:
- Asess the suitability of algorithms in terms of execution time and memory
- Know techniques for algorithm design, such as divide and conquer, recursion, dynamic programming.
- Be familiar with data structures and algorithms for searching such as QuickSort, binary search trees, hash tables.
- Use algorithm design techniques and data structures as modules to solve major problems,
- Know of (and be able to use) basic software libraries with the implementations of said algorithms and datastructures (in this course: Java).
Course Literature Data Structures and Problem Solving using Java by Mark Allen Weiss,
Minimum requirements for a grade (section added 5th May 2010)
- Finish both assignments with a passing grade (40% of maximum score). Deadline for the first assignment is 24th of May, and the second is 24th of June
- Finish the exam with a passing grade (40% of maximum score)
Once the minimum requirements are fulfilled, possible higher grades will be considered.
You will not be required to attend computer sessions or lectures. Your performance there will not affect your grade. Feel free to ask silly questions, and do "stupid" mistakes. Do not hold back if you feel you do not understand something.