You are on page 1of 4

SYLLABUS

1. Data about the program of study


1.1 Institution The Technical University of Cluj-Napoca
1.2 Faculty Faculty of Automation and Computer Science
1.3 Department Automation
1.4 Field of study Systems engineering
1.5 Cycle of study Bachelor of Science
1.6 Program of study/Qualification Automation and Applied Informatics, English
1.7 Form of education Full time
1.8 Subject code 19.00

2. Data about the subject


2.1 Subject name Data Structures and Algorithms
2.2 Subject area programming
2.3 Course responsible/lecturer Assist. Eng. Cornelia Melenti, PhD
2.4 Teachers in charge of seminars Assist. Eng. Cornelia Melenti, PhD
2.7 Continuous
2.5 Year of study 2 2.6 Semester 1 Assessment assessment 2.8 Subject category DF/DOB
- exam CA

3. Estimated total time


3.1 Number of hours per week 4 3.2 of which, course: 2 3.3 applications: 2
3.4 Total hours in the curriculum 56 3.5 of which, course: 28 3.6 applications: 28
Individual study hours
Manual, lecture material and notes, bibliography 14
Supplementary study in the library, online and in the field 14
Preparation for seminars/laboratory works, homework, reports, portfolios, essays 28
Tutoring 14
Exams and tests 4
Other activities 0
3.7 Total hours of individual study 74
3.8 Total hours per semester 130
3.9 Number of credit points 5

4. Pre-requisites (where appropriate)

4.1 Curriculum Computer programming

4.2 Competence Ability to programming in C language

5. Requirements (where appropriate)


5.1 For the course N/A
5.2 For the applications This labs is mandatory
6. Specific competences
C2
competences

Operating with basic concepts of computer science, information technology and communication
Professional

N/A
competences
Cross

7. Discipline objectives (as results from the key competences gained)


Study abstract data structures and specific algorithms
7.1 General objective

Acquisition of theoretical knowledge like this:

- basic data types and their covering in memories


- abstract data structures: lists, stacks, queues, graphs,
trees, hash tables
- operations on abstract data type: inserts, delete, search,
update, sorts, trace, etc
- programming design technic: backtraking, divide et
7.2 Specific objectives impera and recursivity, branch and bound, dynamic
programing, greedy, minmax, grid computing, cloud
computing.
Acquisition of practical skills in
- creating an algorithmic reasoning
- to analyze a problem
- to find the informatics solution for a problem
- to implement in C and test the solution chosen

8. Contents
8.1. Lecture (syllabus) Teaching methods Notes
Administrative. Phases in Problem solving: analysing,
1.
design, implementation, tests. Algorithms performance.
2. Lists ADT. Stack. Queue. CRUD operation on lists.
Internal sorting algorithms: bubble sort, selection sort,
3. Slide based
insertion sort, merge sort
presentation and
Internal sorting algorithms (cont.): quicksort, shell sort,
4. algorithms trace
radix sort, counting sort, bucklet sort, etc
by example
Trees ADT. Representation and traversals: preorder,
5. postorder, inorder. Binary Search Trees. CRUD operation
on trees. Arbitrary trees. AVL trees.
6. Sets. Basic operations on sets. 2-3 and 2-3-4 trees. Priority
queues, heaps.
Hash table. Hash functions. Collision. Open addressing and
7.
chaining.
Graphs. Representation and traversals: DTS/BFS. CRUD
8. operations on graphs. Directed graphs. Algorithms for
shortest path (Dijkstra, Floyd)
Directed graphs. Algorithms for shortest path (Dijkstra,
9.
Floyd)
Undirected graphs. Traversals: DFS/BFS. Minimum cost
10.
spanning trees (Prim, Kruskal). Articulation point.
Algorithm Design: divide et impera, recursivity, dynamic
11.
programming.
12. Algorithm Design: brute force algorithms. greedy
13. Algorithm Design: backtracking, minimax algorithms.
Another type of computing: Grid computing vs. Cloud
14.
computing. Review of the subject..
Bibliography

1. IGNAT Iosif, IGNAT Claudia-Lavinia - Structuri de date si algoritmi, An aparitie: 2007 Cota
527.366
2. IGNAT Iosif, IGNAT Claudia-Lavinia - Structuri de date si algoritmi : indrumator de lucrari
de laborator, An aparitie: 2001 Cota 506.016
3. JOLDOS Marius, IGNAT Iosif - Data structures and algorithms : laboratory guide, An
aparitie: 2003 Cota 509.111
4. IGNAT Iosif, IGNAT Claudia-Lavinia - Programarea calculatoarelor : descrierea algoritmilor
si fundamentele limbajului C/C++ , An aparitie: 2002 Cota 508.311
5. CRAUS Mitica, BARSAN Corneliu - Structuri de date si algoritmi, An aparitie: 2002 Cota
507.305
6. CORMEN Thomas H., LEISERSON Charles E. , RIVEST Ronald R. - Introducere in
algoritmi, An aparitie: 2000 Cota 501.507
7. KNUTH Donald E. - Arta programarii calculatoarelor. Vol. 1: Algoritmi fundamentali, An
aparitie: 2000 Cota 501.199/1
8. KNUTH Donald E. - Arta programarii calculatoarelor. Vol. 3: Sortare si cautare, An
aparitie2000

8.2. Applications/Seminars Teaching methods Notes


Problems summarized in C. Phases of execution of a
1. program (discussion). Control structures (review). Using the
menus in the programming
2. Vectors
3. Lists. CRUD on lists. Sorts Discussion and
4. Trees. Representations and lists. CRUD on trees. trace the
We use
algorithms (on
5. Trees. 2-3-4 trees. Genealogy tree. Express evaluations CodeBlocks for
table)
6. Hash table implementation
Implement and
and tests
7. Graphs. Representations. CRUD on graphs test this on C (in
8. Graphs. Traversals CodeBlocks)
9. Graphs. Minimum costs (Dijkstra, Floyd algorithms)
10. Graphs. Minimum traversal tree (Kruskal, Prim algorithms)
11. Algorithm design technic : divide and impera, recursivity
12. Algorithm design technic : backtraking
13. Algorithm design technic : greedy
14. Final test
Bibliography

1. IGNAT Iosif, IGNAT Claudia-Lavinia - Structuri de date si algoritmi : indrumator de lucrari


de laborator, An aparitie: 2001 Cota 506.016
2. JOLDOS Marius, IGNAT Iosif - Data structures and algorithms : laboratory guide, An
aparitie: 2003 Cota 509.111
3. IGNAT Iosif, IGNAT Claudia-Lavinia - Programarea calculatoarelor : descrierea algoritmilor
si fundamentele limbajului C/C++ , An aparitie: 2002 Cota 508.311

9. Bridging course contents with the expectations of the representatives of the community,
professional associations and employers in the field
The lectures' topics cover the requirements of the IT&C companies and are consistent with the contents of
similar courses from other universities, both in the country and abroad.

10. Evaluation
10.3 Weight in the
Activity type 10.1 Assessment criteria 10.2 Assessment methods
final grade
Degree of assimilation of the Written examination 3h 60%
Course knowledge presented in progress Active participation on courses 10%
(instant test from current course
/3 simple question)
4 homework each for the Homework presentation (C 30%
following area: lists and sorts, code exam)
Applications trees, graphs, hash table,
algorithms designs (divide and
impera, recursivity, greedy,
backtracking, mixmax, etc.)
10.4 Minimum standard of performance
Grade >= 5

Date of filling in Teachers in charge of seminars


18.01.2016 Assist. Eng. Cornelia Melenti, PhD

Date of approval in the department Head of department


Prof. Eng. Honoriu Valean, PhD