CS3040 Low Level Programming

This course is an accelerated survey of the C programming language for computer scientists. It introduces students to programming practices using the C language, and the tools needed to effectively write and debug C programs. The class illustrates the design decisions associated with the low-level operations not implemented in other modern programming languages, demonstrating C's performance and control capabilities. Topics include function calling convention, dynamic memory allocation, recursion, file 1/0, kernel management of files, searching/sorting, data types, data structures using C (arrays, hash tables, doubly linked lists, etc), and secure programming in C. Prerequisites: Students are expected to know how to program in at least one language, or exempted by permission of the instructor. Familiarity with Linux or another UNIX-like operating system will be helpful.



Lecture Hours


Lab Hours


Quarter Offered

  • Fall
  • Spring