CSCI 1200 Data Structures
Spring 2018

Home
  Contact Information
  Announcements
   Forums (Piazza)

Syllabus
  Learning Outcomes
  Prerequisites
  iClickers in Lecture
  Course Grades

Calendar
  Lecture notes
  Lab materials
  Homework
  Test reviews

Weekly Schedule
  Office Hours
  Lab Times

Getting Help
  Tutoring
  Advice from TAs
  Advice from Students

Homework
  Due Date and Time
  Late Day Policy
  Compilers
  Submitty
  HW Grading Criteria

Collaboration Policy &
Academic Integrity

C++ Development
  Code Editors & IDEs
  OS Choices
  Install WSL
  Install Cygwin
  Memory Debugging
    Dr. Memory
    Valgrind
    ASAN
  Test Your Installation

References
  Optional Textbooks
  Web Resources
  Misc. C++ Programming
    Command Line Args
    File I/O
    string → int/float

Course Calendar

Note: Lecture and lab topics are tentative and will be updated as the term progresses.

Monday Tuesday Wednesday Thursday Friday
Jan 15,
No Classes
 
"Install Fest" (optional)
6-8pm
Location: DCC 308
temperature.cpp
memory_debugger_test.cpp
Jan 16, Lecture 1:
Introduction to C++, STL, & Strings

First day of classes

Jan 17, Lab 1:
Getting Started

quadratic.cpp
README.txt

 Jan 19, Lecture 2:
Strings & Vectors

framed_diagonal.cpp

 Jan 23, Lecture 3:
C++ Classes, part 1

Jan 24, Lab 2:
Classes

Jan 25, Homework 1:
Text Justifciation

due @ 11:59pm

README.txt
example.txt
example_16_flush_left.txt
example_16_flush_right.txt
example_16_full_justify.txt
gettysburg_address.txt
gettysburg_address_70_flush_left.txt
gettysburg_address_70_flush_right.txt
gettysburg_address_70_full_justify.txt
long_word.txt
long_word_15_full_justify.txt
provided_files.zip

Jan 26, Lecture 4:
C++ Classes, part 2

Jan 29,
Last day to add classes
Jan 30, Lecture 5:
Pointers and Arrays

Jan 31, Lab 3:
Testing & Debugging

Point2D.h
Rectangle.h
Rectangle.cpp

Feb 1, Homework 2:
Bowling Classes

due @ 11:59pm

README.txt
no_strikes_or_spares.txt
out_no_strikes_or_spares.txt
simple_tenth.txt
out_simple_tenth.txt
example.txt
out_example.txt
2010_US_Open.txt
provided_files.zip

Feb 2, Lecture 6:
Dynamic Memory

Feb 5, Test 1
6-7:50pm

practice problems

Don't look at the solutions until you have fully worked the problems
practice problem solutions

Test 1 Solutions

Feb 6, Lecture 7:
Order Notation & Basic Recursion

Feb 7, Lab 4:
Pointers, Arrays, and the Stack

print_stack.cpp

 Feb 9, Lecture 8:
Vector Implementation

vec.h
vec_sol.h

 Feb 13, Lecture 9:
Iterators & STL Lists

classlist_LIST.cpp

Feb 14, Lab 5:
Vector Implementation

vec.h
test_vec.cpp

Feb 15, Homework 3:
Dynamic Matrix Class

due @ 11:59pm

README.txt
matrix_main.cpp
sample_output.txt
provided_files.zip

Feb 16, Lecture 10:
Vector Iterators & Linked Lists

lec10_ex.cpp

Feb 19,
No Classes
Feb 20,
Monday Schedule
Feb 21, Lab 6:
Iterators & Lists

Feb 22, Homework 4:
Debugging & List Iterators
Check Submitty for message with provided file link
due @ 11:59pm

README.txt
See Submitty for materials

Feb 23, Lecture 11:
Doubly Linked Lists

 Feb 27, Lecture 12:
List Implementation
Feb 28, Lab 7:
List Implementation

Mar 1, Homework 5:
Train Cars

due @ 11:59pm

README.txt
main.cpp
mtrand.cpp
mtrand.h
sample_output.txt
traincar.cpp
traincar.h
traincar_prototypes.h
provided_files.zip

Mar 2, Lecture 13:
Advanced Recursion
Mar 5, Test 2
6-7:50pm
Mar 6, Lecture 14:
Problem Solving, part 1
Mar 7, Lab 8:
Recursion

 Mar 9, Lecture 15:
Problem Solving, part 2

Last day to drop classes

Mar 12-16,
Spring Break
 Mar 20, Lecture 16:
Associative Containers, part 1
Mar 21, Lab 9:
Maps

Mar 22, Homework 6
due @ 11:59pm

Mar 23, Lecture 17:
Associative Containers, part 2
 Mar 27, Lecture 18:
Trees, part 1
Mar 28, Lab 10:
Sets

Mar 29, Homework 7
due @ 11:59pm

Mar 30, Lecture 19:
Trees, part 2
 Apr 3, Lecture 20:
Trees, part 3
Apr 4,
No classes, GM week
Apr 5, Homework 8
due @ 11:59pm

Apr 6, Lecture 21:
Operators
Apr 9, Test 3
6-7:50pm
Apr 10, Lecture 22:
Hash Tables, part 1
Apr 11, Lab 11:
Advanced Trees

 Apr 13, Lecture 23:
Functors & Hash Tables, part 2
 Apr 17, Lecture 24:
Priority Queues
Apr 18, Lab 12:
Priority Queues

Apr 19, Homework 9
due @ 11:59pm

Apr 20, Lecture 25:
Inheritance & Polymorphism
 Apr 24, Lecture 26:
C++ Exceptions
Apr 25, Lab 13:
Order Notation & Performance

Pass/No Credit Deadline

Apr 26, Homework 10
due @ 11:59pm

Apr 27, Lecture 27:
Garbage Collection & Smart Pointers
 May 1, Lecture 28:
Concurrency & Asynchronous Computing
May 2, Lab 14:
Garbage Collection & Smart Pointers

May 3,
Study Day
May 4,
Study Day
May 7-11,
RPI Final Exams
Data Structures Final Exam data/time TBA