Maricopa Community Colleges  CIS174   19982-20016 
Official Course Description:   MCCCD Approval:  09/25/01
CIS174      19982-20016 L+L 3 Credit(s) 4 Period(s)
Computer Program Maintenance
Overview of computer program maintenance including program basics, specifications, documenting and team programming. Testing strategies, code segments and debugger packages also covered. Prerequisites: CIS105, any programming language or permission of instructor.
 
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CIS174   19982-20016 Computer Program Maintenance
1. Analyze a computer program written by someone else. (I)
2. Interpret what a program can do based on the written specifications. (I)
3. Compose program documention identifying the program's capabilities. (I)
4. Differentitate between well and poorly written programs. (I)
5. Demonstrate ability to work as a team on program design, coding and testing. (II)
6. Explain how to build a "toolbox" of code segments. (III)
7. Contrast various testing strategies. (III)
8. Demonstrate ability to develop and use proofreading checklists for one or more languages to eliminate program errors. (III)
9. Demonstrate ability to use a debugger package and various other tools. (III)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
CIS174   19982-20016 Computer Program Maintenance
    I. Computer Programming
        A. Program Basics
          1. Analyzing
          2. Modifying
          3. Testing
          4. Documenting
        B. Specifications
          1. Formal vs. Informal
          2. Mapping requirements
          3. Test strategies
        C. Documenting
          1. Overview of styles and formats
          2. Audience
          3. User manuals
          4. Other programmers
          5. Self-Documenting
        D. Maintaining
          1. Good program design
          2. Bad program design
          3. Code Design
          4. Personal style
        E. "Keep it or throw it out" Decision
          1. Start over
          2. Salvaging Parts
      II. Team Programming
          A. Current techniques
          B. Ego-less programming
          C. Dividing a project
          D. Writing and testing
            1. Logical test units
            2. Integration testing
        III. Program Examination
            A. "Toolbox" of Code Segments
              1. Code Segments
              2. Algorithms
              3. Index
              4. Maintain
            B. Test strategies
              1. Current
              2. Test Plans and Procedures
            C. Developing aids
              1. Other sources
              2. Checklists
            D. Debuggers
              1. Overview
              2. Practical experience
        Go to Description    Go to top of Competencies    Go to top of Outline