Maricopa Community Colleges  ELT281   19932-20016 
Official Course Description:   MCCCD Approval:  05/26/92
ELT281      19932-20016 LEC
LAB
3 Credit(s)
0 Credit(s)
2 Period(s)
3 Period(s)
Programming Principles in C Language
Components of a computer system. Arithmetic operations with binary and hexadecimal number systems. Steps required in software development. Defining, designing, coding, debugging, testing, and documenting C language programs. Operation of output, print, define, include commands, and commonly used C language, operators and functions. Using pointers and structures. Prerequisites: ELT181 or equivalent.
 
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
ELT281   19932-20016 Programming Principles in C Language
1. Describe the history and evolution of computers.(I)
2. Differentiate among micro, mini, and large-scale computers.(I)
3. Describe the components of a computer system, including input/output devices.(II)
4. Perform arithmetic operations utilizing decimal, binary, and hexadecimal number systems.(III)
5. Explain the steps required in the development of software.(IV)
6. Define, design, code, debug, test, and document programs.(IV)
7. Identify C language terminology and describe the characteristics and functions of a C language program.(V)
8. Identify and describe logical operators, data variables, and constants.(V)
9. Identify and describe the components of a C program.(V)
10. Describe the control flow of a program.(V)
11. Describe the operation of output, print, define, and include commands.(V)
12. Describe commonly used C language operators.(V)
13. Describe C language statements and control flow commands.(V)
14. Describe commonly used C language functions.(V)
15. Describe the purpose, declaration, and utilization of pointers.(V)
16. Describe the purpose, declaration, and utilization of structures.(V)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
ELT281   19932-20016 Programming Principles in C Language
    I. Introduction
        A. Where computer began
          1. Mechanical
          2. Relays
          3. Vacuum tubes
          4. Transistors
          5. Integrated circuits
        B. Computer evolution
          1. Large calculators
          2. Stored program computers
          3. Large-scale computers
          4. Minicomputers
          5. Microcomputers
        C. Comparisons among micro, mini, and large-scale computers
          1. Size
          2. Power requirements
          3. Cost
          4. Memory size
          5. Speed
          6. Input/output
          7. Operating system
          8. Applications
      II. Computer system hardware organization
          A. Computer organization
            1. Memory unit
            2. Arithmetic and logical unit
            3. Control unit
            4. Input/output unit
            5. Buses
          B. Input/output devices
            1. Input-only
            2. Output-only
            3. Input and output
        III. Number systems
            A. Decimal
              1. Positional notation
              2. Addition
              3. Subtraction using ten's complement
            B. Binary
              1. Definition
              2. Positional notation
              3. Addition
              4. Subtraction using two's complement
            C. Hexadecimal
              1. Definition
              2. Positional notation
              3. Addition
              4. Subtraction
            D. Converting between number systems
              1. Decimal-to-binary-to-decimal
              2. Decimal-to-hexadecimal-to-decimal
              3. Binary-to-hexadecimal-to-binary
          IV. Software development process
              A. Problem definition
                1. Define the task(s) to be controlled by a computer
                2. Define the requirements for a computer
              B. Program design
                1. Outline the computer program to perform defined tasks
                2. Outline techniques
              C. Coding
                1. High-level language
                2. Assembly language
                3. Machine language
              D. Debugging
                1. Breakpoints
                2. Traces
                3. Simulators
                4. Logic analyzers
                5. In-circuit emulators
              E. Testing: statistical techniques to measure program performance
              F. Documentation
                1. Description of a program in proper form for users and maintenance personnel
                2. Tools used in documentation
              G. Maintenance and redesign
                1. Servicing
                2. Improvement
                3. Extension to meet new requirements
            V. Programming principles in C language
                A. Definition of a program
                B. Fundamental characteristics of programs
                  1. Functions in C
                  2. Definition of common environment
                C. Function of a C language program
                  1. The Main ( ) function
                  2. Opening brace
                  3. Closing brace
                D. Terminology
                  1. Source code
                  2. Text editor
                  3. Compiler
                  4. Assembler code
                  5. Object code
                  6. Syntax error
                E. Data
                  1. Basic operations of Boolean algebra
                  2. Integer variables
                  3. Floating-point variables
                  4. Constants
                  5. Atoms of a C program
                  6. Flow of control
                  1. Edit-time
                  2. Compile-time
                  3. Load-time
                  4. Run-time
                  7. Output and print
                  8. Program size
                  9. Define and include
                F. Operators
                  1. Arithmetic operators
                  2. Relational operators
                  3. Logical operators
                  4. Character input/output
                  5. Character-type tests
                  6. Bitwise logical operators
                  7. Shift operators
                  8. Functions
                  9. Lvalue, Rvalue, increment, decrement
                  10. Assignment operators
                  11. Nesting of operators
                  12. Address-of operator and scanf
                  13. Conditional operator
                  14. Arrays and subscripting
                  15. Common operator
                  16. Order of evaluation
                  17. Floating-point omputation
                  18. Precedence and associativity
                  19. Conversion
                  20. Overflow
                  21. Defined types and defined constants
                  22. More input/output
                  23. Timing a program
                G. Statements and control flow
                  1. Statements and blocks
                  2. If
                  3. If-else
                  4. Switch
                  5. While
                  6. For
                  7. Do While
                  8. Design of control structures
                  9. Break and continue
                  10. Go to
                H. Functions
                  1. Syntax and readability
                  2. Argument passing
                  3. Parameters and automatic variables
                  4. Array arguments
                  5. Recursive functions
                  6. Initializing automatic scalers
                  7. Storage class and internal static
                  8. Separate compilation and linkage
                  9. External static storage
                  10. Initializing arrays in static storage
                  11. Two-dimensional arrays
                  12. External variables
                  13. Register storage class
                  14. Scope rules
                  15. Summary of initialization
                  16. Empty brackets
                  17. Macros with parameters
                  18. Conditional compilation
                I. Pointers
                  1. Basics
                  2. Declaring and using pointers
                  3. Pointers as function parameters
                  4. Pointers and arrays
                  5. Functions using pointers
                  6. Pointer arithmetic
                  7. Arrays of pointers
                  8. Command line argument
                J. Structures
                  1. Basics
                  2. Members
                  3. Initialization
                  4. Nested structures
                  5. Arrays of structures
                  6. Pointers to structures
            Go to Description    Go to top of Competencies    Go to top of Outline