CSCI 1200 Data Structures
Fall 2015

Home
  Contact Information
  Announcements
  Discussion Forum (LMS)

Syllabus
  Learning Outcomes
  Prerequistites
  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
  Homework Submission
  HW Grading Criteria

Collaboration Policy &
Academic Integrity

C++ Development
  Code Editors & IDEs
  OS Choices
  Installing 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 31,
First day of classes
 
"Install Fest" (optional)
6-8pm
Location: DCC 308
temperature.cpp
memory_debugger_test.cpp
Sept 1, Lecture 1:
Introduction to C++, STL, & Strings
Sept 2, Lab 1:
Getting Started

quadratic.cpp
README.txt

 Sept 4, Lecture 2:
Strings & Vectors
Sept 7,
No Classes
Sept 8, Lecture 3:
C++ Classes, part 1
Sept 9, Lab 2:
Classes

Sept 10, Homework 1:
Image Processing

due @ 11:59pm

README.txt
input1.txt
input2.txt
input3.txt
input4.txt
input5.txt
output4_replace.txt
output4_dilation.txt
output4_erosion.txt
output4_floodfill.txt
output4_opening.txt
output4_closing.txt
provided_files.zip

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

Last day to add classes

Sept 14,
Last day to add classes
Sept 15, Lecture 5:
Pointers and Arrays
Sept 16, Lab 3:
Pointers, Arrays, and the Stack

print_stack.cpp

Sept 17, Homework 2:
League of Legends Classes

due @ 11:59pm

README.txt
start here:
input_simple.txt
output_simple_players.txt
output_simple_champions.txt
then use this data:
input_small.txt
output_small_players.txt
output_small_champions.txt
even more data:
input_medium.txt
input_1000.txt
input_RiotSchmick.txt
input_Dyrus.txt
provided_files.zip

Sept 18, Lecture 6:
Dynamic Memory
Sept 21, Test 1
6-7:50pm
Location: See HW server
Sept 22, Lecture 7:
Order Notation & Basic Recursion
Sept 23, Lab 4:
Testing & Debugging

Point2D.h
Rectangle.h
Rectangle.cpp

 Sept 25, Lecture 8:
Vector Implementation
 Sept 29, Lecture 9:
Iterators & STL Lists
Sept 30, Lab 5:
Vector Implementation

vec.h
test_vec.cpp

Oct 1, Homework 3:
Dynamic Tetris Arrays

due @ 11:59pm

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

Oct 2, Lecture 10:
Vector Iterators & Linked Lists
 Oct 6, Lecture 11:
Doubly Linked Lists
Oct 7, Lab 6:
Iterators & Lists

Oct 8, Homework 4:
Tool Rental Lists

due @ 11:59pm

README.txt
inventory_small.txt updated 10/3
customer_small.txt
output_inventory_small.txt updated 10/3
output_customer_small.txt
inventory_medium.txt
customer_medium.txt updated 10/6
output_inventory_medium.txt updated 10/6
output_customer_medium.txt updated 10/6
provided_files.zip

Oct 9, Lecture 12:
List Implementation
Oct 12,
No classes
Oct 13,
Monday schedule
Oct 14, Lab 7:
List Implementation

dslist.h (partial)
lab7.cpp

Oct 15, Homework 5:
Multi-Linked Lists

due @ 11:59pm

README.txt
main.cpp
sample_output.txt
mtrand.h
mtrand.cpp
random_example.cpp
provided_files.zip

Oct 16, Lecture 13:
Advanced Recursion
Oct 19, Test 2
6-7:50pm
Location: See HW server
Oct 20, Lecture 14:
Problem Solving, part 1
Oct 21, Lab 8:
Recursion

grid1.txt
grid2.txt
start.cpp

 Oct 23, Lecture 15:
Problem Solving, part 2

Last day to drop classes

 Oct 27, Lecture 16:
Associative Containers, part 1
Oct 28, Lab 9:
Maps

Oct 29, Homework 6:
Battleship Recursion
update 10/23
due @ 11:59pm

README.txt
README_contest.txt
puzzle_sample.txt
puzzle_sample_constraints.txt
puzzle_sample_unknowns.txt
out_puzzle_sample.txt
out_puzzle_sample_all.txt
out_puzzle_sample_constraints.txt
puzzle1.txt
puzzle2.txt
puzzle3.txt
puzzle4.txt
puzzle4_unknowns.txt
puzzle5.txt
puzzle6.txt
puzzle6_unknowns.txt
puzzle7.txt
puzzle8.txt
puzzle9.txt
puzzle9_constraints.txt
puzzle10.txt
puzzle10_constraints.txt
provided_files.zip

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

ds_set.h
test_ds_set.cpp

Nov 5, Homework 7:
MiniBlast Maps

due @ 11:59pm

README.txt
input_small.txt
output_small.txt
genome_small.txt
input_medium.txt
output_medium.txt
genome_medium.txt
provided_files.zip

Nov 6, Lecture 19:
Trees, part 2
 Nov 10, Lecture 20:
Trees, part 3
Nov 11, Lab 11:
Advanced Trees

ds_set.h
test_ds_set.cpp

Nov 12, Homework 8:
Quad Trees & Tree Iteration

due @ 11:59pm

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

Nov 13, Lecture 21:
Operators
Nov 16, Test 3
6-7:50pm
Location: See HW server
Nov 17, Lecture 22:
Priority Queues, part 1
Nov 18, Lab 12:
Operators

main.cpp
team.h
team.cpp

 Nov 20, Lecture 23:
Priority Queues, part 2 (& Functors)
 Nov 24, Lecture 24:
Hash Tables

Pass/No Credit deadline

Nov 25-27,
No Classes
 Dec 1, Lecture 25:
Inheritance & Polymorphism
Dec 2, Lab 13:
Hash Tables

ds_hashset.h
test_ds_hashset.cpp

Dec 3, Homework 9:
Priority Queues for Mesh Simplification
update 11/23
due @ 11:59pm

README.txt update 11/23
vertex.h
vertex.cpp
edge.h
edge.cpp
triangle.h
triangle.cpp
mesh.h
mesh.cpp
output.cpp update 11/23
main.cpp
priority_queue.h update 11/24 (line 154)
image.h
image.cpp
mtrand.h
mtrand.cpp
sunflowers.ppm
cats.ppm
deer.ppm
tomatoes.ppm
provided_files.zip

Dec 4, Lecture 26:
C++ Exceptions
 Dec 8, Lecture 27:
Garbage Collection & Smart Pointers
Dec 9, 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 10, Homework 10:
Multiple Inheritance & Exceptions

Note: Regular deadline now Sunday dec 13th @ 11:59pm.
Max 1 late day allowed (Monday Dec 14th @ 11:59pm).

README.txt
main.cpp
Note: See Homework Server for your assigned list of Pokemon and sample output.
PokedexAll.txt
EggGroupList.txt
MatchupsSingle.txt update 12/10
MatchupsDual.txt update 12/10
provided_files.zip

Dec 11, Lecture 28:
Concurrency & Asynchronous Computing
Dec 14,
Study Day

Prof Cutler
2-4pm
MRC 331A

Andrew F.
6-7pm (or later, if there is demand)
AE 217

Dec 14,
Study Day

Prof Thompson
11am-noon
AE 205

Andrew Y.
1-2pm
AE 217

Dec 16,
Other RPI Final Exams

Salles
6-7pm
AE 217

Dec 17,
Other RPI Final Exams

Charles
6-7pm
AE 217

Dec 18,
Other RPI Final Exams

Prof Thompson
11am-noon
AE 205

Yuriy
4-5pm
AE 217

Saturday Dec 19th
Review Session
2pm
Lally 102

Dec 21,
Data Structures Final Exam
3-6pm

Location: See HW server

Final Exams Schedule

Dec 22,
Other RPI Final Exams