Course Information

Registrar Information

Course #

CS 130

Course title

Software Engineering

Instructor

Miryung Kim (instructor's profile is at https://web.cs.ucla.edu/~miryung/)

Class time and location

TTh 10am-11:50am in BOELTER 5440

Final day and time

Tuesday, March 17, 2026

3:00 PM - 6:00 PM

Course units and description

Structured programming, program specification, program proving, modularity, abstract data types, composite design, software tools, software control systems, program testing, team programming.

Course prerequisite or requisites

Search for the course at https://sa.ucla.edu/ro/public/soc and click on the lecture link

Course Materials

Learning Outcomes

You will learn systematic engineering methods for large-scale software development: design and modeling methods; collaborative development environment; object-oriented design patterns and refactoring; build & integration; unit testing & regression testing; bug finding; software inspection and verification.  

  1. Design, implement, and test large software systems.
  2. Hands on experience with a capstone software project

Course Schedule/Outline

This schedule is tentative and subject to change.

Week 1

T (Jan 6th): Course Overview & Requirements

Th: (Jan 8th): UML Lecture 1

Week 2

T (Jan 13th): UML Lecture 2

Th (Jan 15th):  Design (Design Docs & related Views, Decision Making Process)

Week 3

T (Jan 20th): No Class

Th (Jan 22nd): Design Principles: Information Hiding

Week 4

T (Jan 27th): Design Patterns Part A: Strategy, Observer, Mediator 

Th (Jan 29th): Design Patterns Part B: Abstract Factory, Factory Method

Week 5

T (Feb 3rd): Design Patterns Part C: Singleton, Command, Adaptor

Th (Feb 5th) Application of Design Patterns and Refactoring in Practice

Week 6

T (Feb 10th): Process: Principles of Agile software development,  Overview of XP, Lean, Kanban 

Th (Feb 12th): Mid-Term

Week 7

T (Feb 17th): No Class

Th (Feb 19th): Process: Scrum

Week 8

T (Feb 24rd): Testing Part 1

Th (Feb 26th): Testing Part 2

Week 9

T (Mar 3rd): Modern Code Reviews with Pre- and Post-Conditions / Software Verification Part 1

Th (Mar 5th): Software Engineering with GenAI

Week 10

T (Mar 10th): Modern Code Reviews with Pre- and Post-Conditions / Software Verification Part 2

Th (Mar 12th): Software Architecture (Tactics, Architectural Styles)

Team Project

You will work in teams of five to six students in the same TA section. You should demonstrate that the proposed application is new and a unique creation. If you implement a feature that already exists or is very similar to an existing feature in any past or later version, it will be considered as plagiarism. When proposing a project, you should investigate whether it is feasible to implement and test it. You are expected to perform a live demonstration of your project during your project presentations. Students in the same team will not always receive the same grades, and project grades will account for individual effort and contribution. In each phase of the projects, students will rate the quality of projects for other teams as well. The teaching team will consider the peer feedback and collaboration history when assigning individual grades. Your TAs will be in charge of setting project requirements and grading your projects. The instructor will also attend final project presentations and provide additional assessments of your projects. Project activities will include the following but not limited to:

  1. Part A: Design Doc (Week 4): A mid-point report of requirements, design decisions, and considered alternatives (12% of final grade)
  2. Part B: Final Outcome (Week 10): a working implementation, automated tests, a written report, a final presentation, and youtube video demonstration (23% for final grade): For example, you can take a look at sample videos created by students who took CS 130 in the previous quarter. (See the links below) 
  3. Team Check-Ins: progress check-ins with your TA (5% of final grade)

Course Policies

Grade calculation

·       Midterm: 15%

·       Final 30% 

·       Project: 40% 

·       Homework: 10% (two homework assignments, one due in Week 5, one due in Week 8, 5% each) 

·       Exit Tickets: 5%

Class Discussion: Think Pair Share

1) Think. The teacher provokes students' thinking with a question or prompt or observation. The students should take a few moments (probably not minutes) just to THINK about the question.

2) Pair. Using designated partners (such as with Clock Buddies), nearby neighbors, or a deskmate, students PAIR up to talk about the answer each came up with. They compare their mental or written notes and identify the answers they think are best, most convincing, or most unique.

3) Share. After students talk in pairs for a few moments (again, usually not minutes), the teacher calls for pairs to SHARE their thinking with the rest of the class. She can do this by going around in a round-robin fashion, calling on each pair; or she can take answers as they are called out (or as hands are raised). Often, the teacher or a designated helper will record these responses on the board.

University Policies and Support for Students

Academic Integrity

Each member of the university is expected to uphold these values through integrity, honesty, trust, fairness, and respect toward peers and community. In your first week, you must read and sign UCLA's Academic Integrity Statement

UCLA is a community of scholars. In this community, all members including faculty, staff and students alike are responsible for maintaining standards of academic honesty. As a student and member of the University community, you are here to get an education and are, therefore, expected to demonstrate integrity in your academic endeavors. You are evaluated on your own merits. Cheating, plagiarism, collaborative work, multiple submissions without the permission of the professor, or other kinds of academic dishonesty are considered unacceptable behavior and will result in formal disciplinary proceedings usually resulting in suspension or dismissal. See the Dean of Students website for more information.

Accommodations for Students with Disabilities

If you are already registered with the Center for Accessible Education (CAE), please request your Letter of Accommodation in the Student Portal. If you are seeking registration with the CAE, please submit your request for accommodations via the CAE website. Students with disabilities requiring academic accommodations should submit their request for accommodations as soon as possible, as it may take up to two weeks to review the request. For more information, please visit the CAE website, visit the CAE at A255 Murphy Hall, or contact us by phone at (310) 825-1501.

Resources for Students

UCLA provides resources if you are feeling overwhelmed and need personal and/or academic assistance.

Please see the Red Folder for more information.

Title IX and Equity, Diversity and Inclusion

Advocacy and Confidential Services:

Please note that Title IX prohibits gender discrimination, including sexual harassment, domestic and dating violence, sexual assault, and stalking. If you have experienced sexual harassment or sexual violence, you can receive confidential support and advocacy at the CARE Advocacy Office for Sexual and Gender-Based Violence, 205 Covel Commons, Los Angeles, CA, 90095, care@careprogram.ucla.edu, (310) 206-246 5. Counseling and Psychological Services (CAPS) provides confidential counseling to all students and can be reached 24/7 at (310) 825-0768.

Reporting and Non-confidential Services:

Your professor is required under the UC Policy on Sexual Violence and Sexual Harassment to inform the Title IX Coordinator should he become aware that you or any other student has experienced sexual violence or sexual harassment. In addition, You can also report sexual violence or sexual harassment directly to the University’s Title IX Coordinator, 2255 Murphy Hall, titleix@equity.ucla.edu , (310) 206-3417. Reports to law enforcement can be made to UCPD at (310) 825-1491.

Engineering EDI Resources:

There are a number of specific resources on Equity, Diversity, and Inclusion available to students in the Samueli School of Engineering, including trained faculty officers in each department who can be consulted if you have a question on EDI issues and are not sure where else to turn. Please see https://samueli.ucla.edu/equity-diversity-and-inclusion for information.