General
Teaching Schedule
Day |
Time |
Classroom |
Monday |
16:00 - 18:00 |
Amphitheater SO |
Wednesday |
16:00 - 18:00 |
Amphitheater SO |
Assistive Lectures' Schedule
Day |
Time |
Classroom |
Friday |
16:00 - 18:00 |
Amphitheater A |
Course Summary
The course focuses on the study of basic data structures, i.e. arrays, stacks, queues, lists, trees, etc., as well as on more complex data structures such as balanced trees, graphs and others. In addition, the technique of hashing will be taught, as well as data structures for the implementation of dynamic dictionaries, simple sets and sets with special operations. Selected topics on sorting and basic techniques of algorithm design will be also taught.
Learning Outcomes
-
Modeling a problem through proper abstraction.
-
Designing or choose the appropriate data structures for specific programming problems.
-
Programming in a modular way using data abstractions.
-
Implementing and evaluate different data structures.
-
Studying basic algorithmic techniques.
-
Studying formal proofs of correctness.
Prerequisities
CS100 (Introduction in Computer Science) and CS150 (Programming) are prerequisite courses for this course. Successful completion of CS118 (Discreet Mathematics) will be also helpful. Students that have not succeeded on the courses mentioned above, do not have the required background to attend the course.