Structured Programming

General

Educational goals

The course is an introduction to the basic principles of Algorithmic and Programming. Subject objectives of the course are (a) the development of algorithmic skills and competences and (b) the learning of the basic principles of structured programming without any prior programming experience. The course uses the programming capabilities provided by C language to implement simple algorithms and to gradually learn the basics of structured programming through small programs and tasks. In more detail this introductory course: ● Provides students with the basics of the principles of algorithmic and structured programming. ● Helps to understand C.'s environment and characteristics. ● Provides programming experience capable of implementing simple algorithms and simple practical applications. ● Helps to implement simple programs. ● Provides the background for further deepening in Object Oriented Programming in the 2nd semester, as well as learning other programming languages. Upon successful completion of the course the student will be able to :

  • Understand the structures of algorithms and programming problems
  • Recognize and interpret the data of a problem
  • Learn and apply programming algorithms and problem solving commands
  • To evaluate and draw the appropriate conclusions from the solutions to the problems
  • Practicing in the laboratory
  • Correct his-her mistakes by commenting on the lectures and the laboratory of common mistakes in course exercises
  • Practice in critical and inductive thinking

Course Contents

The topics covered in the course (theoretical and laboratory part) are:

● Introduction to Algorithmic, Structured Programming and C
● Basic Data Types – Operators – Constant – Variables
● Input – Output Data
● If  switch commands
● Repeat Commands: while, do… while, for
● Functions – parameters
● Arrays – One-dimensional – Two-dimensional
● Serial – Binary Search, Classification Algorithms
● Recursion
● Indicators
● Structures
● Files

Teaching Methods - Evaluation

Teaching Method
  • Face to face theoretical teaching (delivery, discussion, problem solving), laboratory practice with solved and unsolved exercises.
Use of ICT means
  • Using the moodle platform.
  • Further support of the learning process
  • through the course website.
  • Using specialized software (DevC ++)
Teaching Organization
Activity Semester workload
Lectures52
Writing and presenting compulsory work26
Individual study and analysis of literature102
Total 180
Students evaluation

Laboratory Practice (30%), which includes:
- Exercises in the laboratory and solved for practice
- Final Exam in the Laboratory Part of the Course with C Code Writing Exercises

Written final exam in Theoretical Part of the course (70%) which includes exercises related to simple algorithms and problems.
Optional Progress Test.

30% of the final grade in the Laboratory Part of the course is added to 70% of the final grade in the Theoretical Part of the course, only if the student (s) has the necessary attendance in the Laboratory and a grade of at least 5.0.

Recommended Bibliography

Recommended Bibliography through "Eudoxus"
  1. C για Επιστήμονες και Μηχανικούς, Cheng H. Κωδικός Βιβλίου στον Εύδοξο:18548936
  2. C Προγραμματισμός, 7η Έκδοση, Abbey Deitel,Harvey, Deitel, Κωδικός Βιβλίου στον Εύδοξο: 41960258
  3. C: Από τη Θεωρία στην Εφαρμογή, Γ. Σ. Τσελίκης - Ν. Δ. Τσελίκας, Κωδικός Βιβλίου στον Εύδοξο: 68383623
  4. Εισαγωγή στον Προγραμματισμό β έκδοση, Αντωνοπούλου Η. Βογιατζής Ι., Κωδικός Βιβλίου στον Εύδοξο:77120162
Complementary international bibliography
  1. Greg Perry, C Programming Absolute Beginner's Guide, Que Publishing; 3 edition (7 Aug. 2013), 978-0789751980