CS169: Software Engineering
CS 169: Software Engineering (Spring 2012, UC Berkeley). Instructors: Prof. David Patterson, Prof. Armando Fox, and Prof. Koushik Sen. 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 29 - How GITHUB Works (Guest Lecture by Zach Holman) |
|
Go to the Course Home or watch other lectures:
Lecture 01 - Introduction, Product Lifetimes, Assurance, SaaS |
Lecture 02 - Service Oriented Architecture, Cloud Computing, Client-Server Architecture |
Lecture 03 - Ruby & Rails Intro for Java Programmers, Metaprogramming |
Lecture 04 - Model-View-Controller; Models, Databases, and Active Record |
Lecture 05 - Mixins and Duck Typing |
Lecture 06 - Rails Basics, Active Record Basics, Controllers & Views |
Lecture 07 - Form Submission; Redirection, the Flash and the Session; Intro to BDD; SMART User Stories |
Lecture 08 - Introducing and Running Cucumber and Capybara |
Lecture 09 - FIRST, TDD, and Getting Started with RSpec; Red-Green-Refactor |
Lecture 10 - More Controller Specs and Refactoring; Fixtures & Factories; Stubbing the Internet |
Lecture 11 - Coverage, Unit vs. Integration Tests, Other Testing Concepts, and Perspectives |
Lecture 12 - Single Sign-On and Third-Party Authentication |
Lecture 13 - Working in Teams vs. Individually |
Lecture 14 - Legacy Code and Refactoring |
Lecture 15 - Identifying What's Wrong: Smells & Metrics |
Lecture 16 - Solid Class Architecture & Class-Level Refactoring; Intro Design Patterns |
Lecture 17 - Design Patterns (Cont.) |
Lecture 18 - Design Patterns (Cont.) |
Lecture 20 - AJAX: History and the Big Picture |
Lecture 23 - Operations: Development, Performance, Practical Security |
Lecture 24 - Practical Operations: Security, Scalability, Stability |
Lecture 25 - Automated Test Generation Using Symbolic Execution: Three Decades Later |
Lecture 26 - Frontiers of Testing: Concolic Testing, Path Coverage |
Lecture 27 - Delta Debugging |
Lecture 29 - How GITHUB Works (Guest Lecture by Zach Holman) |
Lecture 30 - Wrap-Up |