PCC/ CCOG / CIS

Course Content and Outcome Guide for CIS 122 Effective Fall 2015

Course Number:
CIS 122
Course Title:
Software Design
Credit Hours:
4
Lecture Hours:
30
Lecture/Lab Hours:
0
Lab Hours:
30
Special Fee:
$12.00

Course Description

Covers software design as part of the software development life cycle. Includes problem solving, basic logic constructs, testing programs, and modular programming. Provides examples of well-designed software projects. Prerequisites: WR 115, RD 115 and MTH 20 or equivalent placement test scores. Recommended: CIS 120 or CAS 133 or BA 131. Audit available.

Intended Outcomes for the course

On completion of this course the student should be able to:

  1. Translate simple real-world problems into programming algorithms applying a design methodology.
  2. Translate standard programming algorithms into a physical programming language that meets user requirements.
  3. Communicate algorithmic solutions to other programmers using a standard design methodology.
  4. Test a solution to a problem both before and after coding a physical solution.

Course Activities and Design

This course is presented with a combination of lectures and labs.
Students will be expected to complete assignments which include design, programming, and testing.

Outcome Assessment Strategies

Students will complete the following assessments:

  • Translate real-world problems to program designs
  • Write algorithms that illustrate typical programming applications (some typical application examples follow):
    • Counters & Accumulators
    • Minimum & Maximum
    • Common business/math/science problems
  • Produce a design document in a standard format
  • Develop test plan to prove solutions

Course Content (Themes, Concepts, Issues and Skills)

Outcome: Translate simple real-world problems into programming algorithms applying a design methodology.

Content that supports the outcome:

  • Eliciting requirements
  • Logic Constructs
    • Sequence
    • Selection/Alternation/If-Then-Else
    • Repetition/Iteration/Looping
  • Standard algorithms such as:
    • Counters
    • Accumulators
    • Minimum / Maximum
  • Design tools, such as:
    • Pseudocode
    • Flowcharts
  • Modularity
    • Cohesion
    • Coupling
  • Code reuse

Outcome: Translate standard programming algorithms into a physical programming language that meets user requirements.

Content that supports the outcome:

  • Variables
    • Declaration
    • Assignment
    • Data types
    • Scoping
  • Boolean and arithmetic expressions
  • Functions
    • Parameters
    • Return values
  • Input Validation
  • Additional Programming Topics as required for programming assignments

Outcome: Communicate algorithmic solutions to other programmers using a standard design methodology.

Content that supports the outcome:

  • Employing Standards for:
    • Naming
    • Indentation
    • Design
    • Code
  • Design tools, such as:
    • Pseudocode
    • Flowcharts

Outcome: Test a solution to a problem both before and after coding a physical solution.

Content that supports the outcome:

  • Interpreting pseudocode
  • Program testing and debugging

Overall themes for the course:

  • Software Development Life Cycle
  • Creating software solutions from problem specifications
  • Best practices
  • Logical vs. physical solution

Related Instruction

Computation
Hours: 16

  • Translate simple real-world problems into programming algorithms applying a design methodology.
  • Translate standard programming algorithms into a physical programming language that meets user requirements.

Direct instruction (+ study time) in discipline-related computations involving Boolean algebra and arithmetic expression construction and evaluation as applied in a specific programming language's type system.