CS169: Software Engineering
CS 169: Software Engineering (Spring 2015, UC Berkeley). Instructor: Professor Armando Fox. This course discusses ideas and techniques for designing, developing, and modifying large software systems.
Function-oriented and object-oriented modular design techniques, designing for re-use and maintainability. Specification and documentation. Verification and validation. Cost and quality metrics and estimation.
Project team organization and management. Students will work in teams on a substantial programming project.
| Lecture 18 - Review of SRP, OCP, LSP, Demeter; Design Patterns & SOLID Wrap-up |
|
Go to the Course Home or watch other lectures:
| Lecture 01 - Introduction, SaaS & SOA, Cloud Computing, Legacy Code & SW Quality |
| Lecture 02 - Productivity, Agile, Pair Programming, Ruby Intro |
| Lecture 03 - Metaprogramming, Blocks, Iterators, Mixins & Duck typing |
| Lecture 04 - Client-Server, HTTP, HTML & CSS, 3-tier Architecture |
| Lecture 05 - More SaaS, Model-View-Controller, User Stories |
| Lecture 06 - Tour of Rails, Active Record |
| Lecture 07 - Databases & Migrations, More Active Record, Debugging |
| Lecture 08 - Perspective on Validations & Filters, Associations & Foreign Keys |
| Lecture 09 - Associations Wrap-up, Cucumber Intro |
| Lecture 10 |
| Lecture 11 - RSpec 101 |
| Lecture 12 - Fixtures & Factories, Stubbing the Internet |
| Lecture 13 - Design/Code Reviews, Branching |
| Lecture 14 - Continuous Integration & Continuous Development, Legacy, Characterization Tests |
| Lecture 15 - Method-level Refactoring, Refactoring Fallacies & Pitfalls |
| Lecture 16 |
| Lecture 17 - Patterns, Antipatterns, SOLID; Single Responsibility Principle; Liskov Substitution Principle |
| Lecture 18 - Review of SRP, OCP, LSP, Demeter; Design Patterns & SOLID Wrap-up |
| Lecture 19 - Project Deliverables & Details |
| Lecture 20 - APIs and Single Page Applications |
| Lecture 21 - Code Fixup Clinic |
| Lecture 22 - Code Fixup Clinic 2 |
| Lecture 23 - From Development to Deployment, Quantifying Responsiveness, Releases & Feature Flags |
| Lecture 24 - Monitoring, Caching, Abusive Database Queries, Defending Customer Data |
| Lecture 25 - Poster Previews |
| Lecture 26 - Looking Backwards, Looking Forwards |