USC CSD Home
 

Data Structures - CSCI 102L, Fall 2011

 
General Information
Lecture   :   MW 10:00am - 11:20am in ZHS 252
Instructor   :   Bill Cheng (for office hours, please see instructor's web page), E-mail: <bill.cheng@usc.edu>.   (Please do not send HTML-only e-mails. They will not be read.)
TA #1   :   Rami Al-Ghanmi, E-mail: <alghanmi@usc.edu>, Office Hours: Fri 10:00am - 11:30am in SAL 209
TA #2   :   Lakshmi Kumar Dabbiru, E-mail: <dabbiru@usc.edu>, Office Hours: Thu 4:30pm - 6:00pm in EEB 230
TA #3   :   Yinuo Zhang, E-mail: <yinuozha@usc.edu>, Office Hours: Wed 5:00pm - 6:30pm in EEB 226
Grader   :   Liang Zhu, E-mail: <liangzhu@usc.edu>(The grader will hold office hours after the announcement of each assignment's grades.)
 
Lab #1 (29912D) : Thu 6:00pm - 7:50pm in SAL 126 (Kumar & Yinuo)
Lab #2 (29915R) : Fri 12:00pm - 1:50pm in SAL 126 (Rami & Kumar)
Lab #3 (30399R) : Fri 2:00pm - 3:50pm in SAL 109 (Rami & Yinuo)
 
Midterm Exam #1   :   during class time in ZHS 159, Wed, 10/5/2011 (firm)
Midterm Exam #2   :   during class time in ZHS 159, Wed, 11/9/2011 (firm)
Final Exam   :   8:30am-9:50am in ZHS 252, Mon, 12/12/2011 (firm)
 
Class Resources
Description   :   textbooks, topics covered, grading policies, additional resources, etc.
Lectures   :   slides from lectures in PDF formats
Labs   :   lab assignments
Homeworks   :   homework assignments (please also see important information about programming assignments at the bottom of this page.)
 
Newsgroup   :   Google Group for discussing course materials and programming assignments. (This group is by invitation only.)
Blackboard   :   link to the USC Blackboard System.
Videos   :   YouTube videos.
Resources   :   additional resources and useful web sites.
Academic Integrity   :   student code of conduct and academic integrity policy.
VARC   :   link to the Viterbi Academic Resource Center.
 
News
(in reversed chronological order)
  • 11/30/2011: The Final Exam 2 will be closed book, closed notes, and closed everything (and no "cheat sheet"). Also, no calculators, cell phones, or any electronic gadgets are allowed. Please bring a photo ID. Your ID will be collected at the beginning of the exam and will be returned to you when you turn in your exam. There will be assigned seating.

    Although the final exam will cover everything from the beginning of Lecture 16 on 10/19/2011 to the last slide of Lecture 26 on 11/30/2011, it will focus on Lectures 21 through 26. Here is a quick summary of the topics that this exam will focus on (not all topics covered are listed):

    • Lecture 21: binary trees
    • Lecture 22: binary search treee
    • Lecture 23: self-balancing trees, non-binary trees, hash tables
    • Lecture 24: hash tables, sets, multisets, maps, multimaps
    • Lecture 25: graphs
    • Lecture 26: STL
    • Lab 11: binary search trees


  • 11/14/2011: The statistics for Midterm #2 are:
         Count = 43
           Avg = 84.79
        StdDev = 9.07
           Max = 99.00
           Min = 59.00
    
       1 99+ X
       3 96+ XXX
       4 93+ XXXX
       7 90+ XXXXXXX
       5 87+ XXXXX
       7 84+ XXXXXXX
       6 81+ XXXXXX
       2 78+ XX
       3 75+ XXX
       1 72+ X
       1 69+ X
       1 66+ X
       1 63+ X
       0 60+ 
       1 57+ X
    Kumar graded problems 1 & 2. Yinuo graded problems 3 & 4. Please go to the right TA for regrads. Please note that a TA cannot regrade problems graded by another TA. Deadline for regrade is 2 weeks from today. Please see Slides 7 and 8 of the "reviews" lecture slides for regrade rules.

  • 11/2/2011: Midterm #2 will be closed book, closed notes, and closed everything (and no "cheat sheet"). Also, no calculators, cell phones, or any electronic gadgets are allowed. Please bring a photo ID. Your ID will be collected at the beginning of the exam and will be returned to you when you turn in your exam. There will be assigned seating.

    The exam will cover everything from the beginning of Lecture 11 on 9/28/2011 to the last slide of Lecture 20 on 11/2/2011. Here is a quick summary of the topics (not all topics covered are listed):

    • Lecture 11: documentation and Doxygen, vectors
    • Lecture 13: linnked lists
    • Lecture 14: templates (and templated linked lists), commandline parsing
    • Lecture 15: stacks, queues, deques
    • Lecture 16: algorithmic thinking, recursion
    • Lecture 17: algorithm analysis
    • Lecture 18: searching, sorting (part 1 - selection sort, bubble sort)
    • Lecture 19: sorting (part 1 - insertion sort), sorting (part 2 - merge sort, quick sort, linear time sorting algorithms)
    • Lecture 20: sorting (part 3 - heap, heap sort, priority queues)
    • Lab 7: templated linked lists
    • Lab 8: stacks & queues
    • Lab 9: recursion
    • HW3: The Beast Video Game
    • HW4: The Beast Video Game Part 2

    Please note that Lab 6 (Inheritance & Polymorphism) will not be covered in Midterm #2.


  • 10/14/2011: The statistics for Midterm #1 are:
         Count = 63
           Avg = 68.87
        StdDev = 15.66
           Max = 98.00
           Min = 28.00
    
       2 95+ XX
       4 90+ XXXX
       4 85+ XXXX
       3 80+ XXX
      10 75+ XXXXXXXXXX
      13 70+ XXXXXXXXXXXXX
       5 65+ XXXXX
       7 60+ XXXXXXX
       4 55+ XXXX
       3 50+ XXX
       2 45+ XX
       2 40+ XX
       3 35+ XXX
       0 30+ 
       1 25+ X

  • 10/7/2011: Our Microsoft Student Ambassador Rodrigo Santos <rodrigos@usc.edu> would like to invite you to participate in Imagine Cup 2012. Please see a flyer for this event. (Please note that participation in this event will be completely "on your own time".)


  • 10/3/2011: Midterm #1 will be closed book, closed notes, and closed everything (and no "cheat sheet"). Also, no calculators, cell phones, or any electronic gadgets are allowed. Please bring a photo ID. Your ID will be collected at the beginning of the exam and will be returned to you when you turn in your exam. There will be assigned seating.

    The exam will cover everything from the beginning of Lecture 2 on 8/24/2011 to the last slide of Lecture 10 on 9/26/2011. Here is a quick summary of the topics (not all topics covered are listed):

    • Lecture 2: software engineering principles, basic memory management
    • Lecture 3: C++ data types
    • Lecture 4: C++ I/O
    • Lecture 5: struct, classes
    • Lecture 6: exception handling, namespaces
    • Lecture 7: operator overloading
    • Lecture 8: composition, inheritance
    • Lecture 9: pointers, dynamic objects
    • Lecture 10: polymorphism
    • Lab 1: functions, pointers
    • Lab 2: streams
    • Lab 3: classes
    • Lab 4: exceptions
    • Lab 5: operator overloading
    • HW1: Contact Database
    • HW2: Extending the Contact Database

  • 9/1/2011: Tech Tuesday: Where the Jobs Are? - Yesterday's Kojo Nnamdi Radio Show (in the Washington DC area) talked about one of the fastest-growing areas of IT: Mobile Application Development. One of the guests on the show was Adam Porter, CS professor at the Univesity of Maryland at College Park (where I used to teach). I was surprised to hear how many tech jobs are out there in this area!


 
Important Information about Assignments
If a student signs up late for this class, he/she is still required to turn all lab and homework assignments on time or he/she will receive a score of zero for these assignments. No exceptions (other than documented illness and documented family emergency).
 

[Last updated Mon Sep 17 2012]    [Please see copyright regarding copying.]