ECS 60. Data Structures and Programming.
| Winter 2013 | CRN: 50906 |
| Lectures: | TR 1030-1150, 234 Wellman. |
| Discussions: | W 1310-1400, 100 Hunt. |
| Instructional staff: |
Hao Chen. Office hours: R 0900-1030. 2211 Watershed.
|
|
Bogdan Copos. Office hours: T 1600-1700, 53 Kemper. |
|
Clint Gibler. Office hours: M 1300-1400, 53 Kemper. |
| Communication: |
If you have a non-personal question, send it to the discussion forum at SmartSite.
If you have a personal issue, send an email to
ecs60ATcancer.cs.ucdavis.edu
whose subject line starts with ecs60. Do NOT send email to our personal email addresses, as they are automatically filtered out.
|
| Gradebot: | Submit your homework to the gradebot. |
Schedule
| Week | Date | Topic | Reading | Notes |
| 1 | January 08 |
Performance analysis |
§1 |
|
| January 10 |
Stacks and queues |
§3.1-3.4; 3.6 |
|
| 2 | January 15 |
Linked lists |
§4.1-4.3; 4.6; 4.8; 4.10 |
|
| January 17 |
Trees |
§5.1-5.3 |
|
| 3 | January 22 |
§5.6; 5.7 |
|
| January 24 |
§5.10 |
|
| 4 | January 29 |
Graphs |
§6.1 |
|
| January 31 |
§6.2.1-6.2.4;6.3.1 |
|
| 5 | February 05 |
§6.4.1 |
|
| February 07 |
§6.5 |
|
| 6 | February 12 |
Midterm (tentative) |
|
| February 14 |
Huffman coding |
Page 454-456 |
|
| 7 | February 19 |
Sorting |
§7.1-7.5 |
|
| February 21 |
§7.6; 7.7 |
|
| 8 | February 26 |
§7.9 |
|
| February 28 |
Hashing |
§8.1; 8.2 |
|
| 9 | March 05 |
§8.4 |
|
| March 07 |
Efficient binary search trees |
§10.2 |
|
| 10 | March 12 |
§10.4 |
|
| March 14 |
Multiway search trees |
§11.1-11.2 |
|
Note: reading is subject to change.
Description
Design and analysis of data structures for a variety of applications. Trees, heaps, searching, sorting, hashing, graphs. Extensive programming.
Textbook
Grading
Grading scheme is subject to revision.
- Rules of engagement.
The zeroth homework tests if you understand and agree to the rules of engagement. Should you not turn it in on time, you will fail this class.
- Programming homework: 60%.
- Students shall work individually. You are welcome to share ideas and test cases; however, you shall never share any portion of your program. For your admonition and entertainment, here are confessions of previous plagiarists.
- A gradebot receives your program, grades your program, and shows your ranking in the class in real time. The gradebot runs your program on a set of test cases and compares its output to that of our reference program.
-
We will disclose neither the test cases nor the source of our reference program, even after the deadline.
- Exams (midterm and final): 35%.
All exams are cumulative and are
open print-materials. You may bring any non-electronic books or notes. However, you
shall not use any electronic device (including --- but not limited to --- computers and cell phones, but electronic watches are fine) or share materials during the exams.
- Class and forum participation: 5%.
- Responsibility credit: 10%.
I expect you to take responsibility for your achievements and mistakes. Therefore, do not make unreasonable demands, a.k.a. whining. If you do, you will not only get no favorable treatment but also lose this credit completely. Here are some examples of whine:
- Demand exceptions or favors at the expense of fairness to the rest of the class.
- Refuse to take responsibility for your mistake (e.g., failure to read specifications or follow instructions) but blame it on others (your classmates, the instructor, or the TA).
- Demand the rule for an assignment be changed to overlook your mistake after the assignment has been graded.
However, you are encouraged to ask questions and to provide feedback on my teaching, e.g.:
- Ask me to clarify specifications or policies.
- Identify mistakes in my lectures, specifications, code examples, or grading.
- Suggest how my teaching can be improved.
Requirements
- Reading: Read the chapters before class. I will not read
the textbook to you during class. Rather, I will help you better
understand certain materials in the textbook. However, all the
chapters covered in the above schedule, even if not discussed in
class, may be tested.
- Class participation: You are required to participate actively in
discussions in the class and in the forum. All the materials
discussed, even if they are not in the textbook, may be tested. You shall read the forum and your email at least once in any 12 hour period (including weekends and holidays), as I may post important announcements about this class.
Policies
- Late work: We accept late work only:
- in exceptional circumstances, such as your fatal injury by automobile accidents, plane crashes, lightning strikes, roadside IEDs, snipers, the terminator, dinner with Dr. Hannibal Lector, or shower with a university football coach, and
- when you ask and receive our permission before the deadline.
- Practice exams: We train creative computer scientists and engineers, not rote geeks. Therefore, we give no practice exam, and we don't "prepare" for exams. All the materials discussed in the class are fair game for the exams.
- Regrade request: If you believe that your homework or exam has been graded incorrectly, you may request regrade only within one week of the returned work, except the final exam.
- Integrity: All students shall understand University policies on academic honesty.
Cheating on assignments or exams will be subject to cruel and unusual
punishments. We will check programming assignments for plagiarism
both manually and using automated tools.
Feedback
I always welcome any feedback on what I could be doing better.
You are also welcome to send me feedback anonymously.
<ecs60ATcancer.cs.ucdavis.edu>
Last modified January 9, 2013.