- Course Number:
- CIS 122
- Transcript Title:
- Software Design
- Aug 09, 2022
- Oct 12, 2022
- Total Credits:
- Lecture Hours:
- Lecture / Lab Hours:
- Lab Hours:
- Satisfies Cultural Literacy requirement:
- Satisfies General Education requirement:
- Grading Options
- A-F, P/NP, Audit
- Default Grading Options
- Repeats available for credit:
placement into MTH 65 or MTH 98
Covers software design as part of the software development life cycle. Includes basic logic constructs, testing programs, use case descriptions, modularity and an introduction to object design. Provides examples of well-designed software projects. Additional lab hours may be required. Recommended: CIS 120 or CAS 133 or BA 131. Prerequisite: placement into MTH 65 or MTH 98. Prerequisite/concurrent: WR 121. Audit available.
On completion of this course the student should be able to:
- Translate simple business problems into programming algorithms applying Use Case descriptions and a design methodology.
- Translate standard business programming algorithms proficiently into a physical programming language that meets user requirements.
- Communicate algorithmic solutions to other programmers using a standard design methodology.
- Test a solution to a business problem both before and after coding a physical solution.
Suggested Outcome Assessment Strategies
The determination of assessment strategies is generally left to the discretion of the instructor. Here are some strategies that you might consider when designing your course: writings (journals, self-reflections, pre writing exercises, essays), quizzes, tests, midterm and final exams, group projects, presentations (in person, videos, etc), self-assessments, experimentations, lab reports, peer critiques, responses (to texts, podcasts, videos, films, etc), student generated questions, Escape Room, interviews, and/or portfolios.
Course Activities and Design
The determination of teaching strategies used in the delivery of outcomes is generally left to the discretion of the instructor. Here are some strategies that you might consider when designing your course: lecture, small group/forum discussion, flipped classroom, dyads, oral presentation, role play, simulation scenarios, group projects, service learning projects, hands-on lab, peer review/workshops, cooperative learning (jigsaw, fishbowl), inquiry based instruction, differentiated instruction (learning centers), graphic organizers, etc.
Outcome #1: Translate simple real-world problems into programming algorithms applying a design methodology.
- Eliciting requirements
- Logic Constructs
- Standard algorithms such as:
- Minimum / Maximum
- Design tools, such as:
- Code reuse
Outcome #2: Translate standard programming algorithms into a physical programming language that meets user requirements.
- Data types
- Boolean and arithmetic expressions
- Return values
- Input Validation
- Additional Programming Topics as required for programming assignments
Outcome #3: Communicate algorithmic solutions to other programmers using a standard design methodology.
- Employing Standards for:
- Design tools, such as:
Outcome #4: Test a solution to a problem both before and after coding a physical solution.
- Interpreting pseudocode
- Program testing and debugging
Overall Themes for the Course
- Software Development Life Cycle
- Creating software solutions from problem specifications
- est practices
- Logical vs. physical solution