logo
Because with great power comes great responsibility?

CS1699 @ Pitt
Immersive Software-System Design and Management

Spring 2010
Instructor: Dr. Liz Marai (marai@cs)
Mon, Wed, Fri 2pm-2:50pm
SENSQ 5129

Provost's Innovation in Education Award 2009





Home

Class Information

Syllabus

 

Course Description

CS1699 is a software engineering course with particular emphasis on project management, usability testing, customer interviewing, specification of formal requirements, and oral communication, "soft skills" which will make our graduates more competitive in the global marketplace and less susceptible to off-shoring.

This course is one of the last in the undergraduate curriculum and it can tie together earlier courses in a practical way. In addition to the focus on a team programming project, we will discuss, debate, and think about the team software development process. In a significant departure from tradition, we will train with a public speech coach to learn how to effectively communicate orally -- from pitching ideas to a project manager, to interviewing a customer, resolving conflict with another team-member, giving feedback and presenting results.

Prereqs: CS1501 and either: CS1520, CS1530, CS1550, CS1555, CS1566, or instructor's permission.

Enrollment limit: 18.

Course Aims

We have three aims for CS1699-ers. First, learn enough about software engineering and teamwork to successfully implement software systems after you graduate. Second, become a person to whom others turn for advice on software engineering and development. Third, learn to think clearly about software project issues, spot problems early, articulate your conclusions, communicate with others, and adapt to changes.

Course Objectives

When you finish the course, you should be able to:

  • Determine requirements and specifications for a software project
  • Apply strategies for effective communication
  • Implement and evaluate different software engineering strategies
  • Collaborate with a team to implement a moderately large software system by
    1. designing the overall project,
    2. designing the pieces,
    3. implementing and integrating the pieces,
    4. demonstrating the result
  • Clearly communicate your ideas to various audiences.