Course Number:
CS 162
Transcript Title:
Web Development and Object-oriented Programming
Aug 08, 2022
Jun 29, 2023
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:

CS 161

Course Description

Builds programming skill at a larger scale, guided by the development of a web application.  Introduces programming for the web, programming against a given framework API, and object-oriented programming. Prerequisite: CS 161. Audit available.

Course Outcomes

Upon successful completion of this course, students will be able to:

  1. Clearly and precisely specify the requirements of a problem.
  2. Apply classes and design with objects.
  3. Apply data abstraction, separate compilation, and source file modularity to achieve more robust and maintainable programs.
  4. Analyze basic ethical, social, and security impacts of software-intensive systems; identify relevant cases in computer ethics; and apply case analysis to security and privacy questions.
  5. Evaluate memory and run-time efficiency of designs.
  6. Create a simple web service using an existing object-oriented framework.

Suggested Outcome Assessment Strategies

Homework including course project, observation, class discussion.

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.

Course Content

  • specification
  • object-oriented program
    • objects
    • members
    • methods
  • modularity
    • abstraction
    • separate compilation
    • inheritance
  • performance
  • web development
    • database use
    • programming frameworks
  • Social responsibility
    • Ethical issues (relevant cases)
    • Social impact
    • Security & privacy (case analysis)