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

dslist_partial.h

Feb 28, Lab 7:
List Implementation

dslist.h (partial)
lab7.cpp

Mar 1, Homework 5:
Train Cars
README update 2/27
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,
Snow Day
Mar 5, 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

Mar 6, Lecture 13:
Advanced Recursion

merge_sol.cpp
word_search_sol.cpp
letters.txt

Mar 7, Lab 8:
Recursion

grid1.txt
grid2.txt
start.cpp

 Mar 9, Lecture 14:
Associative Containers, part 1 / Problem Solving

word_count.cpp

Last day to drop classes

Mar 12-16,
Spring Break
 Mar 20, Lecture 15:
Associative Containers, part 2

coursegrades.cpp
lec15_sol.cpp
lec15_ex3.cpp

Mar 21, Lab 9:
Maps

Mar 22, Homework 6:
Battleship

due @ 11:59pm

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

Mar 23,
No Lecture
 Mar 27, Lecture 16:
Trees, part 1

ds_set_starter.h
lec18_ex.cpp
ds_set_lec18_INCLASS.h

Mar 28, Lab 10:
Sets

ds_set.h
test_ds_set.cpp

Mar 29, Homework 7:
Embedded Adjacency Maps

due @ 11:59pm

README.txt
main.cpp
simple_connection.txt
simple_location.txt
simple_test1.txt
simple_test2.txt
out_simple_test1.txt
out_simple_test2.txt
small_connection.txt
small_location.txt
small_test1.txt
small_test2.txt
out_small_test1.txt
out_small_test2.txt
provided_files.zip

Mar 30, Lecture 17:
Trees, part 2

ds_set_lec19.h
lec19_notes.cpp

 Apr 3, Lecture 18:
Trees, part 3

ds_set_soln.h
lec18_ex1.cpp
lec18_ex2.cpp

Apr 4,
No classes, GM week
Apr 5, Homework 8:
DS+ Tree

due @ 11:59pm

README.txt
BPlusTree.h
hw8_test.cpp
output_all.txt
provided_files.zip

Apr 6, Lecture 19:
Operators

lec19_ex1.cpp
lec19_ex2.cpp

Apr 9, 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

Apr 10, Lecture 20:
Hash Tables, part 1

google_interview.txt
ds_hashset_start.h
phonebook_code.cpp

Apr 11, Lab 11:
Hash Tables

test_ds_hashset.cpp
ds_hashset.h

 Apr 13, Lecture 21:
Hash Tables, part 2

 Apr 17, Lecture 22:
Priority Queues

Apr 18, Lab 12:
Priority Queues

priority_queue.h
test_pq.cpp

Apr 19, Homework 9:
MiniBLAST Hash

due @ 11:59pm

README.txt
input_small.txt
input_medium.txt
input_large.txt
input_larger.txt
output_small.txt
output_medium.txt
genome_small.txt
genome_medium.txt
genome_large.txt
genome_larger.txt
provided_files.zip

Apr 20, Lecture 23:
Inheritance & Polymorphism

 Apr 24, Lecture 24:
C++ Exceptions

Apr 25, Lab 13:
Multiple Inheritance & Exceptions

input.txt
simple_main.cpp
utilities.h
simple.txt
output_simple.txt

Pass/No Credit Deadline

Apr 26, Homework 10:
Job Prioritization

due @ 11:59pm

README.txt
main.cpp
Job.h
Job.cpp
TimeQueue.h
UrgentQueue.h
test1.txt
test2.txt
test3.txt
test4.txt
out_test1.txt
out_test2.txt
out_test3.txt
out_test4.txt
provided_files.zip

Apr 27, Lecture 25:
Garbage Collection & Smart Pointers

 May 1, Lecture 26:
Concurrency & Asynchronous Computing

May 2, Lab 14:
Order Notation & Performance

performance.cpp
test_input.txt
test_sort.txt
test_mode.txt
test_remove_dups.txt

May 3,
Study Day
 
Josh 2-3:30pm, Folsom Library Tutoring Space
May 4,
Study Day
 
Weiran 2-3:30pm, Amos Eaton 215
May 7,
Data Structures Final Exam
8-11am

Final Exams Schedule

practice problems

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

May 8-11,
Other RPI Final Exams