At the end of this course, the students will be able to learn and use the C programming language to design and implement advanced computer programs.
To be more specific, at the end of this course, students will be able to:
- Understand basic data types such as int, float and arrays and understand how different types of data can be represented and used in computational expressions.
- Differentiate computational evaluation of expressions from mathematical evaluation due to concepts such as overflow, side-effect, and truncation.
- Understand and apply structured programming concepts by elaborating on sequential, selective, repetitive structures, such as statements, if/switch/case statements, and for/while statements.
- Understand the run-time behavior of a program in terms of memory management and function execution and apply their knowledge on run-time behavior of a program for effectively determining the outcome of a program.
- Check the correctness of a given program in terms of compile-time and run-time behavior.
- Remember and use widely used C standard library functions, such as input/output functions and string functions, in a program.
- Critique on a code’s readability in terms of variable naming, modularity, indentation.
- Interpret a computational problem specification and algorithmic solution and implement a solution in C to solve that problem.
- Construct new composite data types such as 3D Point, Vector using struct and union.
- Modify an existing solution to a problem to accommodate for extension and/or change of problem specifications.
- Design a modular solution to a problem by decomposing it into smaller sub-problems.
- Understand and apply pointer operations and dynamic memory management functions effectively.
- Understand file operations using standard input/output function for reading and writing files.
Since this course is offered exclusively to other departments, the link to the program education objectives (PEO) is omitted.