Skip to Main Content

COMPSCI169A

Download as PDF

COMPSCI 169A - Introduction to Software Engineering

Electrical Engineering and Computer Sciences Undergraduate COE - College of Engineering

Subject

COMPSCI

Course Number

169A

Course Level

Undergraduate

Course Title

Introduction to Software Engineering

Course Description

Ideas and techniques for designing, developing, and modifying large software systems. Service-oriented architecture, behavior-driven design with user stories, cloud computing, test-driven development, automated testing, cost and quality metrics for maintainability and effort estimation, practical performance and security in software operations, design patterns and refactoring, specification and documentation, agile project team organization and management.

Minimum Units

4

Maximum Units

4

Grading Basis

Default Letter Grade; P/NP Option

Method of Assessment

Written Exam

Instructors

Fox, Ball

Prerequisites

COMPSCI C88C or DATA C88C or COMPSCI 61A or COMPSCI 47A; and COMPSCI 61B or COMPSCI 61BL or COMPSCI 47B.

Repeat Rules

Course is not repeatable for credit.

Credit Restriction Courses. Students will receive no credit for this course if following the course(s) have already been completed.

-

Credit Restrictions. Upon passing, students can use the following course(s) to replace a deficient grade for this course.

Students will receive no credit for COMPSCI 169A after completing COMPSCI 169, or COMPSCI W169A.

Credit Replacement Courses

-

Student Learning Outcomes

Students will learn the architecture and machinery of software as a service; the agile/XP methodology for software development and how it compares with other methodologies, including "Plan-and-document" methodologies; Students will learn how to work with nontechnical customers and convert customer requirements into a software plan that can be effort-estimated, built, and deployed to the public cloud, including the use of behavior-driven design, user stories, and velocity; Students will learn how to write automated tests and measure test coverage; Students will learn how to identify, measure, and resolve maintainability problems in code; Students will learn how to approach and add functionality to a legacy code base; Students will learn the role of software design patterns in refactoring, and how to identify opportunities to use them; Students will learn practical security and performance considerations for SaaS applications.

Formats

Lecture, Discussion

Term

Fall and Spring

Weeks

15 weeks

Weeks

15

Lecture Hours

3

Lecture Hours Min

3

Lecture Hours Max

3

Lecture Mode of Instruction

In Person, Online

Discussion Hours

1

Discussion Hours Min

1

Discussion Hours Max

1

Discussion Mode of Instruction

In Person, Online

Outside Work Hours

8

Outside Work Hours Min

8

Outside Work Hours Max

8

Term

Summer

Weeks

8 weeks

Weeks

8

Lecture Hours

6

Lecture Hours Min

6

Lecture Hours Max

6

Lecture Mode of Instruction

In Person, Online

Discussion Hours

2

Discussion Hours Min

2

Discussion Hours Max

2

Discussion Mode of Instruction

In Person, Online

Outside Work Hours

16

Outside Work Hours Min

16

Outside Work Hours Max

16