CS 9C. C for Programmers

Current Schedule (Spring 2015)


Catalog Description: (1 unit) Self-paced course in the C programming language for students who already know how to program. Computation, input and output, flow of control, functions, arrays and pointers, linked structures, use of dynamic storage, and implementation of abstract data types.

Prerequisites: Programming experience with pointers (or addresses in assembly language) and linked data structures equivalent to that gained in CS 9B, CS 61A, or Eng 77N.

Course objectives: Students are expected to learn the basics of C programming (up through constructs, arrays, and pointers). In the process of learning the language, they will be applying knowledge of mathematics, science and engineering. As many of their projects require a fair bit of software engineering, they will also be making design decisions (algorithm, data structure, time-vs-space, etc) and considering various implementation trade-offs.

Topics covered:

  • Computation
  • Input/Output
  • Functions and procedures
  • Flow of control
  • Arrays
  • Pointers
  • Structures
  • Files
  • Linked structures
  • Implementation of abstract data types
  • Use of the "malloc" and "free" functions

General Catalog