CS 242 - Programming Studio

Fall 2021

Programming StudioCS242AB145328OLB0 -    Michael Joseph Woodley
Programming StudioCS242AL145325OLC31500 - 1550 F    Michael Joseph Woodley

Official Description

Intensive programming lab intended to strengthen skills in programming. Course Information: Prerequisite: CS 241.

Course Director


Code Complete 2nd Edition by Steve McConnell

Learning Goals

Ability to write code of moderate complexity that is readable and understandable (1,2,6)
Ability to decompose a problem to aid in the construction of a solution (1,2,6)
Ability to program in a variety of programming languages, and to quickly adopt a new language (1,2,6)
Ability to construct and test code from a specification (1,2,6)
Ability to write tests, definitions, specifications. (1,2,3)
Ability to design code from specifications (1,2,3)
Ability to present source code for review (3)

Topic List

Code Readability
High-Quality Routines
Problem Decomposition
Unit Testing
Test Driven Development
Code Smells
Commenting Code
Design Patterns - What Are They and Why Should You Know About Them?
Observer Pattern
Project Goals/Defining Milestones
Code Metrics
Modular Programming/Parnas - "On The Criteria to be Used in Decomposing Systems..."

Assessment and Revisions

Revisions in last 6 years Approximately when revision was done Reason for revision Data or documentation available?
every semester the syllabus is revised based on previous semester's feedback from moderators and students fall 2010 we have been narrowing down what students actually need to improve programming. Prior to this course, no clear undestanding of skills necessary to improve coding skills was available. informal discussions with students. Regular meetings with course staff.
significantly increased focus on decomposition of problems and construction of code. This was an improvement over focusing primarily on clearly formatted code. spring 2011 This was an observed student weakness on code evaluated by undergraduate and graduate code reviewers no
Added an assignment to focus on MVC and introduction to Design Patterns fall 2010
Changed assignments to require following a sequence of first designing routines and tests before coding fall 2010 feedback from weekly reviewers and interviews with students revealed an undisciplined approach to code construction.
Useof IDEs and Junit fall 2010 discussions with industry partners

Required, Elective, or Selected Elective


Last updated

3/11/2019by Michael Joseph Woodley