Maricopa Community Colleges  ELT128   19892-19926 
Official Course Description: MCCCD Approval: 12/13/88
ELT128 19892-19926 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: ELT115 or equivalent.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
ELT128   19892-19926 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:
 
ELT128   19892-19926 Programming Principles in C Language
    I. Introduction
        A. Where Computers 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
              a. Address
              b. Data
              c. Control
          B. Input/Output Devices
            1. Input-Only
              a. Card Reader
              b. Paper Tape Reader
            2. Output-Only
              a. Printer
              b. Card Punch
            3. Input and Output
              a. Magnetic Disk
              b. Magnetic Tape
              c. Terminal
        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
                  a. Flowcharting
                  b. Structured Programming
                  c. Modular Programming
                  d. Top-Down Design
              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
                  a. Flowcharts
                  b. Comments
                  c. Memory Maps
                  d. Library Forms
              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
                    a. Computer type
                    b. Memory Address Size
                    c. Type of Operating System
                    d. Compiler in Use
                C. Functions 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
                    a. And
                    b. Or
                    c. Exclusive Or
                    d. Not
                  2. Integer Variables
                  3. Floating-Point Variables
                  4. Constants
                  5. Atoms of a C Program
                    a. Names or Identifiers
                    b. Constants
                    c. Whitespace
                    d. Comments
                    e. Separators
                    f. Operators
                    g. Keywords
                  6. Flow of Control
                    a. Life Stages of a Program
                  1. Edit-Time
                  2. Compile-Time
                  3. Load-Time
                  4. Run-Time
                    b. Run-time Control Flow
                  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 Computation
                  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