Overview
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.
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.
Assessment
Written exams – 50%; Continuous assessment and laboratory practical works – 50%.