Lecture Description
Julie describes the similarities between C++ and Java, which include general syntax, primitive variable types, operators and control structures; she proceeds to go through the code of a basic C++ program and explains each individual piece of code, headers, global constants, global data types, and calling functions. She also proceeds to write a simple program during the lecture that gets input from the user and prints a statement to the screen.
Course Index
- The Significance of Programming
- General Syntax
- Introduction to C++ Basics
- Stream Operations
- Template Specialization
- Sequential Containers
- Functions
- Recursions
- Recursions (continued)
- Permute Code
- Pointers
- Pointers (continued)
- Linked Lists
- Algorithm Analysis
- Sorting
- Sorting (continued)
- Sorting Templates
- Vectors
- Template Implementers
- Stack and Queue
- Linked Link Instertion and Deletion
- Map as a Vector
- Solving Problems with Sorting
- Hashing
- DAWG Data Structure
- General Review
- C++
Course Description
This course (CS 106B) is the successor to CS 106A and covers more advanced programming topics such as recursion, algorithmic analysis, and data abstraction. It is taught using the C++ programming language, which is similar to both C and Java. In the past when both CS 106A and CS106B were taught in C/C++, the coupling between the two classes was very tight and it was unheard for students to take CS106B without having completed our CS 106A (we recommended CS 106X instead). Nowadays, some students do go straight into CS106B, this is typically appropriate for a student who done well in an intro programming course (e.g., scored 4 or 5 on the CS AP exam or earned a good grade in a college course) and has sufficient familiarity with good programming style and software engineering issues (at the level of CS 106A) to use this understanding as a foundation on which to tackle advanced topics.