CS 200: Concepts of Programming with C++, Summer 2023


Schedule

Week #Week ofUnitsDue datesNotes
1 June 5 This week's items are due on Thursday, June 15 June 5 - First day of classes
2 June 12 This week's items are due on Thursday, June 22 Aug 28 - Last day to drop and receive full refund
3 June 19 This week's items are due on Thursday, June 29
4 June 26 This week's items are due on Thursday, July 6
5 July 3 This week's items are due on Thursday, July 13 (Tues) July 4 - Independence day holiday, classes not in session.
6 July 10 This week's items are due on Thursday, July 20
7 July 17 This week's items are due on Thursday, July 27
8 July 24 This week's items are due on Thursday, July 27 July 27 - Last day of summer session. Grades entered by July 31.

Course info

Course
CS 200: Concepts of Programming with C++

Section
350, CRN 60371, Online only

Semester
Summer 2023

Dates
06/05/2023 - 07/27/2023

Instructor
R.W. Singh (they/them)

Email
rsingh13@jccc.edu

Office
RC 348H (Not on campus during Summer, except by appointment)


Links

Course Discord
https://discord.gg/jj7U6HtVeh

Course status
Grading/prep status

Book & Lectures

Course Policies

Quick Search

Quick Reference
- How to use Visual Studio
- How to use Code::Blocks
- How to use git
- C++ style guide
- C++ commands reference
- Coding Style Guide

🔗 Unit 00: Welcome to the course!

Hey there! I'm Rachel Wil Singh, aka R.W., and I will be your instructor for CS 200 this semester! Let's take a bit of time to get you acclimated to how my courses work, especially if you've never had one of my classes before.

🔗 Unit 01: Exploring software

During this unit we are going to learn a bit about software, run some command line programs and programs written in C++, and just generally explore.
Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

🔗 Unit 02: main() - Intro to the structure of a C++ program

For this unit we are going to learn to create very basic C++ programs. All C++ programs have a single starting point: The main() function.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

🔗 Unit 03: Variables - Storing data

We can use variables to store information for access later in our programs. In this section we'll learn about data types, declaring variables, and assigning values to them.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 04: cin/cout - Getting input and output from the console

Let's learn more details about how we display text to the screen, as well as how to get input from the keyboard while the program is running.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 05: if/else if/else - Branching if condition is true or false

Branching is a core part of computer programming. We need to be able to "branch" our program's flow depending on some test criteria, such as if one value is greater than another.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 06: switch - Branching for certain values

Switch statements are important in programming because they allow you to handle multiple cases or conditions in an efficient and easy-to-read manner.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 07: while - Looping while true

A while loop in programming is a control flow statement that allows a block of code to be executed repeatedly, as long as a certain condition remains true. The code block inside the loop will continue to execute as long as the specified condition is evaluated to true.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 08: Pointers and memory

In C++, a pointer is a variable that stores the memory address of another variable. It allows direct access to the memory location of the variable it points to, providing the ability to manipulate the value of the variable indirectly.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 09: Functions - Delegating tasks elseware

Functions are an essential building block of programming because they allow programmers to break down a program into smaller, more manageable pieces of code.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 10: struct - Organize related data in a new type

With structs we can create our own data types. Structs are similar to classes in many ways, though classes are still used in C++, which we will cover later on. For now, we will keep our structs small and simple.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 11: class - Writing Object Oriented programs/h2>

In C++, a class is a user-defined data type that encapsulates data and functions that operate on that data into a single entity. It provides a way to organize and modularize code, enabling object-oriented programming (OOP) concepts such as inheritance, polymorphism, and encapsulation.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 12: for - Looping with a counter

In C++, a for loop is a control structure that allows a block of code to be executed repeatedly for a specific number of times. It has a syntax that consists of three optional statements in the initialization, condition, and update expressions, separated by semicolons, enclosed in parentheses, followed by a statement or a block of statements to be executed in the loop.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 13: Storing sets of data with Arrays, Dynamic Arrays, and Vectors

In C++, an array is a collection of elements of the same data type that are stored in contiguous memory locations. It can be initialized with a fixed size, and the individual elements can be accessed by their index position within the array.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

  • Chapter 6: Arrays the CS 200/235 textbook
  • Chapter 14: Pointers, memory management, and dynamic variables and arrays
  • Chapter 18: The Standard Template Library

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 14: string - Working with text using the string library

In C++, std::string is a class in the Standard Library that represents a sequence of characters as a string object. It provides many built-in functions that allow manipulation of strings, making it a more flexible and powerful alternative to C-style character arrays.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 15: ifstream and ofstream - File input and output with the fstream library

Programs aren't very useful if they can't save data for later uses. In this section we will learn some basics of file input and output.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 16: Inheritance - More Object Oriented Programming

In C++, inheritance is a mechanism that allows a new class to be based on an existing class, inheriting its data members and member functions. The derived class can then extend or modify the functionality of the base class, providing a way to reuse and extend existing code.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 17: Searching and sorting - Where's my data?

Searching and sorting algorithms are fundamental concepts in computer science used to organize and retrieve data efficiently. Searching algorithms help to find specific items within a collection of data, while sorting algorithms arrange data in a specific order, such as numerical or alphabetical.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫

🔗 Unit 18: Recursion basics - Another way to solve problems

Recursion is a technique where a function calls itself repeatedly until a specific termination condition is met. It can be used to solve complex problems that can be broken down into simpler, similar sub-problems, making the code more concise and easier to read.
Learning new topics 🆕

Take notes while learning:

Watch the following:

Read the following:

Review concepts (solo effort)

Practicing new topics (group effort) 🏋️

Project updates (group effort) 💻

Tech literacy (solo effort): 🧠

Mastery check (solo effort) 💯

Check in 🧑‍🏫


[INFO] Course Code of Conduct

Pledge

We as students and instructors to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Standards

Examples of behavior that contributes to a positive environment for our community include:

Examples of unacceptable behavior include:

Scope

This Code of Conduct applies within all course spaces, including on campus, in the discussion boards, via email, and the course Discord channel.

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the instructor at rsingh13@jccc.edu. All complaints will be reviewed and investigated promptly and fairly. The instructor is obligated to respect the privacy and security of the reporter of any incident.

(Adapted from the Contributor Covenant Code of Conduct)