Syllabus

Course description

In this course, students learn and gain practical experience with software engineering principles, techniques, and tools. Topics in this course include requirements analysis, specification, design, abstraction, programming style, testing, maintenance, communication, teamwork, and software project management. The practical experience centers on a quarter-long team project, in which a software development project is carried through all the stages of the software life cycle. Particular emphasis is placed on communication skills and on developing maintainable software. In-class activities further provide a hands-on experience in using state-of-the-art techniques and tools.

Prerequisites

ABET outcomes

This course contributes to the following ABET outcomes:
  1. An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics;
  2. An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, and economic factors;
  3. An ability to communicate effectively with a range of audiences;
  4. An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts;
  5. An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives;
  6. An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions;
  7. An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Course format

The class meets three times a week for lectures. Additionally, individual groups meet twice a week during section (Tuesday and Thursday) for team and project meetings. All class meetings are in-person. Classroom material is enhanced with assigned readings, in-class activities, and in-class exercises. A major component of the course is teamwork on a group project (see top navigation bar). Individual contributions include reading assignments, peer review, and participation.

Grading

Grades will be based on a group project, assignments, in-class exercises and participation: General information about grading at the University of Washington is available as part of the University of Washington Student Guide.

Policies

Deadlines

Assignments must be submitted on Canvas by the due date and time. Unless otherwise noted, all times are given in PDT (Pacific Time). The submission site remains open for 24 hours after the deadline. Assignments submitted within 24 hours after the deadline will incur a 20% penalty. Assignments will not be accepted after the submission site is closed.

Academic Integrity

Except for clearly labeled group submissions, all assignments and projects in the course are to be done by you and you alone. Violation will result in an immediate F grade and possible initiation of formal procedures. We use automated techniques and manual checks to correlate submissions. At the same time, we encourage students to help each other learn the course material. As in most courses, there is a boundary separating these two situations. You are allowed to consult with other students in the current class to help you understand the material or homework/project requirements (i.e., the problem definition). However, you may not collaborate in any way when constructing your solution: the solution to an individual homework/project must be prepared by you working alone. In particular, you are not allowed to collaboratively work out a detailed solution to the extent that your submissions are identifiably similar. If you have any questions as to what constitutes unacceptable collaboration, please talk to the instructor right away. You are expected to exercise reasonable precautions in protecting your own work. Please refer to the following website for additional information: https://www.cs.washington.edu/academics/misconduct.

Course Communication

To ensure the security of your personal information, all communication related to this course should be conducted through either the course LMS (Canvas or EdStem Platform) or via your UW or CSE-issued email address. Personal email addresses should not be used for course-related correspondence.

Accommodations

If you require any special services or accommodations during a course please make sure to inform us within the first week of that course. This will give us time to plan accordingly to ensure that you get the help and support you need. Please refer to the following website for additional information: http://depts.washington.edu/uwdrs/.