Course Code: CSE 103 • Study year: I • Academic Year: 2022-2023
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: Ovidiu Domsa
Seminar tutor: Arpad Incze
Form of education Full-time
Form of instruction: Class
Number of teaching hours per semester: 56
Number of teaching hours per week: 4
Semester: Autumn
Form of receiving a credit for a course: Grade
Number of ECTS credits allocated 7

Course aims:

• Develop algorithmic thinking and skills for developing elementary algorithms.
• Learning basic tools for developing elementary algorithms.
• Knowledge of types of methods and data structure regarding algorithms and their development methods
• Use of an advanced programming language for implementing the studied algorithms

Course Entry Requirements:


Course contents:

1. General principles for structured programming and algorithm development. 2. Definitions: Algorithms. Characteristics. Structure, data and algorithmically steps. 3. Organizing data and structure in structural programming. Linear, alternative and while structures. 4. Algorithms: Elaboration, Correctness, Complexity and Testing. 5. Elementary algorithms. Switch variable values, alternative structures, While and repeat structures, vectors, mathematical quantification each/exist, Cartesian product algorithm. 6. Counting, Summary, Searching elementary algortitms. 7. Evaluation 8. Sub algorithms, defining parameters and variable transfer 9. Elementary sorting methods (Bubble sort, Selection Sort, Numbering Sort, Insertion Sort) 10. Sorting and searching algorithms complexity. Elementary algorithm methods. Intercalation. 11. Recursively algorithms. Recursively function. 12. C language. Elementary concepts. Vocabulary. Data definition. Input/output data in C. 13. Programming structure in C. Instructions IF, WHILE, DO, CASE 14. Elementary algorithms, applications.

Teaching methods:

Lecture, conversation, exemplification, problem solving, documentation.

Learning outcomes:

• acquisition of basic and specific knowledge about the concept of elementary algorithm; • the ability to identify the applicability of the studied algorithms in real problems; • understanding the need of using elementary methods to create algorithms when addressing problems from an algorithmic perspective; • acquiring basic knowledge on the concept of algorithms complexity.

Learning outcomes verification and assessment criteria:

Written exams – 50%; Continuous assessment and laboratory practical works – 50%.

Recommended reading:

• Ovidiu Domsa, Imperative / Procedural programming, - , - , 2013 , -
• Cormen T.H., Leiserson E.C., Rivest R.R., Introduction in algorithms, MIT Press , - , 2001 , -
• Dahl O.J., Dijkstra E.W., Hoare C.A.R., Structured Programing, Academic Press , - , 1972 , -