Mar 28, 2024  
2022-2023 College Catalog 
    
2022-2023 College Catalog [ARCHIVED CATALOG]

CIS 131 - Programming and Problem Solving II

4 Credits, 4 Contact Hours
4 lecture periods 0 lab periods

Continuation of CIS 129 . Includes data structures and data representation, complex problem solving, procedural abstraction, and complex arrays with structured elements. Also includes object oriented programming, exception handling, file input and output, debugging, and testing.

Prerequisite(s): CIS 129  
Gen-Ed: Meets AGEC-S Options requirement


  button image Prior Learning and link to PLA webpage

Course Learning Outcomes
  1. Build data structures and data representation.
  2. Develop programs that read input from data files and build new output data files.
  3. Build programs that use recursion to solve simple problems.
  4. Solve complex problems and create programs.
  5. Design programs using sorting and searching algorithms in arrays.
  6. Create Object Oriented Programs with several levels of inheritance, constructors and destructors.

Performance Objectives:
  1. Review data structures and data representation.
  2. Discuss procedural abstraction.
  3. Create parameter passing with procedures and functions.
  4. Develop programs that read input from data files.
  5. Produce programs that build new output data files.
  6. Design programs that add records to existing output data files.
  7. Produce programs that add and update records in binary typed files.
  8. Solve complex problems and create programs.
  9. Design programs using sorting and searching algorithms in arrays.
  10. Create Object Oriented Programs with several levels of inheritance, several constructors and destructors.
  11. Create programs with several instances of exception handling.
  12. Develop a test plan.
  13. Troubleshoot a problem using debugging methods.
  14. Create programs using complex arrays with structured elements.

Outline:
  1. Revisit Data Structures and Data Representation
    1. Elementary data types
      1. Character
      2. String
      3. Integer
      4. Real
      5. Boolean
    2. Structured data types and data abstraction
      1. File
      2. Record
      3. Array
        1. Single dimension
        2. Multidimensional
  2. Procedural Abstraction
    1. Procedure code module
      1. Statement extension
      2. Actions upon objects
    2. Recursion
  3. Data Files
    1. Reading input from data files
    2. Building new output data files
    3. Adding to existing output data files
    4. Adding and random updating of data records in binary typed data files
  4. Object Oriented Programming
    1. Creating complex classes using abstract classes, inheritance and composition
    2. Creating overloaded methods, constructors and destructors
    3. Data encapsulation
  5. Exception Handling
    1. Creating programs using simple exception handling, propagation
    2. Using generic and specific try-catch blocks
    3. Using “finally block”
  6. Debugging and Testing
    1. Creating test data using black box, white box, robustness testing methods
      1. Creating a test plan
      2. Boundary conditions
    2. Program debugging
      1. Creating a program which can be debugged
      2. Using concepts such as step into, step over, breakpoints, run and continue
      3. Troubleshooting a problem to pinpoint error
    3. Document program
  7. Complex Arrays with Structured Elements
    1. Sorting
    2. Searching
    3. Divide and conquer algorithms
    4. Solving complex problems/create programs using C# or Java
    5. Introducing complexity: best case, worst case, and average case
    6. Solving problems in pseudocode and/or flowcharts
      1. Input file data to print, input file data to array and sort array, array to print
      2. Translating the pseudocode/flowchart into code