Revised 3/2016

ITP 230 - C Programming II (4 CR.)

Course Description

Consists of instruction in advanced structured techniques to application development using C. Course content emphasizes database structures, database connectivity, and operating system components. Lecture – 4 hours per week

General Course Purpose

This course provides a comprehensive foundation sufficient for a student to write C advanced programs from scratch in order to meet the minimum programming goals of students who which to learn advanced structured programming techniques.

Course Prerequisites/Corequisites

Prerequisite: ITP 130

Course Objectives

Upon completion of this course, the student will be able to:

  • Overview of Basic C
  • Advanced Data Structures and Dynamic Memory
  • Advanced Functions
  • Connecting to the Database
  • C and the Operating System 

Student Learning Outcomes

Overview of Basic C

  • Write code to declare variables
  • Describe the precedence of operators.
  • Write code that uses functions, looping and decision logic
  • Write code that uses structures, pointers and arrays.
  • Describe file handling techniques and differences between Random Access Files and Sequential Access Files
Advanced Data Structures and Dynamic Memory
  • Write code that uses Bitwise logical operations
  • Write code that uses Bytewise logical operations
  • Write code that uses dynamic memory allocation using malloc
  • Define and use stacks, queues, lists and trees
  • Describe and define unions and enumerators
Advanced Functions
  • Write code to demonstrate the use of a use hashing functions
  • Write code to implement sorting functions to include quick sort and multilevel sort
  • Write code to Incorporating multilevel searches within your application
  • Write a recursive function as a solution to a problem
  • Describe and define graphs and techniques to search
Connecting to a Database
  • Write code that uses file pointers to access the database
  • Write code to use SQL header files and built in functions
  • Write code to Embed SQL commands in C code
  • Write code to allocate buffered memory to receive SELECT results
User Interface
  • Describe how to use a windows command shell to compile and run C program that interact with the command shell
  • Describe how to use a Unix or Linux command shell to compile and run C program that interact with the command shell
  • Describe the configurations and use of graphical user interfaces (GUI / windows) to create and run C programs

Required Time Allocation per Topic

In order to standardize the core topics of ITP 230 so that a course taught at one campus is equivalent to the same course taught at another campus, the following student contact hours per topic are required. Each syllabus should be created to adhere as closely as possible to these allocations. Of course, the topics cannot be followed sequentially. Many topics are taught best as an integrated whole, often revisiting the topic several times, each time at a higher level. There are normally 60 student-contact-hours per semester for a four credit course. (This includes 15 weeks of instruction and does not include the final exam week so 15* 4 = 60 hours. Sections of the course that are given in alternative formats from the standard 16 week section still meet for the same number of contact hours.)

Topic Hours Percentage
Overview of Basic C 12 20.0%
Advanced Data Structures and Dynamic Memory 12 20.0%
Advanced Functions 12 20.0%
Connecting to a Database 12 20.0%
User Interface 4 6.7%
Exams 8 13.3%
Total 60 100.0%