CSCI 1200 Data Structures
Fall 2016

Home
  Contact Information
  Announcements
  Discussion Forum (LMS)

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 Cygwin
  Memory Debugging
    Valgrind
    Dr. Memory

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
Aug 29,
First day of classes
 
"Install Fest" (optional)
6-8pm
Location: DCC 308
temperature.cpp
memory_debugger_test.cpp
Aug 30, Lecture 1:
Introduction to C++, STL, & Strings
Aug 31, Lab 1:
Getting Started

quadratic.cpp
README.txt

 Sept 2, Lecture 2:
Strings & Vectors
Sept 5,
No Classes
Sept 6, Lecture 3:
C++ Classes, part 1
Sept 7, Lab 2:
Classes

Sept 8, Homework 1:
Text Justification

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

Sept 9, Lecture 4:
C++ Classes, part 2
Sept 12,
Sept 13, Lecture 5:
Pointers and Arrays
Sept 14, Lab 3:
Pointers, Arrays, and the Stack

print_stack.cpp

Sept 15, Homework 2:
Swimming Classes

due @ 11:59pm

README.txt
sample_dataset.txt
sample_output_events.txt
sample_output_participants.txt update 9/10
sample_output_events_medals.txt
sample_output_participants_medals.txt update 9/10
relay_dataset.txt
relay_output_events.txt
relay_output_participants.txt update 9/10
relay_output_events_medals.txt
relay_output_participants_medals.txt update 9/10
rio_2016_full_dataset.txt
provided_files.zip

Sept 16, Lecture 6:
Dynamic Memory
Sept 19, Test 1
6-7:50pm
Sept 20, Lecture 7:
Order Notation & Basic Recursion
Sept 21, Lab 4:
Testing & Debugging

Point2D.h
Rectangle.h
Rectangle.cpp

 Sept 23, Lecture 8:
Vector Implementation
 Sept 27, Lecture 9:
Iterators & STL Lists
Sept 28, Lab 5:
Vector Implementation

vec.h
test_vec.cpp

Sept 29, Homework 3:
Undo Array

due @ 11:59pm

README.txt
main.cpp
sample_output.txt
small.txt
medium.txt
large.txt
provided_files.zip

Sept 30, Lecture 10:
Vector Iterators & Linked Lists
 Oct 4, Lecture 11:
Doubly Linked Lists
Oct 5, Lab 6:
Iterators & Lists

Oct 6, Homework 4:
Debugging & List Iterators

due @ 11:59pm

README.txt
See Submitty for materials

Oct 7, Lecture 12:
List Implementation
Oct 10,
No classes
Oct 11,
Monday schedule
Oct 12, Lab 7:
List Implementation

dslist.h (partial)
lab7.cpp

Oct 13, Homework 5:
Linked Playing Cards

due @ 11:59pm

README.txt
main.cpp
playing_card.h
playing_card.cpp
node.h
deck.h
deck.cpp
output.txt
output_no_symbols.txt
provided_files.zip

Oct 14, Lecture 13:
Advanced Recursion
Oct 17, Test 2
6-7:50pm
Oct 18, Lecture 14:
Problem Solving, part 1
Oct 19, Lab 8:
Recursion

grid1.txt
grid2.txt
start.cpp

 Oct 21, Lecture 15:
Problem Solving, part 2

Last day to drop classes

 Oct 25, Lecture 16:
Associative Containers, part 1
Oct 26, Lab 9:
Maps

Oct 27, Homework 6:
Paint by Pairs Recursion

due @ 11:59pm

README.txt
README_contest.txt
main.cpp
board.h
board.cpp
puzzle1.txt
out_puzzle1.txt
out_puzzle1_all.txt
puzzle2.txt
out_puzzle2.txt
puzzle3.txt
puzzle4.txt
puzzle5.txt
puzzle6.txt
puzzle7.txt
puzzle7_fixed.txt NEW! 10/26
provided_files.zip

Oct 28, Lecture 17:
Associative Containers, part 2
 Nov 1, Lecture 18:
Trees, part 1
Nov 2, Lab 10:
Sets

ds_set.h
test_ds_set.cpp

Nov 3, Homework 7:
Halloween Maps
update 10/28
due @ 11:59pm

README.txt update 10/30 to insert # hours
main.cpp
small_input.txt
small_output.txt
medium_input.txt
medium_output.txt
large_input.txt
provided_files.zip

Nov 4, Lecture 19:
Trees, part 2
 Nov 8, Lecture 20:
Trees, part 3
Nov 9, Lab 11:
Advanced Trees

ds_set.h
test_ds_set.cpp

Nov 10, Homework 8:
Bidirectional Map

due @ 11:59pm

README.txt
main.cpp Extra Credit Tests updated 11/10
output.txt
extra_credit_output.txt
provided_files.zip

Nov 11, Lecture 21:
Operators
Nov 14, Test 3
6-7:50pm
Nov 15, Lecture 22:
Hash Tables, part 1
Nov 16, Lab 12:
Operators

main.cpp
team.h
team.cpp

 Nov 18, Lecture 23:
Functors & Hash Tables, part 2
 Nov 22, Lecture 24:
Priority Queues
Nov 23-25,
No Classes
 Nov 29, Lecture 25:
Inheritance & Polymorphism
Nov 30, Lab 13:
Priority Queues

priority_queue.h
test_pq.cpp

Dec 1, Homework 9:
Image Comparison Hashing

due @ 11:59pm

README.txt
main.cpp update 11/17: additional bounding box output
image.h
image.cpp
visualization.h
visualization.cpp
images.zip
provided_files.zip

Dec 2, Lecture 26:
C++ Exceptions
 Dec 6, Lecture 27:
Garbage Collection & Smart Pointers
Dec 7, Lab 14:
Garbage Collection & Smart Pointers

stop_and_copy.h
stop_and_copy.cpp
main_stop_and_copy.cpp
ds_smart_pointers.h
main_smart_pointers.cpp

Dec 8, Homework 10:
Multiple Inheritance & Exceptions

due @ 11:59pm

README.txt
main.cpp update 12/5: delete polygons
utilities.h
triangles.txt
triangles_output.txt
quads.txt
quads_output.txt
input.txt
provided_files.zip

Dec 9, Lecture 28:
Concurrency & Asynchronous Computing
Dec 12-13,
Study Days
Dec 14,
Other RPI Final Exams
 
Salles
WEDNESDAY noon-1pm
Folsom lower level ALAC tutoring space
Dec 15,
Other RPI Final Exams
 
Rahul
THURSDAY 5:15-6:15pm
Folsom lower level ALAC tutoring space
Dec 16,
Other RPI Final Exams
 
Andrew
FRIDAY noon-1pm
Folsom lower level ALAC tutoring space
 
Shreya
FRIDAY 4-5pm
Folsom lower level ALAC tutoring space
 

Evan
SATURDAY 2-3pm
Folsom lower level ALAC tutoring space
 
Jeramey
SATURDAY 3-4pm
Folsom lower level ALAC tutoring space

Dec 19,
Data Structures Final Exam
3-6pm

West Hall Auditorium
See Submitty

Final Exams Schedule

Dec 20,
Other RPI Final Exams