The purpose of this course is to improve students understanding of algorithm design and analysis by studying algorithms working on more complex data structures.
When given a problem over a proprietary data structure, students will be able decompose the data structure and computation workflow to known cases and implementations.
When given the description of a new algorithm, students will be able to implement it in a programming language relying on implementation experience gained from this course.
When given a source code, students will be able to identify data structures and algorithms that are implemented in the given source code.
lecture, programming home work
The Art of Computer Programming - Donald Knuth
Data Structures and Algorithms Using Python - Rance D. Necaise
Data Structures and Algorithms with Object-Oriented Design Patterns in Python - Bruno R.Preiss
| Activities | Number | Contribution |
|---|---|---|
| Contribution of in-term studies to overall grade | 2 | 40 |
| Contribution of final exam to overall grade | 1 | 60 |
| Total | 3 | 100 |
| Activities | Number | Contribution |
|---|---|---|
| Assignments | 0 | 0 |
| Presentation | 0 | 0 |
| Midterm Examinations (including preparation) | 2 | 40 |
| Project | 0 | 0 |
| Laboratory | 0 | 0 |
| Other Applications | 0 | 0 |
| Quiz | 0 | 0 |
| Term Paper/ Project | 0 | 0 |
| Portfolio Study | 0 | 0 |
| Reports | 0 | 0 |
| Learning Diary | 0 | 0 |
| Thesis/ Project | 0 | 0 |
| Seminar | 0 | 0 |
| Other | 0 | 0 |
| Total | 2 | 40 |
| Activities | Number | Period | Total Workload |
|---|---|---|---|
| Class Hours | 14 | 3 | 42 |
| Working Hours out of Class | 14 | 3 | 42 |
| Assignments | 14 | 1 | 14 |
| Midterm Examinations (including preparation) | 1 | 10 | 10 |
| Final Examinations (including preparation) | 1 | 20 | 20 |
| Total Workload | 128 | ||
| Total Workload / 25 | 5.12 | ||
| Credits ECTS | 5 | ||