USC CSD Home
 

Data Structures - CSCI 102L, Spring 2011, Section 30349R

 
General Information
Lecture   :   TuTh 3:30pm - 4:50pm in ZHS 352
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: Wed 10am - 12pm in SAL 209
TA #2   :   Peiying Chiang, E-mail: <peiyingc@usc.edu>, Office Hours: Fri 3:30pm - 5:30pm in EEB 433
TA #3   :   Ling Hu, E-mail: <lingh@usc.edu>, Office Hours: Mon 3pm - 5pm in PHE 328
TA #4   :   Sikai Zhu, E-mail: <sikaizhu@usc.edu>, Office Hours: Thu 12pm - 2pm in PHE 316
Grader #1   :   Akhil Chauhan, E-mail: <akhilcha@usc.edu>.
Grader #2   :   Swepna Mohan Doss, E-mail: <swepnamo@usc.edu>.
 
Lab #1 (29915R) : Wed 12:00pm - 1:50pm in SAL 127 (Al-Ghanmi & Hu)
Lab #2 (29914R) : Wed 3:00pm - 4:50pm in SAL 126 (Al-Ghanmi & Chiang)
Lab #3 (29912R) : Wed 5:00pm - 6:50pm in SAL 109 (Chiang & Zhu)
Lab #4 (30238R) : Tue 5:30pm - 7:20pm in SAL 126 (Hu & Zhu)
 
Midterm Exam #1   :   during class time, Thu, 2/24/2011 (firm)
Midterm Exam #2   :   during class time in MHP 106, Thu, 4/7/2011 (firm),  MHP is located in section 7D of the campus map.
Final Exam   :   2pm-4pm, Tue, 5/10/2011 (firm) in GFS 106, GFS is located in section 5C of the campus map.
 
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)
  • 5/6/2011:Drawing a tree can be a lot of work. One common way of drawing a tree is to eliminate all the NULL pointers (since they are fairly easy to spot), replace all remaining "pointers" by simple line segments (since a tree always grown downwards), and even eliminate external labels (such as "root" since the root is always at the very top) and boxes.

    Below and on the left is a typical tree that we draw in class. The figure on its right is an equivalent representation of the same tree using "simplified notation". Please be familiar with this way of drawing trees because we will use it in the final exam to save, you know, trees.


  • 4/29/2011: The final exam 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.

    Since the coverage of the final exam includes Lab 9 (Big O, Search & Sort), effectively, the final exam will cover everything starting from slide 23 of Lecture 17 (Algorithm Analysis) on 3/22/2011 to the last slide of Lecture 27 on 4/28/2011. But the emphasis is placed on topics after midterm #2. Here is a quick summary of the topics after midterm #2 (not all topics covered are listed):

    • Lecture 20: heap, heap sort, priority queues
    • Lecture 22: binary trees
    • Lecture 23: binary search treee, self-balancing trees,
    • non-binary trees
    • Lecture 24: hash tables
    • Lecture 25: sets, multisets, maps, multimaps
    • Lecture 26: graphs
    • Lecture 27: STL
    • Lab 9: Big O, Search & Sort
    • Lab 10: Heaps
    • Lab 11: Binary Search Trees

    Please see Lecture 27 for a brief review for the final exam.


  • 3/31/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 2/15/2011 to the slide 6 of Lecture 20 on 3/31/2011. Here is a quick summary of the topics (not all topics covered are listed):

    • Lecture 11: polymorphism
    • Lecture 12: vectors
    • Lecture 13: linnked lists
    • Lecture 14: templates (and templated linked lists)
    • Lecture 15: stacks, queues, deques
    • Lecture 16: Recursion
    • Lecture 17: algorithm analysis
    • Lecture 18: searching, selection sort, bubble sort
    • Lecture 19: insertion sort, merge sort, quick sort
    • Lecture 20: linear time sorting algorithms
    • Lab 6: inheritance & polymorphism
    • Lab 7: templated linked lists
    • Lab 8: stacks & queues
    • HW3: Conway's Game of Life
    • HW4: Conway's Game of Life Part 2

  • 2/22/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.

    If the first letter of your last name is "W", "X", "Y", or "Z", your exam will be in THH 102 (in Prof. Ghyam's class).

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

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

  • 1/14/2011:
    • A couple of changes in the regrade policy.
      1. Regrade requests must be submitted within two weeks of initial grade notification.
      2. To be eligible for exam regrades, you must write your entire exam in ink.

  • 1/8/2011:
    • To access protected area of this web site, please visit the request access page after the semester starts and submit the requested information. (You do not have to be registered for the course to get the password.)

  • 1/3/2011:
    • There is another section of CSCI 102 (section 29911R) which is offered by Prof. Massoud Ghyam at the same time as our class. There may be substantial difference between the two sections. Please make sure you attend the lecture and lab section for which you are registered.

    • Watch this area for important announcements.
 
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.]