DETAILED SYLLABUS

Algorithms and Data Structures

1. Information about the study program

1.1 University / „Babeş-Bolyai” University Cluj-Napoca
1.2 Faculty / Faculty of Economics and Business Administration
1.3 Department / Business Information Systems
1.4 Field of study / International Business and Economics
1.5 Program level (bachelor or master) / Bachelor
1.6 Study program / Qualification / International Business and Economics

2. Information about the subject

2.1 Subject title / Algorithms and Data Structures
2.2 Course activities professor / Lecturer Cristian Bologa
2.3 Seminar activities professor / Lecturer Cristian Bologa;
2.4 Year of study / 2 / 2.5 Semester / 4 / 2.6 Type of assessment / Summative / 2.7 Subject regime / Optional

3. Total estimated time (teaching hours per semester)

3.1 Number of hours per week / 3 / out of which: 3.2 course / 2 / 3.3 seminar/laboratory / 1
3.4 Total number of hours in the curriculum / 42 / out of which: 3.5 course / 28 / 3.6 seminar/laboratory / 14
Time distribution / Hours
Study based on textbook, course support, references and notes / 10
Additional documentation in the library, through specialized databases and field activities / 4
Preparing seminars/laboratories, essays, portfolios and reports / 9
Tutoring / 5
Assessment (examinations) / 5
Others activities ......
3.7 Total hours for individual study / 33
3.8 Total hours per semester / 75
3.9 Number of credits / 3

4. Preconditions (if necessary)

4.1 Curriculum
4.2 Skills / “Introduction in programming” is the discipline that familiarizes students with programming in C language. In order to implement algorithms students need to know the C language.

5. Conditions (if necessary)

5.1. For course development / • For course lectures the following are required: projector, whiteboard, Computer with Internet connection
5.2. For seminar / laboratory development / • For laboratories the following are required: Computer with network programming environment C / C + + installed, projector, whiteboard
• The presence of students in labs is mandatory

6. Acquired specific competences

Professional competences / •  The usage of concepts, theories, principles and methods for investigating economic phenomena and processes: problems to be solved in this discipline are applied problems
•  Using computing systems, operating and the Internet resources efficiently: the study of algorithms is accompanied by a complex calculation
•  Development of software components using data structures, algorithms, techniques and evolved programming languages
Transversal competences / •  Identify training opportunities and efficient use of resources and learning techniques for students own development
•  Demonstrate concern for the improvement of professional business outcomes by assuming roles in a multidisciplinary team working
•  Participate in scientific projects and demonstrate the ability to identify opportunities for their own training in the future.

7. Subject objectives (arising from the acquired specific competences)

7.1 Subject’s general objective / After completing this subject, students will be able to elaborate the algorithm of a problem and to develop the C program according to the algorithm.
7.2 Specific objectives / • Acquiring algorithmic thinking;
• Description of the algorithms using flowcharts and pseudo-code
• Coding using C language
• Knowledge of the main sorting algorithms
• Learning programming techniques
• Learning to use recursion in problem solving
• Acquiring techniques which use the main data structures.

8. Contents

8.1 Course / Teaching methods / Observations
Complexity of algorithms: Sorting through direct insertion - complex analysis; Divide and impera - recursion elimination / Lecture / 1 Lecture
Methods sort: Heapsort, Quicksort, Sorting in linear time execution / Lecture / 1 Lecture
Programming methods: Greedy, backtracking, dynamic programming / Lecture / 2 Lectures
Abstract Data Types. Elementary data structures: linked lists, stacks and queues / Lecture / 1Lecture
Hash tables / Lecture / 1 Lecture
Binary Search Trees / Lecture / 1 Lecture
Red and Black Trees / Lecture / 1 Lecture
Elementary algorithms for processing graphs: representation of graphs, breadth first search, depth search, topological sorting, strong-related components / Lecture / 2 Lectures
Working on graphs: trees minimum coverage, minimum path algorithms / Lecture / 2 Lectures
Parallel algorithms - matrix multiplication goes sort / Lecture / 1 Lecture
Complex algorithms: algorithms strings matching, algorithms for solving NP-complete problems / Lecture / 1 Lecture
References:
1.  T.H. Cormen; C.E. Leiserson; R.L. Rivest, C. Stein –Introduction to algorithms, 3rd edition, MIT Press, 2009
2.  Aho A, Hopcroft J, Ullman J– Data Structures and Algorithms, Addison Wesley, 1983
3.  C. Bologa –Algoritmi şi structuri de date, Editura Risoprint, 2006.
4.  C. Giumale, I. Negreanu, S. Călinoiu, Proiectarea şi analiza algoritmilor. Algoritmi de Sortare, ed. ALL, Bucuresti, 1996
5.  D. Knuth - Arta programării calculatoarelor, vol, 1, 2, 3, ed. Teora, 1999
8.2 Seminar/laboratory / Teaching methods / Observations
Complexity of algorithms: Sorting through direct insertion - complex analysis; Divide and impera - recursion elimination / Interactive Laboratory / 1 Interactive Laboratory
Methods sort: Heapsort, Quicksort, Sorting in linear time execution / Interactive Laboratory / 1 Interactive Laboratory
Programming methods: Greedy, backtracking, dynamic programming / Interactive Laboratory / 2 Interactive Laboratories
Abstract Data Types. Elementary data structures: linked lists, stacks and queues / Interactive Laboratory / 1 Interactive Laboratory
Hash tables / Interactive Laboratory / 1 Interactive Laboratory
Binary Search Trees / Interactive Laboratory / 1 Interactive Laboratory
Red and Black Trees / Interactive Laboratory / 1 Interactive Laboratory
Elementary algorithms for processing graphs: representation of graphs, breadth first search, depth search, topological sorting, strong-related components / Interactive Laboratory / 2 Interactive Laboratories
Working on graphs: trees minimum coverage, minimum path algorithms / Interactive Laboratory / 2 Interactive Laboratories
Parallel algorithms - matrix multiplication goes sort / Interactive Laboratory / 1 Interactive Laboratory
Complex algorithms: algorithms strings matching, algorithms for solving NP-complete problems / Interactive Laboratory / 1 Interactive Laboratory
References:
1.  T.H. Cormen; C.E. Leiserson; R.L. Rivest, C. Stein –Introduction to algorithms, 3rd edition, MIT Press, 2009
2.  Aho A, Hopcroft J, Ullman J– Data Structures and Algorithms, Addison Wesley, 1983
3.  C. Bologa –Algoritmi şi structuri de date, Editura Risoprint, 2006.
4.  C. Giumale, I. Negreanu, S. Călinoiu, Proiectarea şi analiza algoritmilor. Algoritmi de Sortare, ed. ALL, Bucuresti, 1996
5.  D. Knuth - Arta programării calculatoarelor, vol, 1, 2, 3, ed. Teora, 1999

9. Corroboration / validation of the subject’s content in relation to the expectations coming from representatives of the epistemic community, of the professional associations and of the representative employers in the program’s field.

·  This subject is included in the certification offered by the Association of Chartered Certified Accountants (ACCA);
·  Course content is consistent with the curricula of both the Romanian university centers and those from abroad. To better adapt the discipline content to market demands there are meetings conducted with leading companies that develop software applications in Cluj Napoca.

10. Assessment (examination)

Type of activity / 10.1 Assessment criteria / 10.2 Assessment methods / 10.3 Weight in the final grade
10.4 Course / • Knowledge of principles of sorting algorithms / Quizzes throughout the semester
Written exam with open questions and problems. / 10%
40%
• Knowledge of principles of programming techniques
• key learning concepts and algorithms on data structures
For passing the exam is necessary to obtain the average 5 to this activity.
10.5 Seminar/laboratory / • Implementation of sorting algorithms / One problem to solve on computer / 50%
• Use recursion to solve problems
• Use programming techniques to solve problems
• Use various data structures problems
For passing the exam is necessary to obtain the grade of 5 to this activity.
10.6 Minimum performance standard
•  Knowledge of the main sorting algorithms, programming techniques and data structures used in programming
•  Grades at the written exam and practical exam must be at least 5.
•  The grades being granted are between 1 (one) and 10 (ten)

Date of filling Signature of the course professor Signature of the seminar professor 14.03.2017 Lecturer Cristian Bologa Lecturer Cristian Bologa

Date of approval by the department 14.03.2017 Head of department’s signature

Prof.dr.habil. Gheorghe Cosmin SILAGHI

4

NOTE: This document represents an informal translation performed by the faculty.