PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE
MASTER SYLLABUS
ADVANCED C PROGRAMMING
CSIT 1560  (formerly CST 1560)
Class Hours: 3.0   Credit Hours: 4.0  
Laboratory Hours: 3.0   Date Revised: Spring 03  
 NOTE: This course is not designed for transfer credit.  
Catalog Course Description:    
  A study in C language techniques beyond the introductory course.  Emphasis will include development environment, code portability, modularity, efficiency, I/O, and techniques for solving common problems.
Entry Level Standards:    
  The entering student should have familiarity with the computer language C, editing C source code, and writing successful C programs.
Prerequisite:    
  CSIT 1540 or C programming experience
Textbook(s) and Other Course Materials:  
  1. Applications Programming in ANSIC, 3rd Edition, by Richard Johnsonbaugh and Martin & Kalin, Prince Hall.

2. The Dictionary of Standand C, by Rex Jasechke, Prentice Hall.

I. Week/Unit/Topic Basis:    
  Week Topic
  1 Competency Review of CSIT 1540
  2 The Preprocessor; Parameterize Macros
  3 Recursive Functions; Pointers to Function; Arrays as a Function Argument
  4 Multidimensional Arrays; Array of Pointers; String-Handling Functions
  5 Different Sorting Algorithms:  Bubble Sort; Insertion Sort; Selection Sort; Quick Sort 
  6 File Organization; File Processing; Merge Files
  7 Enumerated Type, Type Definition; Dynamic Memory Allocation
  8 Structure and Union
  9 Linked Lists
  10 Stacks; Queue; Binary Trees
  11 Bit Field Operations; Conditional Compilations; Command Line Arguments
  12 Exception Handling and Jump; Graphics Support for C
  13 From C to C++
  14-15 Student Presentations
  16 Final Exam Period
II. Course Objectives*:    
  A. Become familiar with the higher-level techniques of the C computer language.  IV,VI,VII,XI
  B. Create fairly complex C programs to solve fairly complex problems.  III,V,VI,XII
  C. Reinforce good programming habits introduced in earlier courses.  II,III,VI,VIII
*Roman numerals after course objectives reference goals of the CSIT program.
III. Instructional Processes*:     
Students will:      
  1. Participate in a project development team. Communication Outcome, Problem Solving and Decision Making Outcome, Personal Development Outcome, Transitional Strategy, Active Learning Strategy
  2. Use professionally accepted methods and materials in completion of a final project. Technological Literacy Outcome, Personal Development Outcome, Transitional Strategy, Active Learning Strategy
  3. Use a variety of techniques to present a group project.  Communication Outcome, Personal Development Outcome, Transitional Strategy, Active Learning Strategy
  4. Participate in a peer review of team projects.  Problem Solving and Decision Making Outcome, Communication Outcome, Transitional Strategy, Active Learning Strategy
  5. Practice the elements of work ethic such as punctuality, professionalism, dependability, cooperation and contribution. Personal Development Outcome
*Strategies and outcomes listed after instructional processes reference Pellissippi State’s goals for strengthening general education knowledge and skills, connecting coursework to experiences beyond the classroom, and encouraging students to take active and responsible roles in the educational process.
IV. Expectations for Student Performance*: 
Upon successful completion of this course, the student should be able to:
1. Understand the C language development environment.  B
2. Use advanced file I/O functions and techniques.  A,B
3. Use typedefs, arrays, and dynamic allocation.  A,B,C
4. Use queues, stacks, linked lists and binary trees.  A,B,C
5. Understand sorting and searching techniques.  A,B,C
6. Understand parsing and evaluation techniques.  A,B,C
7. Use time and date functions.  A,B
8. Understand portability, modularity, cohesiveness, and coupling.  A,B,C
9. Understand C++ object oriented concepts. C
*Letters after performance expectations reference the course objectives listed above.
V. Evaluation:
A. Testing Procedures:
A minimum of three major tests is recommended.  Tests will cover material presented in class.  Tests are not to be missed without a valid excuse.
B. Laboratory Expectations:
Several lab assignments will be given and must be completed and handed in at the designated date and time.
C. Field Work:
 N/A
D. Other Evaluation Methods:
Students will work on a final project as a team. The team will design and code a program, and will present their findings to the class.  The subject of the project must be approved by the instructor. Individual work is strongly discouraged. 
E. Grading Scale:
93 – 100 A
88 – 92  B+
83 – 87  B
78 – 82  C+
73 – 77  C
65 – 72  D
Below 65 F
VI. Policies:
Attendance Policy:
Pellissippi State Technical Community College expects students to attend all scheduled instructional activities.  As a minimum, students in all courses must be present for at least 75 percent of their scheduled class and laboratory meetings in order to receive credit for the course (Pellissippi State Catalog).
Academic Dishonesty:
Plagiarism, cheating and other forms of academic dishonesty are prohibited.  A student guilty of academic misconduct, either directly or indirectly through participation or assistance, is immediately responsible to the instructor of the class.  In addition to other possible disciplinary sanctions that may be imposed through the regular Pellissippi State procedures as a result of academic misconduct, the instructor has the authority to assign an F or a zero for the exercise or examination or to assign an F in the course.
Other Policies:
Students are expected to promptly attend all lecture and lab classes as assigned.  If a student misses a class, the student must make up all work and get notes and/or handouts.