#### PROGRAMMING BASICS

###### 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 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%.