This course is archived

Go here to see the updated course for the current academic year

DATA STRUCTURES AND ALGORITHMS

Course Code: INFO 109 • Study year: I • Academic Year: 2019-2020
Domain: Computer Science • Field of study: Computer Science (in English)
Type of course: Compulsory
Language of instruction: English
Erasmus Language of instruction: English
Name of lecturer: Corina Rotar
Seminar tutor: Corina Rotar
Form of education Full-time
Form of instruction: Class
Number of teaching hours per semester: 56
Number of teaching hours per week: 4
Semester: Summer
Form of receiving a credit for a course: Grade
Number of ECTS credits allocated 7

Course aims:

• Develop students' ability to design software that is dedicated to solving medium complexity problems.
• Deepening the concept of data structure and gaining the skills to design abstract data types and associated libraries.
• Creating a rigorous and efficient programming style
• Developing students' ability to effectively manage information by using abstract data types and rigorously designing the algorithms to process the data.
• Drawing a coherent documentation on the applications of average complexity.

Course Entry Requirements:

• Imperative and Procedural Programming

Course contents:

1. Introduction. Programming paradigms 2. Data structures. Abstract data type (ADT). Examples: Rational ADT, Compex ADT- 2 sessions 3. Dynamic memory allocation 4. Simple linked lists, circulars, stack, and queue. 5. Double Linked lists 6. ADT Trees 7. ADT tables 8. TAD Graphs. 9. Algorithms on graphs. 10. Programming methods. Divide et Impera technique. 11. Greedy method. 12. Branch and Bound method. 13. Backtracking method. - 2 sessions 14. Dynamic programming method.

Teaching methods:

• Lecture, Cooperative learning, Discussion and survey, Team-based learning.

Learning outcomes:

• Implementation and documentation of the software units in high-level programming languages and efficiently used programming environments.

Learning outcomes verification and assessment criteria:

• Final evaluation (writen exam) 60% • Laboratory activities portfolio -40%

Recommended reading:

-, • Knuth, Donald E. , The Art of Computer Programming, Vol I si II, Teora, 1999., -, -, -, -.
-, • Eckel, Bruce. Thinking in C++,, -, -, -, -.
-, • Rotar, Corina, Algorithms and Data Structures, Lecture notes (seria Didactica), -, -, -, -.