Maricopa Community Colleges  CSC110   19886-19915 
Official Course Description: MCCCD Approval: 04/12/88
CSC110 19886-19915 L+L 3 Credit(s) 4 Period(s)
Advanced Programming Concepts in C
C language, including advanced topics such as data structures, file handling, dynamic memory allocation, command line arguments, separate complilations, C libraries, and the C preprocessor. Prerequisites: CSC100, or equivalent, or permission of instructor.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CSC110   19886-19915 Advanced Programming Concepts in C
1. Describe special features of the C language. (I)
2. Describe the software development process. (II)
3. Describe the format of a C program. (III)
4. Describe the types of variables supported by the C language, their use and declaration. (III)
5. Describe the types of operators supported by the C language and their use in expressions. (III)
6. Implement an algorithm written in English using C language. (III, IV)
7. Describe the control flow structures supported by the C languages and their syntax. (IV)
8. Describe the purpose, declaration, and use of functions in a C program. (V)
9. Create and use functions within a C program. (V)
10. Create and use structures within a C program. (VI)
11. Describe the purpose, declaration, and use of pointers in a C program. (VII)
12. Create and use pointers with dynamic memory allocation in a C program. (VII)
13. Perform input/output functions within a C program using standard library functions. (VIII)
14. Use standard preprocessor commands within a C program. (IX)
15. Given a problem definition, design, code, debug, test, and document a C program. (II-IX)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
CSC110   19886-19915 Advanced Programming Concepts in C
    I. History and special features
      II. Software development process
          A. Problem definition
          B. Program Design
          C. Coding
          D. Debugging
          E. Testing
          F. Documentation
        III. Basic concepts
            A. Terminology
            B. Syntax
            C. Variables and data types
              1. Types
              2. Declarations
              3. Use
            D. Constants
            E. Operators and expressions
              1. Arithmetic
              2. Relational
              3. Logical
              4. Bitwise
              5. Increment/decrement
              6. Assignment
              7. Comma
              8. Type cast
              9. Conditional expression
              10. Precedence and associativity
          IV. Flow Chart
              A. Conditional execution
                1. If
                2. If-else
                3. Switch
              B. Repetitive program structures
                1. For
                2. While
                3. Do while
              C. Break and Continue
            V. Functions
                A. Use in a C program
                B. Arguments
                C. Scope
                D. Storage classes
                  1. Auto
                  2. Static
                  3. Extern
                  4. Register
                E. Returning results
                F. Recursive functions
              VI. Data structures
                  A. Definition
                  B. Members
                  C. Initialization
                  D. Arrays of structures
                  E. Nested structures
                  F. Unions
                VII. Pointers
                    A. Declaration
                    B. Using pointers in a C program
                    C. Operations on pointers
                    D. Dynamic memory allocation
                    E. Command line arguments
                  VIII. Input and output
                      A. Character I/O
                      B. Formatted I/O
                      C. File I/O
                        1. Redirection
                        2. End of file
                        3. File handling functions
                        4. Stdin, stdout,Stderr
                    IX. The preprocessor
                        A. #define
                        B. #include
                        C. Marcos
                        D. Conditional compilation
                    Go to Description    Go to top of Competencies    Go to top of Outline