InfoCoBuild

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 21 - Code Fixup Clinic


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