CS 250: Basic Data Structures using C++ (Fall 2023)


Schedule

Week # CS 250 Notes
1 / Aug 21 Aug 21 - First day of the fall semester
2 / Aug 25 Aug 28 - Last day to drop and receive full refund
3 / Sept 4 Sept 4 - Labor Day Holiday. Classes not in session. College offices closed. (MONDAY ONLY)
4 / Sept 11
5 / Sept 18
6 / Sept 25
  • (Break week - R.W.'s classes only)
7 / Oct 2
8 / Oct 9
9 / Oct 16 Oct 16 - application deadline for fall graduation
10 / Oct 23 Class and office hours REMOTE ONLY THIS WEEK
11 / Oct 30
12 / Nov 6
13 / Nov 13 Nov 15 - last day to withdraw with ''W''
14 / Nov 20 Nov 22 - 26 - Thanksgiving Day holiday. Classes not in session. College offices closed.
15 / Nov 27
16 / Dec 4
  • FINAL EXAM: Dec 4, 7:00 - 8:50 pm
Dec 5 - 11, final exams week
17 / Dec 11
  • POST-SEMESTER; grades posted online by Dec 12 @ 5 pm
Dec 12 - grades entered online by 5 pm

[CS250] Unit 00: Welcome to CS 250!

1. Before class

  • Syllabus - Please skim through the syllabus. We will also take a look at the important points during class.
  • Quick reference page - Please skim through to see what is available here!
  • Resources page - This is where you will find the textbook(s) and video lectures!

2. In class

Check the CANVAS page for the ZOOM link (class can be attended remotely)

3. After class

[CS250] Unit 03: Debugging and testing

2. In class

3. After class

[CS250] Unit 04: Source control with git

2. In class

3. After class

[CS250] Unit 05: Exceptions

1. Before class

2. In class

3. After class

[CS250] Unit 06: Templates

1. Before class

2. In class

3. After class

[CS250] Unit 07: The Standard Template Library

1. Before class

2. In class

3. After class

[CS250] Unit 08: Fixed-length Array structure

2. In class

3. After class

[CS250] Unit 09: Smart Dynamic Array

1. Before class

2. In class

Unit 09 Project - Smart Dynamic Array
Canvas assignment / Documentation

[CS250] Unit 10: Linked List

1. Before class

Reading:
Chapter 3: Linked Lists of Data Structures textbook

Video lectures:
πŸ“Ί Intro to Linked Lists (2021)
πŸ“Ί Linked List functionality (2020)
πŸŽ₯ Linked lists (Spring 2021)

Concept introduction: Unit 10 Intro - Linked Lists

2. In class

Unit 10 Project - Linked List
Canvas assignment / Documentation

3. After class

Unit 10 Notes - Linked List
Canvas assignment / Documentation

WIP

Unit 10 Checkin - Week 9

[CS250] Unit 11: Stack and Queue structures

1. Before class

Reading:
Stacks and Queues

Video lectures:
Intro to Stack and Queue

Concept introduction: Unit 11 Intro - Stacks and Queues

2. In class

Unit 11 Project - Stacks and Queues
Canvas assignment / Documentation

3. After class

Unit 11 Notes - Stacks and Queues
Canvas assignment / Documentation

Unit 11 Checkin - Week 10

[CS250] Unit 12: Algorithm Efficiency

1. Before class

Reading:
Algorithm efficiency

Concept introduction: Unit 12 Intro - Algorithm efficiency

2. In class

No exercise; check Reading material for practice and answer key.

3. After class

[CS250] Unit 13: Recursion

1. Before class

Reading:
Recursion

Video lectures:
Watch class Zoom archive

Concept introduction: Unit 13 Intro - Recursion

2. In class

No exercise; check Reading material for practice and answer key.

3. After class

Unit 13 - Recursion
(Notes with solution):
Documentation

Unit 13 Checkin - Week 11

[CS250] Unit 14: Intro to trees

1. Before class

Reading:
Textbook Chapter 6: Trees

Video lectures:
Heaps and AVL Trees walkthru
See Zoom archive

Concept introduction:
Unit 14 Intro - Trees

2. In class

Unit 14 Exercise - Intro to Trees
Canvas assignment
Documentation

3. After class

Unit 14 - Intro to Trees
Canvas assignment / Documentation

[CS250] Unit 15: Binary Search Tree structure

1. Before class

Reading:
Textbook Chapter 7: Binary Search Trees

Video lectures:
See Zoom archive

Concept introduction:
Unit 15 Intro - Binary Search Trees

2. In class

Unit 15 - Binary Search Trees
Canvas assignment
Intro Docs
Doxygen
Starter code

[CS250] Unit 16: Hash Table structure

1. Before class

Reading:
Textbook Chapter 8: Hash Tables

Video lectures:
Project walkthrough

Concept introduction: Unit 16 Intro - Hash Tables

2. In class

Unit 16 Project - Hash Table
Canvas assignment / Documentation

[CS250] Unit 17: Searching and sorting

2. In class

EXAMPLE:
Example code

Unit 17 Exercise - Searching and sorting
Canvas assignment (Documentation and starter code linked in assignment)
Video walkthrough



Additional information


Course collaboration expectations

🧍🧍 Code of conduct

Since you will be interacting with other students in this course, please make sure to review this 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:

  • Demonstrating empathy and kindness toward other people
  • Being respectful of differing opinions, viewpoints, and experiences
  • Giving and gracefully accepting constructive feedback
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • Focusing on what is best not just for us as individuals, but for the overall community

Examples of unacceptable behavior include:

  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others’ private information, such as a physical or email address, without their explicit permission
  • Other conduct which could reasonably be considered inappropriate in a professional/academic setting
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)


How do pronouns work?

  • Pronouns are a grammatical construct that most languages utilize. First person pronouns in English are "I, me" and "we", second person pronouns are "you", and third person pronouns traditionally are "he, she, they, it".
  • Traditionally, a person's gender (male, female) is designated at birth based on their genetalia. The pronouns used for the gender is often set (male = he/him, female = she/her).
  • A cisgender person (cis- being a prefix coming from Latin meaning "on this side" - cis- etymology) is a person who was either:
    • Assigned MALE at birth, identifies as a MALE, and uses he/him pronouns.
    • Assigned FEMALE at birth, identifies as FEMALE, and uses she/her pronouns.
  • A transgender person (trans- being a prefix coming from Latin meaning "across, on the other side of" - trans- etymology) is a person who does not identify with the gender they were assigned at birth. This can mean many different things, including:
    • An "AMAB" (Assigned Male At Birth) person who now identifies themself as FEMALE or NONBINARY.
    • An "AFAB" (Assigned Female At Birth) person who now identifies themself as MALE or NONBINARY.
  • NONBINARY is an umbrella term for someone who does not fit neatly into the traditional gender binary of only "male" or only "female. This may include identities like "neither gender", "no gender", "both genders", and more. You do not need to understand somebody else's gender to care for and respect that person.
  • A PERSON can be ANY GENDER and be CIS OR TRANS and use ANY PRONOUNS. The pronouns being used does not require a specific gender.
  • You can have AS MANY PRONOUNS AS YOU'D LIKE. Many people use "she/they" or "he/they", giving speakers an option of pronouns to use.
  • Often NONBINARY PEOPLE may use gender-neutral-third-person-singular pronouns "they/them". THIS IS GRAMMATICALLY CORRECT.
  • Many NONBINARY PEOPLE will also use NEO-PRONOUNS, new pronouns such as "ze/zir", "xe/xem". You can invent your own pronouns if you'd like.
  • NO TWO PEOPLE ARE THE SAME. Everybody has a different relationship with their gender and with the language we speak.
  • GENDER and SEXUALITY are not the same. Someone can be CIS or TRANS and still be STRAIGHT, GAY, BI/PAN, ACE, or other sexual identities.

Pronoun usage

PronounsExamples
he/him "That is Buddy, he is a dog. His favorite toy is a donut. He is over there playing by himself."
she/her "That is Kabe, she is a cat. Her favorite toy is not a toy, it's just sleeping. She is over there sleeping by herself."
they/them "That is R.W., they are my teacher. Their favorite hobby is playing video games. However, they are over there grading by themself. They would really like a coffee about now."