CSCI 1200 Data Structures
Fall 2017

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 WSL
  Install Cygwin
  Memory Debugging
    Dr. Memory
    Valgrind
  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
   Aug 31,
First day of classes
Sept 1, Lecture 1:
Introduction to C++, STL, & Strings

Sep 4,
No classes
 
"Install Fest" (optional)
6-8pm
Location: DCC 308
Sept 5, Lecture 2:
Strings & Vectors

Sept 6, Lab 1:
Getting Started

quadratic.cpp
README.txt

Sept 7, Homework 1:
ASCII Font Art

due @ 11:59pm

README.txt
simple_font.txt
provided.cpp
hello_world_output.txt
hello_world_output2.txt
sentence.txt
another_sentence.txt
provided_files.zip

DEADLINE EXTENDED
Due Friday Sept 8th @ 11:59pm

Sept 8, Lecture 3:
C++ Classes, part 1

 Sept 12, Lecture 4:
C++ Classes, part 2

Sept 13, Lab 2:
Classes

main.cpp

Last day to add classes

Sept 14, Homework 2:
Decathlon Classes

due @ 11:59pm

README.txt
2008_medalists.txt
out_2008_medalists_scores.txt
out_2008_medalists_points.txt
2008_olympics.txt
out_2008_olympics_scores.txt
out_2008_olympics_points.txt
2000_olympics.txt
2004_olympics.txt
2012_olympics.txt
provided_files.zip

Sept 15, Lecture 5:
Pointers and Arrays

 Sept 19, Lecture 6:
Dynamic Memory

Sept 20, Lab 3:
Testing & Debugging

Point2D.h
Rectangle.h
Rectangle.cpp

Sept 21, Homework 3:
GPS Tracking & Stack Hacking

due @ 11:59pm

README.txt
part1.cpp
input1.txt
input2.txt
input3.txt
output1_all_0.5.txt
output1_all_0.1.txt
output2_30_0.5.txt
output2_all_0.5.txt
part3_example.cpp
the_stack.h
the_stack.cpp
provided_files.zip

Sept 22, Lecture 7:
Order Notation & Basic Recursion

Sept 25, 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

Sept 26, Lecture 8:
Vector Implementation

Sept 27, Lab 4:
Vector Implementation

vec.h
test_vec.cpp

 Sept 29, Lecture 9:
Iterators & STL Lists

classlist_LIST.cpp

 Oct 3, Lecture 10:
Vector Iterators & Linked Lists

Oct 4, Lab 5:
Vectors vs Lists: Iterators, Erase, & Insert

Oct 5, Homework 4:
Jagged Array

due @ 11:59pm

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

Oct 6, Lecture 11:
Doubly Linked Lists & List Implementation

code_written_in_lecture_11.cpp
dslist_partial.h

Oct 9,
No classes
Oct 10,
Monday schedule
Oct 11, Lab 6:
List Implementation

dslist.h (partial)
lab6.cpp

Oct 12, Homework 5:
Backup Essay

due @ 11:59pm

README.txt
main.cpp
sample_output.txt
provided_files.zip

Oct 13, Lecture 12:
Advanced Recursion

merge_sol.cpp
word_search_sol.cpp

 Oct 17, Lecture 13:
Problem Solving, part 1

Oct 18, Lab 7:
Recursion

grid1.txt
grid2.txt
grid3.txt
grid4.txt
start.cpp

Oct 19, Homework 6:
Hashi Recursion

due @ 11:59pm

README.txt
README_contest.txt
main.cpp
graph.h
graph.cpp
puzzle1.txt
out_puzzle1.txt
puzzle2.txt
puzzle3.txt
out_puzzle3.txt
out_puzzle3_all.txt
puzzle4.txt
puzzle5.txt
puzzle6.txt
puzzle7.txt
puzzle8.txt
puzzle9.txt
puzzle10.txt
provided_files.zip

Oct 20, Lecture 14:
Problem Solving, part 2

Last day to drop classes

Oct 23, Test 2
6-7:50pm

practice problems

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

Test 2 Solutions

test2_rubric.txt

Oct 24, Lecture 15:
Associative Containers, part 1

Oct 25, Lab 8:
Maps

reverse_splice.pdf
test_reverse_splice.cpp

 Oct 27, Lecture 16:
Associative Containers, part 2

 Oct 31, Lecture 17:
Trees, part 1

Nov 1, Lab 9:
Sets

ds_set.h
test_ds_set.cpp

Nov 2, Homework 7:
Halloween Maps

due @ 11:59pm

README.txt
main.cpp
small_input.txt
small_output.txt
medium_input.txt
medium_output.txt
large_input.txt
provided_files.zip

Nov 3, Lecture 18:
Trees, part 2

lec18_notes.cpp

 Nov 7, Lecture 19:
Trees, part 3

ds_set_lec19.h
lec19_notes.cpp

Nov 8, Lab 10:
Trees

ds_set.h
test_ds_set.cpp

Nov 9, Homework 8:
Quad Tree & Tree Iteration

due @ 11:59pm

README.txt
main.cpp
quad_tree.h
output.txt
provided_files.zip

Nov 10, Lecture 20:
Operators

Nov 13, Test 3
6-7:50pm

practice problems

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

Test 3 Solutions

Nov 14, Lecture 21:
Priority Queues I

Nov 15, Lab 11:
Operators

main.cpp
team.h
team.cpp

 Nov 17, Lecture 22:
Priority Queues II &
Hash Tables I

google_interview.txt

 Nov 21, Lecture 23:
Functors & Hash Tables II
Nov 22-24,
No Classes
 Nov 28, Lecture 24:
Miscellaneous Data Structures
Nov 29, Lab 12:
Order Notation & Performance

Nov 30, Homework 9:
Priority Queues for Mesh Simplification

due @ 11:59pm

README.txt
vertex.h
vertex.cpp
edge.h
edge.cpp
triangle.h
triangle.cpp
mesh.h
mesh.cpp
output.cpp
main.cpp
priority_queue.h
image.h
image.cpp
sunflowers.ppm
cats.ppm
deer.ppm
tomatoes.ppm
provided_files.zip

Dec 1, Lecture 25:
Inheritance & Polymorphism
 Dec 5, Lecture 26:
C++ Exceptions
Dec 6, Lab 13:
Multiple Inheritance & Exceptions

Dec 7, Homework 10:
Hash Tables for Image Comparison

due @ 11:59pm

README.txt
main.cpp
image.h
image.cpp
visualization.h
visualization.cpp
images.zip
provided_files.zip

Dec 8, Lecture 27:
Garbage Collection & Smart Pointers
 Dec 12, Lecture 28:
Concurrency & Asynchronous Computing
Dec 13, 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 14,
Study Days
 
Ian
2:30-3:30pm
Folsom 2nd floor, ALAC Tutoring Space
Dec 15,
Study Days
 
Ananya
2:30-3:30pm
Folsom 2nd floor, ALAC Tutoring Space
Dec 18,
Study Days
 
Cameron
2:30-3:30pm
Folsom 2nd floor, ALAC Tutoring Space
 
Prof Cutler
1:30-3:30pm
MRC 331A
Dec 19,
Study Days
 
Rhaad
11am-noon
Folsom 2nd floor, ALAC Tutoring Space
Dec 20,
Evan
11am-noon
Folsom 2nd floor, ALAC Tutoring Space

 
Data Structures Final Exam
3-6pm

location: TBA

Final Exams Schedule

practice problems

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

Dec 21-22,
Other RPI Final Exams