Discussion Sections - CSCI 402, Spring 2015, All Sections

There are 4 discussion sections and you can attend any of them (i.e., you don't have to go to the one for which you are registered). We will not have exams or do roll calling during discussion sections. One of the discussion sections is on DEN and the lecture videos will be made accessible to all.

Each discussion section is conducted by a TA. Below is a list showing which TA is responsible for which discussion section:

  • Fri 10:00am - 10:50am in GFS 116 (Hao Xu)
  • Fri 11:00am - 11:50am in GFS 116 (Michael Hung)
  • Fri 12:00pm - 12:50pm in MHP 106 (Sung-Han Lin)
  • Fri 1:00pm - 1:50pm in OHE 100B (Bill Cheng)
During a discussion section, the TA will present information regrading up-coming programming assignments. If you have a particular topic that you would like the TA to discuss on Friday, you should send e-mail to the TA before 5PM on Thursday. The TA will try his/her best to cover such requests.

Please note that programming assignments are due on Fridays and you are expected to have finished the an assignment before its due date. Please understand that on the due date of a programming assignment, the TAs will not be discussing the assignment that's about to be due (except to clarify some grading related questions); the TAs will be discussing the next programming assignment!

Tentative And Final Slides
The following are tentative and final slides (in PDF format) for this semester.

  • Week 1 (PDF) (6-up PDF) - gdb, warmup #1
  • Week 2 (PDF) (6-up PDF) - gdb, warmup #1, C, Unix
    Here are some corrections to the DEN lecture video. The numbers in brackets are time indices of the video.
    • [12:10] Sung-Han said "null or EOF" and that's incorrect. You cannot write EOF into a buffer.
    • [13:20] Sung-Han said that if the first character is a space character, you need to "take care of it". Please understand that "take care of it" can mean "treat as error"
    • [13:45] Sung-Han said something more about having space characters are wrong. As it turns out, it's not an error in that case. Please understand that the example code on the slide is for parsing an input line, look for 3 tabs and breaking it into 4 strings and nothing else. What you do with each resulting string is a separate business.
    • [24:45] Sung-Han said to replace "listtest" with "sort". You should replace all instances of "listtest" with "warmup1" to create a Makefile for part (2) of warmup #1.
    • [32:40] Sung-Han forgot to copy and paste stuff in the "Do This First" section of the grading guidelines.
    • [35:15] You don't have to copy and paste one line at a time.
    • [39:45] Sung-Han said that the format is incorrect, but according to the spec, it is correct
    • [40:00] Sung-Han said that the format is incorrect, but according to the spec, it is correct. Sung-Han corrected himself at time index [40:43].
    • [41:00] Sung-Han said that the grading guidelines is guaranteed not to change. That's incorrect. As mentioned in item (6) at the top of the grading guidelines, it is possible that we may change it. But we will try our best not to change it. Also, it was mentioned in Lecture 1 we will change the data.
    • [43:40] Sung-Han said that there is nothing random in "listtest.c". That's incorrect. It shuffles differently every time. Please read the code of "listtest.c".
    • [44:28] Student asked about lines that begins with "===>" and Sung-Han misunderstood and thought that those lines were displayed by the "diff" command. If "diff" does not produce any output when you run the grading guidelines, all you should see are the lines printed by the "echo" commands.
  • Week 3 (PDF) (6-up PDF) - warmup #2 introduction
  • Weeks 4 & 5 (PDF) (6-up PDF) - warmup #2, multiple processes and multiple threads
    Code in slides:
  • Week 6 (PDF) (6-up PDF) - introduction to kernel assignments
  • Weeks 7 & 8 (PDF) (6-up PDF) - kernel 1
    Code in slides:
  • Week 9 (PDF) (6-up PDF) - introduction to kernel 2
    Code in slides:
  • Weeks 10 & 11 - kernel 2, vfstest.c, faber_fs_test.c
  • Week 12 (PDF) (6-up PDF) - introduction to kernel 3
  • Week 13 - objdump, address space implementation (vmarea, mmobj, pframe, page table), page fault handling, hello.c, fork-and-wait.c, kernel FAQ
  • Week 14 - do_fork(), kernel 3 FAQ, memtest.c, eatmem.c, and forkbomb.c.
  • Week 15 - questions and answers
Rough Schedule (subject to change without notice)

Week # Date Topics Comments
1 1/16 gdb, warmup #1  
2 1/23 C, Unix  
3 1/30 warmup #2 (warmup #1 due at end of day)
4 2/6 multithreading  
5 2/13 Unix signals  
6 2/20 kernel #1 (warmup #2 due at end of day)
7 2/27 (TBD)  
8 3/6 (TBD)  
9 3/13 kernel #2 (kernel #1 due at end of day)
- 3/20 (no class) spring break
10 3/27 (TBD)  
11 4/3 (TBD)  
12 4/10 kernel #3 (kernel #2 due at end of day)
13 4/17 (TBD)  
14 4/24 (TBD)  
15 5/1 (TBD) (kernel #3 due at end of day)

[Last updated Sat Sep 19 2020]    [Please see copyright regarding copying.]