CSCI 103 - Spring 2024 Introduction to Programming

Lectures

It is recommended that students take notes and actively participate during class meetings. Before class meetings, it is helpful to review relevant chapters in the textbook. Slides are in the shared Google Folder.

Topic Schedule

Lecture Topics Chapters Notes
1
  • Course overview
  • C++ Intro
Chapter 1.1-1.5 Unit 0
Unit 1a
2
  • C++/Java Differences
  • Bonus Lecture on 1/11 at 7 p.m. on Zoom
2.1-2.4,8.3 3.1-3.7 4 Unit 1b
3
  • MLK Jr. Holiday (No Class)
4
  • Arrays and Functions 1
6.1-6.6 Unit 1b
Unit 1c
5
  • Arrays and Functions 2
5.1-5.8 Unit 1d
6
  • Compilation, Runtime, C-Strings
7.1-7.3 Unit 1d
Unit 1e
7
  • Pointers Intro
  • Pass-by-reference
7.1-7.2 Unit 2a
8
  • Dynamic Allocation
7.4 Unit 2a
9
  • Pointer Arithmetic
  • Arrays of Pointers / Cmd-line arguments
7.3-7.5,8.5 Unit 2b
10
  • Shallow vs. Deep copy
7.4-7.5 Unit 2b
11
  • Objects Introduction (Structs)
  • Library objects - Strings
7.3,7.7-7.8 Unit 3a
12
  • Library objects - Strings
  • Classes
8.1,8.2.1 9.1-9.3 Unit 3b
13
  • Presidents Day (no class)
14
  • More Classes
  • MT 1 Review
9.1-9.3 Unit 3b
15
  • Linked Lists
Class Notes Unit 4a
16
  • Vectors
6.7 Unit 4b
17
  • Deques and Doubly Linked Lists
  • 2D arrays
Class Notes 6.6 Unit 4c
Unit 4d
18
  • Images
Class Notes Unit 4d
19
  • References and const parameters
  • File Streams
5.9 8.1-8.4 Unit 4e
Unit 4f
20
  • Operator Overloading
Class Notes Unit 5a
21
  • Copy Semantics
Class Notes Unit 5b
22
  • Copy Semantics
  • MT 2 Review
Class Notes Unit 5b
23
  • Class Details
  • Inheritance
10.1-10.3 Unit 5c
Unit 5d
24
  • More Inheritance
  • Polymorphism
10.3-10.4 Unit 5d
Unit 5e
25
  • Polymorphism
10.3-10.4 Unit 5e
26
  • Streams and Parsing
8.1-8.4 Unit 5f
27
  • Parsing
8.1-8.4 Unit 5f
28
  • Exceptions
  • Binary File I/O
Class notes 8.6 Unit 5g
Unit 5h
29
  • Recursion
5.1 Unit 6a
30
  • More Recursion + Final Review
5.1 Unit 6a