CSCI 1200 Data Structures
Fall 2014

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
  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
Aug 25,
First day of classes
Aug 26, Lecture 1:
Introduction to C++, STL, & Strings
Aug 27, Lab 1:
Getting Started

julian.cpp
README.txt

  Aug 29, Lecture 2:
Strings & Vectors
Sept 1,
No classes
Sept 2, Lecture 3:
C++ Classes, part 1 & Order Notation
Sept 3, Lab 2:
Classes

Sept 4, Homework 1:
Moire Strings

due @ 11:59pm

README.txt
abcde_9_isosceles_triangle.txt
abcde_9_right_triangle.txt
abcde_9_square.txt
blocky_21_isosceles_triangle.txt
dots_21_square.txt
hi_21_right_triangle.txt
provided_files.zip

Sept 5, Lecture 4:
C++ Classes, part 2
Sept 8,
Last day to add classes
Sept 9, Lecture 5:
Pointers and Arrays
Sept 10, Lab 3:
Pointers, Arrays, and the Stack

print_stack.cpp

Sept 11, Homework 2:
Bowling Classes

due @ 11:59pm

README.txt
no_strikes_or_spares.txt
out_no_strikes_or_spares.txt re-updated 9/8
simple_tenth.txt
out_simple_tenth.txt updated 9/5
example.txt
out_example.txt re-updated 9/8
2010_US_Open.txt
provided_files.zip

Sept 12, Lecture 6:
Dynamic Memory
Sept 15, Test 1
6-7:50pm

Location:

DCC 308
(lab sections 1-5)

DCC 324
(lab sections 6 & 7)

Sept 16,
Data Structures lecture cancelled
Sept 17, Lab 4:
Testing & Debugging

Point2D.h
Rectangle.h
Rectangle.cpp

  Sept 19, Lecture 7:
Vector Implementation
  Sept 23, Lecture 8:
Iterators
Sept 24, Lab 5:
Vector Implementation

vec.h
test_vec.cpp

Sept 25, Homework 3:
Jagged Array

due @ 11:59pm

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

Sept 26, Lecture 9:
Lists & Iterators
  Sept 30, Lecture 10:
Linked Lists, part 1
Oct 1, Lab 6:
Iterators & Lists

Oct 2, Homework 4:
Preference Lists

due @ 11:59pm

README.txt
main.cpp
requests.txt
results.txt
requests_large.txt
results_large.txt
requests_with_errors.txt
results_with_errors.txt
sample_cerr_error_messages.txt
provided_files.zip

Oct 3, Lecture 11:
Linked Lists, part 2
  Oct 7, Lecture 12:
Recursion
Oct 8, Lab 7:
List Implementation

dslist.h (partial)
lab7.cpp

Oct 9, Homework 5:
Unrolled Linked Lists

due @ 11:59pm

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

Oct 10, Lecture 13:
Problem Solving
Oct 13,
No Classes
Oct 14, Test 2
6-7:50pm

Location:

DCC 308
(lab sections 1-5)

DCC 324
(lab sections 6 & 7)

Monday Schedule

Oct 15, Lab 8:
Recursion

grid1.txt
grid2.txt
start.cpp

  Oct 17, Lecture 14:
Associative Containers, part 1

Last day to drop classes

  Oct 21, Lecture 15:
Associative Containers, part 2
Oct 22, Lab 9:
Maps

Oct 23, Homework 6:
Carcassonne Recursion

due @ 11:59pm

README.txt
README_contest.txt
main.cpp
tile.h
tile.cpp
board.h
board.cpp updated 10/14 to compile on Cygwin
location.h
location.cpp
MersenneTwister.h
puzzle1.txt
puzzle2.txt
puzzle3.txt
puzzle4.txt
puzzle5.txt
puzzle6.txt
puzzle7.txt
puzzle8.txt
puzzle9.txt
output5.txt
output3rotations.txt
output6all.txt
output4allrotations.txt
provided_files.zip

Oct 24, Lecture 16:
Trees, part 1
  Oct 28, Lecture 17:
Trees, part 2
Oct 29, Lab 10:
Sets

ds_set.h
test_ds_set.cpp

Oct 30, Homework 7:
Library Maps

due @ 11:59pm

README.txt
main.cpp
input.txt
output.txt
med_input.txt
med_output.txt
provided_files.zip

Oct 31, Lecture 18:
Trees, part 3
  Nov 4, Lecture 19:
Hash Tables
Nov 5, Lab 11:
Hash Tables

ds_hashset.h
test_ds_hashset.cpp

Nov 6, Homework 8:
Bidirectional Maps

due @ 11:59pm

README.txt
main.cpp
output.txt
extra_credit_output.txt
provided_files.zip

Nov 7, Lecture 20:
Hash Tables cont. & Operators
Nov 10, Test 3
6-7:50pm

Location:

DCC 308
(lab sections 1-5)

DCC 324
(lab sections 6 & 7)

Nov 11,
Data Structures lecture cancelled
Nov 12, Lab 12:
Operators

main.cpp
team.h
team.cpp

  Nov 14, Lecture 21:
Priority Queues, part 1
  Nov 18, Lecture 22:
Priority Queues, part 2
Nov 19, Lab 13:
Priority Queues

priority_queue.h
test_pq.cpp

Nov 20, Homework 9:
Perfect Hashing

due Saturday Nov 22nd
@ 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

Nov 21, Lecture 23:
Inheritance & Polymorphism
  Nov 25, Lecture 24:
C++ Exceptions

Pass/No Credit deadline

Nov 26-28,
No classes
  Dec 2, Lecture 25:
Garbage Collection & Smart Pointers
Dec 3, 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 4, Homework 10:
Multiple Inheritance & Exceptions

due @ 11:59pm

README.txt
main.cpp
input_with_types.txt
output.txt
input_without_types.txt
input_fewer_facts.txt
provided_files.zip

Dec 5, Lecture 26:
Concurrency & Asynchronous Computing

Last day of classes

Dec 8,
Aritra
2-3pm
AE 217
Dec 9,
Salles
2-3pm
AE 217
Dec 10,
Hendrik
10-11am
AE 217
 
Ridwan
2-3pm
AE 217
Dec 11,
Sean
11am-noon
AE 217
Dec 12,
Data Structures Final Exam
11:30am-2:30pm

Location:

DCC 308
(lab sections 1-5)

DCC 337
(lab sections 6 & 7)

 

Dec 15-16,
Other Final Exams