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