The aim of this course is to provide students with deep knowledge of structured programming concepts and design techniques, and implementation tools that facilitate debugging and testing.
Module Study Targets
Upon completion of the course, students will be able to:
- Write and Develop programs making extensive use of functions.
- Create and use structures and pointers.
- Organize and use files, dynamic memory allocation and dynamic data structures.
- Apply complex and advanced Structured programming techniques.
Furthermore students will be able to:
- Use an integrated programming environment effectively.
- Analyze, Design, correctly implement solutions to simple computational problems.
- Proficiently transform designs of problem solutions into C programming language.
- Apply debugging and testing techniques to locate errors.
- Apply structured programming techniques including design approaches, mnemonic naming, and use of documentation and avoidance of excessive branching.
Module Acquired Abilities
- Search, analysis and synthesis of data and information, using programming tools.
- Autonomous work: Knowledge of development tools and use of programming manuals.
- Teamwork: Ability for dialog and cooperation for the development of a programming project.
- Principles of structured programming.
- Characters and Strings.
- Pointers to functions.
- Dynamic memory allocation.
- Application with dynamic arrays.
- Enumerations, Unions.
- Functions and structures.
- Files I.
- Files II.
- Linked lists and queues.
- Advanced applications and problems.
Module Student Evaluation
Written examination: 60%
Laboratory examination: 40%
Project presentation of up to 20%, towards the written examination
- Y.H. Lu, "Intermediate C Programming", CRC Press, 2015
- S. Prata, "C Primer Plus (Developer's Library)", 6th Edition, Addison-Wesley Professional, 2013
- C. Sedgewick, "Algorithms in C", Addison-Wesley, 1998
- Kernighan, Ritchie, "The C Programming Language", 2nd Edition, Prentice Hall, 1988
- "C Style and Coding Standards", http://www.chrisott.org/resources/cstyle/indhillcstyle.pdf