CS 2341 – Spring 2022

Important Documents

  • Syllabus
    • For Semester Schedule, see page 6 of the syllabus.

Slide Decks

Part I (Exam 1 Material)

  • Intro Material
  • PA01 Overview Slides
  • Pointers and C-Strings
  • Dynamic Memory Allocation
  • Memory and Code
    • Includes some Operator Overloading material as well
  • Linear Data Structures
  • Polymorphism in C++ (In Class Written Slides)
  • DSVector (In Class Written Slides)
  • Exam 1 Information (will be on Monday Feb 21)
    • Exam 1 will cover only the material above.
    • It will consist of 3 sections:
      • Purely Objective questions (M/C or T/F type)
      • Short Answer questions… examples:
        • pointer expression decoding
        • write a couple lines of code to do something specific
        • and other similar short answer questions
      • Long form / Coding questions… examples:
        • write a function to do ___.
        • add a member function to a given class to do ___.
        • overload a specific operator
        • memory diagram
        • and other similar types of questions
    • I may ask you some questions about what Polymorphism means, but I’m not going to ask you to write code using polymorphism.
    • Know how to do memory diagrams!
    • Know how to decode pointer expressions!
    • You can bring a cheat sheet to the exam!
      • 8.5″ x 5.5″ sheet of paper with writing on one side only (no mobius strips)
      • needs to be in your own hand writing (nothing typed). If you want to write on your iPad or other tablet device, that’s OK.  But you need to bring a printed version to class for the exam, and it still must be in handwriting.
    • Exam 1 Review In Class

Part II (Exam 2 Material)

Part III

Final Project – Search Engine

Programming Assignments

Homework Assignments

  • HW 00 – Getting Started – Due Jan 24, 2022 @ 6am uploaded to Canvas.
  • HW 01 – Due Feb 4 @ 6am PDF uploaded to Canvas
  • HW 02 – Due Feb 11 @ 6am PDF uploaded to Canvas
  • HW 03 – Due Feb 18 @ 6am PDF or image uploaded to Canvas

Helpful Materials

Name Link
1. Development Environment Setup Click here
2. Installing and Running Catch for TDD Click here
3. Lyle Genuse Server Connection and File Transfer (Macs Only) Click here
4. WSL2 Guide (Windows Only) Click here
5. Installing Valgrind on WSL Click here
6. Removing Files from Git Commits Click here