CS 169: Software Engineering
CS 169: Software Engineering (Fall 2012, UC Berkeley). Instructors: Prof. David Patterson and Prof. 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 reuse and maintainability. Specification and
documentation. Verification and validation. Cost and quality metrics and estimation. Project team organization and management.
Lecture 04 - SaaS Architecture: Client-Server, HTML & CSS, Model-View-Controller |
|
Go to the Course Home or watch other lectures:
Lecture 01 - Introduction, Software as a Service |
Lecture 02 - Service Oriented Architecture, Cloud Computing, Pair Programming, Ruby 101 |
Lecture 03 - Everything is an Object, Every Operation is a Method Call |
Lecture 04 - SaaS Architecture: Client-Server, HTML & CSS, Model-View-Controller |
Lecture 05 - Databases and Migrations |
Lecture 06 - Debugging, Finishing CRUD, Intro to Behavior-Driven Design, SMART User Stories |
Lecture 07 - Enhancing Rotten Potatoes, Scenario Types, BDD Wrapup, HTML+CSS |
Lecture 08 - Test-Driven Development |
Lecture 09 - TDD: Fixtures, Model, Stubbing, Coverage, Other Testing Concepts; DRYing Out MVC |
Lecture 10 - Single Sign-On and Third-Party Authentication, Associations & Foreign Keys |
Lecture 11 - Associations: Has and Belongs to Many, Routes for Associations; Legacy Code |
Lecture 12 - Legacy Code: Establishing Ground Truth, Method-Level Refactoring; Working in Teams |
Lecture 13 - Working in Teams vs. Individually: Version Control, Effective Branching |
Lecture 14 - Fixing Bugs: The Five R's; Design Patterns, UML Intro, Single Responsibility Principle |
Lecture 15 - Design Patterns: Liskov Substitution Principle, Dependency Injection, Demeter Principle |
Lecture 16 - JavaScript for Ruby Programmers, Functions & Constructors, DOM & jQuery |
Lecture 17 - Asynchronous JavaScript and XML, JavaScript Warpup; Operations: Deployment |
Lecture 18 - Operations: Performance, Continuous Integration, Feature Flags, Monitoring |
Lecture 19 - Operations: Monitoring, Caching, Avoiding Abusive Queries, Defending Customer Data |
Lecture 20 - JavaScript in Your Rails |
Lecture 21 - From College to Career (Guest Lecture by Jesse Toth) |
Lecture 22 - Pivotal Labs: Practice and Hiring (Guest Lecture by Danny Burkes) |
Lecture 23 - Reconciling and Agility with Quality and Scale for Cosmos Big Data Ecosystem |
Lecture 24 - Group Presentations |