C Programming

Professors Dimosthenis Kyriazis
Andreas Menychtas
Angeliki Panou
Course category Core
Course ID DS-501
Credits 7
Lecture hours 3 hours
Lab hours 2 hours
Digital resources View on Aristarchus (Open e-Class)

Learning Outcomes

The goal of this course is to introduce basic programming principles using the C programming language. C is a principal programming language and a fundamental component of C++ and Java. With the completion of the course, the student will be in position to:

  • understand and become familiar with the key concepts and principles of programming regardless of the programming language (e.g. methods / functions, variables, control loops, etc.).
  • know the main characteristics of the programming language C, as a basic language that can be applied to different cases and which is independent from the underlying operating system.
  • be able to implement code artefacts that provide solutions to a variety of problems by utilizing programming techniques and methods.

Course Contents

  • Introduction.
    • Algorithms
    • Pseudo code
    • Concepts of programming languages
    • Main elements of a c program
  • Data types, variables, operands and expressions.
    • Types, declarations and variable initialization
    • Type modifiers
    • Type casting.
  • Flow control.
    • Control: if, if…else, for, while, do etc.
    • Use of logical and relational operands
  • Arrays and strings.
    • Use, creation and management of single-dimension
    • Multi-dimensional arrays, use, creation and management of strings
  • Pointers.
    • Definition and initialization
    • Use of pointers
  • Functions.
    • Function prototypes
    • Recursive functions
    • Function arguments/parameters
    • Passing arguments to the main() function
  • Input/output functions.
    • Characters and alphanumeric input / output
    • Analytical presentation of get (), puts (), printf (), scanf ()
  • File management.
    • Introduction to streams
    • Introduction to file management
    • Analytical examination
    • Input / output functions in files.
  • Structures, unions and enumerations.
    • Define structures
    • Structure management
    • Use of structures
    • Indicators in structures
    • Creating associations

Moreover, the EVDOXOS system is utilized to provide additional useful information to the students as well as exercises that respond to the corresponding thematic topics / sessions covered by the course.

Recommended Readings

  • Deitel H.M. – Deitel P.J. (2003): C Programming
  • Schildt H. (2001): C Programming Language
  • Ν. Xatzigiannakis (2016): C Programming Language
  • G. S. Tselikis – N. D. Tselikas (2016): C: From study to practice
  • Aitken P., (2000): C Tutorial