Structured Programming
About this course
This course focuses on algorithmic problem solving and algorithm implementation, thus aiming at the development of general reasoning and problem solving skills to fluently interpret and design structured procedures and rule systems.
Expected learning outcomes
Specific objectives of the course focus on developing skills for:
a) Algorithmic thinking, i.e. how to analyse the solution to a given problem in a finite number of well-defined steps.
b) Algorithm implementation, i.e. how to transform an algorithm to a computer program and what are the best practices in coding, documentation and effective use of computer memory and processing power.
c) C Programming Language, i.e. acquaint students with one of the most fundamental programming languages. The course emphasizes on different concepts including variables, numerical operations, control structures, procedures, pointers, data structures and memory management.
a) Algorithmic thinking, i.e. how to analyse the solution to a given problem in a finite number of well-defined steps.
b) Algorithm implementation, i.e. how to transform an algorithm to a computer program and what are the best practices in coding, documentation and effective use of computer memory and processing power.
c) C Programming Language, i.e. acquaint students with one of the most fundamental programming languages. The course emphasizes on different concepts including variables, numerical operations, control structures, procedures, pointers, data structures and memory management.
Indicative Syllabus
Following are the titles of weekly lectures:
1. Introduction: Algorithms and Programs
2. Variable types, operands, program input/output
3. Flow Control Structures: sequence, selection, repetition
4. Arrays
5. Pointers, pointer operations, array-pointer relationship
6. Functions, call-by-reference, call-by-value, variable scope
7. Strings and string operations
8. Dynamic Memory Allocation
9. Data Structures
10. File operations
1. Introduction: Algorithms and Programs
2. Variable types, operands, program input/output
3. Flow Control Structures: sequence, selection, repetition
4. Arrays
5. Pointers, pointer operations, array-pointer relationship
6. Functions, call-by-reference, call-by-value, variable scope
7. Strings and string operations
8. Dynamic Memory Allocation
9. Data Structures
10. File operations
Teaching / Learning Methodology
TBA
Recommended Reading
[1] Programming in C. C, Kernighan B., Ritchie D., Pearson; 2nd edition, 1988.
[2] Programming in ANSI C. E. Balagurusamy, MC GRAW HILL INDIA; 8th edition, 2019.
Prerequisites
Start Date
TBA
End Date
TBA
Apply
TBA
Local Course Code
0807.2.004.1
Cycle
TBA
Year of study
TBA
Language
English
Study Load
Lectures 2 hours per week, Practiacal 2 hours per week, In total 4 hours per week 7 ECTS
Mode of delivery
TBA
Instructors
Dr. Chrisoula Alexandraki
Course coordinator
Dr. Chrisoula Alexandraki