Nov 21, 2024  
2024-2025 College Catalog 
    
2024-2025 College 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 Options requirement; Meets CTE - Options requirement



Button linking to AZ Transfer course equivalency guide    button image Prior Learning and link to PLA webpage

Course Learning Outcomes
  1. Build data structures such as stacks, queues and trees .
  2. Build programs that use recursion to solve simple problems.
  3. Solve complex problems through programming.
  4. Design programs using sorting and searching algorithms.
  5. Create Object Oriented Programs with inheritance, constructors and destructors.

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 errors       
    3. Document program
  7. Complex Arrays with Structured Elements    
    1. Sorting
    2. Searching
    3. Divide and conquer algorithms
    4. Solving complex problems/create programs 
    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


Effective Term:
Fall 2023