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.
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:
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.