
Lecture Description
This screencast is from a course I taught on January 27th at Vanderbilt University in my course CS 251: Intermediate Software Design. It continues my overview of C++, focusing on C++'s support for object-oriented programming and begins the discussion of the C++ Standard Template Library. Please see www.dre.vanderbilt.edu/~schmidt/cs251/ for more information about CS 251.
Course Index
- Overview of C++ (Parts 1, 2, and 3)
- C++ Overview (Part 4)
- Overview of C++ (Parts 5 and 6)
- Subversion: A Brief Introduction
- Overview of C++ (part 6) and Overview of STL (intro)
- Overview of STL (continued)
- Overview of STL (continued)
- Overview of STL (continued)
- Overview of STL (continued)
- Overview of STL (continued)
- Overview of STL (continued)
- Overview of STL (continued)
- Overview of Patterns (Parts 1 and 2)
- Overview of Patterns (Parts 2 and 3)
- A Case Study of "Gang of Four" Patterns
- A Case Study of "Gang-of-Four" Patterns
- A Case Study of "Gang-of-Four" Patterns
- A Case Study of "Gang-of-Four" Patterns
- A Case Study of "Gang-of-Four" Patterns
- A Case Study of "Gang-of-Four" Patterns
- A Case Study of "Gang-of-Four" Patterns
- A Case Study of "Gang-of-Four" Patterns
- A Case Study of "Gang of Four" Patterns
- A Case Study of "Gang of Four" Patterns
Course Description
This course focuses on the practical aspects of object-oriented and generic design and programming in Java. The concepts addressed in this course cover the following topics important to developing and maintaining quality software: reuse of architectural and design patterns and software components; developing, documenting, testing, and applying reusable class libraries, object-oriented frameworks, and generic functions using Java.
Unlike the CS Software Engineering course (which focuses on the overall software lifecycle and covers topics such as requirements analysis, specification techniques, modeling notations, and design documents), CS 251 focuses intensively on techniques for designing, implementing, and validating efficient, reliable, and secure object-oriented and generic design and programming with Java.