Introduction to C Programming

I.     Course Prefix/Number: CIS 220

       Course Name: Introduction to C Programming

       Credits: 4 (3 lecture; 2 lab)

II.    Prerequisite


III.   Course (Catalog) Description

Course introduces procedure-oriented programming using the C programming language to solve business-related problems. Content includes writing, compiling, executing, and debugging programs, essential elements of the language, syntax, operators, data types, program controls, pointers, arrays, structures, and unions, input/output, and disk processing. Recommended: CIS 101, and CSC 155 (C++) or CSC 156 (Java) or CSC157 (Python) or comparable programming knowledge or consent of instructor or program coordinator.

IV.   Learning Objectives

The goals of this course are to develop a proficiency in C by:

  1. Use the C programming language commands to design, code, compile, debug, and execute programs.
  2. Develop programming logic for using appropriate tools such as TOE (Task, Object and Event) charts, hierarchy charts, flowcharts, and pseudocode.
  3. Develop code that validates input data.
  4. Develop code that utilizes pointers.
  5. Develop code that properly manages memory.
  6. Analyze program-generated output for accuracy.

V.    Academic Integrity and Student Conduct

Students and employees at Oakton Community College are required to demonstrate academic integrity and follow Oakton's Code of Academic Conduct. This code prohibits:

• cheating,
• plagiarism (turning in work not written by you, or lacking proper citation),
• falsification and fabrication (lying or distorting the truth),
• helping others to cheat,
• unauthorized changes on official documents,
• pretending to be someone else or having someone else pretend to be you,
• making or accepting bribes, special favors, or threats, and
• any other behavior that violates academic integrity.

There are serious consequences to violations of the academic integrity policy. Oakton's policies and procedures provide students a fair hearing if a complaint is made against you. If you are found to have violated the policy, the minimum penalty is failure on the assignment and, a disciplinary record will be established and kept on file in the office of the Vice President for Student Affairs for a period of 3 years.

Please review the Code of Academic Conduct and the Code of Student Conduct, both located online at

VI.   Sequence of Topics

  1. Development of C
    1. Brief history
    2. Character of C
    3. Use of C
    4. Portability
    5. Problem solving and program development
    6. Run-time function libraries
  2. Introduction to C language
    1. Variable naming and type declaration
    2. Instruction syntax
    3. The preprocessor
    4. Compiling a C program
    5. Standard input and output
    6. Input and output redirection
  3. Basic data types
    1. Integer
    2. Real number
    3. Character
  4. Operators
    1. Assignment operator
    2. Arithmetic operators
    3. Relational operators
    4. Logical operators
    5. The ++ and – operators
    6. Bitwise operators
    7. The precedence operators
    8. The sizeof operator
  5. Program control flow
    1. Decisions
      1. Unconditional branching (goto)
      2. Conditional branching
    2. Iterative schemes
      1. while
      2. do – while
      3. for
      4. break and continue
  6. Arrays (tables)
    1. One-dimensional
    2. Multidimensional
    3. Initializing arrays
  7. Pointers
    1. Pointer variables
    2. Initializing pointers
    3. Levels of indirection
    4. Pointers and arrays
    5. Pointers to char and arrays of type char
    6. Arrays and pointer arithmetic
    7. Pointer operations
  8. Functions and program structure
    1. Predefined functions
    2. Arguments an parameters
    3. Call by value
    4. The scope of variables
    5. Preprocessor facilities
  9. Storage classes and type qualifiers
    1. Automatic versus static variables
    2. Global versus local variables
    3. Modules and external variables
    4. Blocks and nested blocks
    5. Storage classes for functions
    6. Type qualifiers const and volatile
  10. Input and Output
    1. Opening and closing files
    2. Character input and output
    3. String input and output
    4. Reading block of data at a time
    5. Formatted input and output
    6. Unformatted input and output
    7. Random versus sequential access in files
  11. Structures, unions, and enumerated types
    1. typedef
    2. Operations on structures
    3. Pointers to structures, nested structures
    4. Structures and functions
    5. Enumerated types
    6. Unions

VII.  Methods of Instruction

Lectures, class discussion and problem analysis, analysis of case studies, programming assignments.
Course may be taught as face-to-face, hybrid or online course.

VIII. Course Practices Required

  1. Reading: The primary reading material will be the required text and lab manuals as needed.
  2. Lab projects and problem solving. All programs must be documented to explain the algorithm being used, how the program is to be run, expected input and output.
  3. Mathematics: Simple business mathematics.
  4. Computer use: All lab assignments will be done on available microcomputers.
  5. Lab practices: The students will be allowed to develop their programs on whatever computer is available to them but will be required to demonstrate capability on the current equipment in the computer lab.

Course may be taught as face-to-face, hybrid or online course.

IX.   Instructional Materials

Note: Current textbook information for each course and section is available on Oakton's Schedule of Classes.

X.    Methods of Evaluating Student Progress

  1. Examinations and quizzes
  2. A minimum of eight lab assignments will be completed.

XI.   Other Course Information

If you have a documented learning, psychological, or physical disability you may be entitled to reasonable academic accommodations or services. To request accommodations or services, contact the Access and Disability Resource Center at the Des Plaines or Skokie campus. All students are expected to fulfill essential course requirements. The College will not waive any essential skill or requirement of a course or degree program.

Oakton Community College is committed to maintaining a campus environment emphasizing the dignity and worth of all members of the community, and complies with all federal and state Title IX requirements.

Resources and support for
  • pregnancy-related and parenting accommodations; and
  • victims of sexual misconduct
can be found at

Resources and support for LGBTQ+ students can be found at

Electronic video and/or audio recording is not permitted during class unless the student obtains written permission from the instructor. In cases where recordings are allowed, such content is restricted to personal use only. Any distribution of such recordings is strictly prohibited. Personal use is defined as use by an individual student for the purpose of studying or completing course assignments.

For students who have been approved for audio and/or video recording of lectures and other classroom activities as a reasonable accommodation by Oakton’s Access Disabilities Resource Center (ADRC), applicable federal law requires instructors to permit those recordings. Such recordings are also limited to personal use. Any distribution of such recordings is strictly prohibited.

Violation of this policy will result in disciplinary action through the Code of Student Conduct.