COP 5227: C Programming Essentials
The purpose of this course is to get familiar with Linux, design a program of moderate complexity as multiple small, easily understood modules in C. This course will also teach how to correctly use and reason about pointers and pointer arithmetic and use dynamic memory allocation for arrays and structures.
By the end of this course, students will be able to:
- Edit, compile, link, and execute C programs on the Linux platform.
- Use modules to organize a C program.
- Map their pre-requisite knowledge about data types, Input / Output operations, and execution control flow to the C programming language.
- Correctly trace through C programs using pointers and pointer arithmetic.
- Correctly use pointer dereferencing and arithmetic with arrays, strings.
- Use structs and unions to model more advanced data structures.
- Correctly use pointers to allocate / deallocate arrays, strings, structs and unions.
- Apply their knowledge to implement a rudimentary data structure such as a linked list.
List of topics covered:
Elementary data types, I/O operations, Control flow, Functions, Block Scope, Arrays, Strings, Preprocessor Directives, Pointers, Dynamic Memory Allocation, Data Structures, Dynamical Data Structures etc.
Study resources: Playlist
Computer Science and Engineering
ENB 343E | email@example.com
Link to Dr. Gaspar's research lab: https://cereal-lab.github.io/