CS 200: Concepts of Programming with C++

CS 200 Course Repository | Rachel's Computer Science Notes | JCCC Course Description - CS 200

Resources

Lecture videos and their slides, instructor's notes, and example coding.
Click on the button from the GitLab page to download the file.

C++ Basics

  1. Introduction
    📺 Lecture (9:47)
  2. Integrated Development Environments
    📺 Lecture (8:49) 📃 Slides
    📺 Using Visual Studio (3:27)
    📺 Using Code::Blocks (3:49)
  3. C++ Basics
    📺 Lecture (11:24) 📃 Slides 📝 Notes - C++ Basics
    📺 Coding practice video (16:46) 💻 View code
  4. Propositional Logic
    📺 Lecture (16:35) 📃 Slides 📝 Notes - Control Flow
  5. Branching
    📺 Lecture (14:53) 📃 Slides 📝 Notes - Control Flow
  6. Loops
    📺 Lecture (16:22) 📃 Slides 📝 Notes - Control Flow

Functions

  1. Functions
    📺 Lecture (43:48) 📃 Slides 📝 Notes - Functions
  2. Const
    📺 Lecture (11:23) 📃 Slides 📝 Notes - Const
  3. Const, part 2
    📺 Lecture (2:25) 📃 Slides 📝 Notes - Const

Object Oriented Programming

  1. Structs
    📺 Lecture (40:07) 📃 Slides 📝 Notes - Classes
  2. Classes, part 1
    📺 Lecture (25:16) 📃 Slides 📝 Notes - Classes
  3. Classes, part 2
    📺 Lecture (18:44) 📃 Slides 📝 Notes - Classes
  4. Class design
    📺 Lecture (8:14) 📃 Slides 📝 Notes - Classes
  5. Inheritance
    📺 Lecture (19:55) 📃 Slides 📝 Notes - Inheritance
  6. Polymorphism
    📺 Lecture (19:30) 📃 Slides 📝 Notes

Arrays, Pointers, and Memory Management

  1. Arrays
    📺 Lecture (27:28) 📃 Slides 📝 Notes - Arrays
  2. Pointers
    📺 Lecture (22:47) 📃 Slides 📝 Notes - Pointers
  3. Memory Management
    📺 Lecture (4:10) 📃 Slides 📝 Notes - Pointers
  4. Dynamic Arrays
    📺 Lecture (20:10) 📃 Slides 📝 Notes - Pointers

Additional

  1. Exceptions
    📺 Lecture (11:54) 📃 Slides 📝 Notes
  2. Strings
    📺 Lecture (3:46) 📃 Slides
  3. File I/O
    📺 Lecture (3:48) 📃 Slides 📝 Notes
  4. Operator Overloading
    📺 Lecture (28:14) 📃 Slides 📝 Notes - Classes
  5. Searching and Sorting
    📝 Notes
  6. The Standard Template Library
    📺 Lecture (7:14) 📃 Slides

Programming Labs

Smaller programming assignments to introduce you to the new topics.
Click on the button from the GitLab page to download the file.

  1. Tool setup Unit 1
    📋 Documentation
  2. Variables Unit 1
    📋 Documentation 📺 Step-thru
  3. Branching Unit 2
    📋 Documentation 💾 Starter code 📺 Step-thru
  4. While Loops Unit 3
    📋 Documentation 💾 Starter code 📺 Step-thru
  5. For Loops Unit 3
    📋 Documentation 💾 Starter code 📺 Step-thru
  6. Functions Unit 4
    📋 Documentation 📺 Step-thru
  7. Strings Unit 4
    📋 Documentation 💾 Starter code
  8. File I/O Unit 5
    📋 Documentation 💾 Starter code
  9. Arrays Unit 6
    📋 Documentation 💾 Starter code
  10. Searching & Sorting Unit 7
    📋 Documentation 💾 Starter code
  11. Classes Unit 9, 10
    📋 Documentation
  12. Inheritance Unit 11
    📋 Documentation 💾 Starter code
  13. Pointers Unit 12
    📋 Documentation 💾 Starter code
  14. Dynamic Arrays Unit 13
    📋 Documentation 💾 Starter code

Reference


Tech Literacy

Non-programming topics related to software and tech.

  1. 🔆 Pseudocode, Flowcharts, & Planning
  2. 🔆 Source Control
  3. 🔆 Testing, Validation, & Debugging
  4. 🔆 Jobs in Software
  5. 🔆 Bias in Design and Tech
  6. 🔆 Professional Networking
  7. 🔆 Salary Negotiation

Programming Projects

Larger programming projects, combining multiple topics into one.

Fall 2020

  1. Zombie Apocalypse (Variables, Branching, Loops)
    📋 Documentation 💾 Starter code
  2. Student List (Functions, Arrays, File I/O)
    📋 Documentation 💾 Starter code

Summer 2020

  1. Virtual Pet (Variables, Branching, Loops)
    📋 Documentation 💡 Solution
  2. Movie Library (Functions, Arrays, File I/O)
    📋 Documentation 💾 Starter code 💡 Solution
  3. Blepper social media app (Classes)
    📋 Documentation 💾 Starter code 💡 Solution
  4. Text Adventure (Pointers, Dynamic Arrays)
    📋 Documentation 💾 Data file 💡 Solution