CSCI 1200 Data Structures
Spring 2014

Home
  Contact Information
  Announcements
  Discussion Forum (LMS)

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

Collaboration Policy &
Academic Integrity

References
  Optional Textbooks
  Web Resources
  C++ Development
    Compilers
    Code Editors & IDEs
  Misc. C++ Programming
    Command Line Args
    File I/O
    string → int/float
  Memory Debugging
    Valgrind
    Dr. Memory

Course Calendar

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

Monday Tuesday Wednesday Thursday Friday
Jan 20,
No classes
Jan 21, Lecture 1:
Introduction to C++, STL, & Strings
Jan 22, Lab 1:
Getting Started

julian.cpp
README.txt

  Jan 24, Lecture 2:
Strings & Vectors
  Jan 28, Lecture 3:
C++ Classes, part 1
Jan 29, Lab 2:
Classes

Jan 30, 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

Jan 31, Lecture 4:
C++ Classes, part 2
Feb 3,
Last day to add classes
Feb 4, Lecture 5:
Pointers and Arrays
Feb 5, Lab 3:
Pointers, Arrays, and the Stack

print_stack.cpp

Feb 6, Homework 2:
Hockey Classes

due @ 11:59pm

README.txt
no_penalties_or_overtime.txt
no_penalties_or_overtime_output.txt
2012_small.txt
2012_small_output.txt
2012_ecac.txt
2012_ecac_output.txt
2012_all.txt
2011_all.txt
provided_files.zip

Feb 7, Lecture 6:
Dynamic Memory
Feb 10, Test 1
6-7:50pm
Location:
DCC 308 (Sections 1-5 & 7-9)
DCC 337 (Sections 6 & 10)

Feb 11,
Data Structures lecture cancelled
Feb 12, Lab 4:
Testing & Debugging

Point2D.h
Rectangle.h
Rectangle.cpp

  Feb 14, Lecture 7:
Vector Implementation
Feb 17,
No classes
Feb 18,
Monday schedule
Feb 19, Lab 5:
Vector Implementation

vec.h
test_vec.cpp

Feb 20, Homework 3:
Resizable Table

due @ 11:59pm

README.txt
main.cpp updated 2/15
sample_output.txt
small.txt
medium.txt
large.txt
provided_files.zip

Feb 21, Lecture 8:
Iterators
  Feb 25, Lecture 9:
Lists & Iterators
Feb 26, Lab 6:
Iterators & Lists

Feb 27, Homework 4:
DVD Lists

due @ 11:59pm

README.txt
main.cpp
requests_small.txt
results_small.txt
requests_medium.txt
results_medium.txt
requests_large.txt
provided_files.zip

Feb 28, Lecture 10:
Linked Lists, part 1
  Mar 4, Lecture 11:
Linked Lists, part 2
Mar 5, Lab 7:
List Implementation

dslist.h (partial)
lab7.cpp

Mar 6, Homework 5:
Linked Train Cars

due @ 11:59pm

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

Mar 7, Lecture 12:
Recursion
Mar 10-14,
Spring Break
Mar 17, Test 2
6-7:50pm
Location:
DCC 308 (Sections 1-5 & 7-9)
DCC 337 (Sections 6 & 10)

Mar 18,
Data Structures lecture cancelled
Mar 19, Lab 8:
Recursion

grid1.txt
grid2.txt
start.cpp

  Mar 21, Lecture 13:
Problem Solving

Last day to drop classes

  Mar 25, Lecture 14:
Associative Containers, part 1
Mar 26, Lab 9:
Maps

Mar 27, Homework 6:
Ricochet Robots Recursion

due @ 11:59pm

README.txt
README_contest.txt
main.cpp
board.h
board.cpp
puzzle1.txt
puzzle1_reachable_A_3.txt
puzzle1_reachable_B_3.txt
puzzle1_reachable_C_3.txt
puzzle1_reachable_A.txt
puzzle1_one_solution.txt
puzzle1_all_solutions.txt
puzzle2.txt
puzzle2_all_solutions.txt
puzzle2_no_4_move_solutions.txt
puzzle3.txt
puzzle3_one_solution.txt
puzzle4.txt
puzzle5.txt
puzzle6.txt
puzzle7.txt
puzzle8.txt
provided_files.zip

Mar 28, Lecture 15:
Associative Containers, part 2
  Apr 1, Lecture 16:
Trees, part 1
Apr 2, Lab 10:
Sets

ds_set.h
test_ds_set.cpp

Apr 3, Homework 7:
Word Frequency Maps

due @ 11:59pm

README.txt
main.cpp
spot.txt
spot_input.txt
spot_output.txt
hansel_and_gretel.txt
(original link)
hg_input_2.txt updated 3/31
hg_output_2.txt updated 3/31
hg_input_3.txt updated 3/31
hg_output_3.txt updated 3/31
wizard_of_oz.txt
(original link)
shakespeare.txt
(original link)
provided_files.zip

Apr 4, Lecture 17:
Trees, part 2
  Apr 8, Lecture 18:
Trees, part 3
Apr 9,
No classes
Apr 10, Homework 8:
Friendly Recursion

due @ 11:59pm

README.txt
main.cpp
graph.h
person.h
message.h
MersenneTwister.h
graph_test.txt
remove_test.txt
message_test.txt
out_graph_test.txt
out_remove_test.txt
out_message_test.txt updated 4/8
twitter_39_nodes.txt new 4/8
twitter_1585_nodes.txt new 4/8
provided_files.zip

Apr 11, Lecture 19:
Hash Tables
Apr 14, Test 3
6-7:50pm
Location:
DCC 308 (Sections 1-5 & 7-9)
DCC 337 (Sections 6 & 10)

Apr 15,
Data Structures lecture cancelled
Apr 16, Lab 11:
Hash Tables

ds_hashset.h
test_ds_hashset.cpp

  Apr 18, Lecture 20:
Priority Queues

Pass/No Credit deadline

  Apr 22, Lecture 21:
Inheritance & Polymorphism
Apr 23, Lab 12:
Priority Queues

priority_queue.h
test_pq.cpp

Apr 24, Homework 9:
Perfect Hashing

due @ 11:59pm

README.txt
main.cpp
image.h
image.cpp
car_occupancy.pbm
car_hash_data.ppm
car_offset.offset
car_original.ppm
chair.ppm
lightbulb.ppm
provided_files.zip

Apr 25, Lecture 22:
C++ Exceptions
  Apr 29, Lecture 23:
Operators
Apr 30, Lab 13:
Operators

main.cpp
team.h
team.cpp

May 1, Homework 10:
Multiple Inheritance & Exceptions

due @ 11:59pm

README.txt
main.cpp
utilities.h
input.txt
triangles.txt
triangles_output.txt
quads.txt
quads_output.txt
provided_files.zip

May 2, Lecture 24:
Garbage Collection & Smart Pointers
  May 6, Lecture 25:
Concurrency & Asynchronous Computing
May 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

Last day of classes

May 8-9,
Study days
May 12-16,
Other Final Exams
May 13,
Data Structures Final Exam
3-6pm
Location:
      DCC 308
      Lab sections 1, 2, 3, 4, 5, 7, & 8

      DCC 324
      Lab sections 6, 9, & 10

May 14-16,
Other Final Exams