Maricopa Community Colleges  CIS256   19896-19925 
Official Course Description: MCCCD Approval: 06/06/89
CIS256 19896-19925 L+L 3 Credit(s) 4 Period(s)
Advanced C Programming
Advanced level C programming. Programming with emphasis on data management, dynamic allocation, varied memory models, interfacing with the operating system, efficiency, and advanced debugging techniques. Prerequisites: CIS162 or permission of instructor.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CIS256   19896-19925 Advanced C Programming
1. Write a program in which sorting and searching algorithms are used. (I)
2. Utilize advanced data mangement techniques such as queues, stacks, linked lists and/or binary trees. (II)
3. Use the C language dynamic allocation capabilities in a program. (III)
4. Compare and contrast the various C memory models. (IV)
5. Develop a C program which utilizes direct interface with the operating system. (V)
6. Optimize C programs for speed and resource usage. (VI)
7. Utilize modern debuggers to analyze and debug C programs. (VII)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
CIS256   19896-19925 Advanced C Programming
    I. Sorting and Searching
        A. Sorting algorithms
        B. Searching algorithms
      II. Data Management
          A. Queues
          B. Stacks
          C. Linked Lists
          D. Binary Trees
        III. Dynamic Allocation
            A. The C dynamic allocation system
            B. Buffer management
            C. Fragmentation
          IV. Memory Models
            V. Interfacing with the Operating System and Assembly Language Routines
                A. Assembly language interfacing
                B. Operating system interfacing
              VI. Efficiency
                  A. Optimizing for efficiency
                  B. Porting programs
                VII. Debugging
                Go to Description    Go to top of Competencies    Go to top of Outline