I would prefer to teach some original material during these sections, mostly because it's hard to fill two hours if I don't, but I've been informed by Professor Bagrodia that we'll get in trouble if I do that. A four unit course should have only four hours of lecture.
Nevertheless, a typical section will consist of some original material, where I expand on course ideas, explain additional sample programs, etc. and some time for answering questions about the lectures. Please be prepared to ask questions.
I try to post everything that happens in the discussion to the class webpage shortly after the class is over.
The programs in the class are not terribly long, but they aren't necessarily easy. I tend to provide input and output generators and starter code to make them easier. Nevertheless, I expect a lot from you. My typical grading philosophy is as follows:
| 40-60% | Correctness | Correctness measures whether the program runs successfully as a sequential program and as a parallel program, and generates correct results. |
| 20% | Style | As juniors, seniors, and grad students, you should have a pretty good grasp of good coding style. What I look for: meaningful variable names, consistent indentation, sufficient (but not excessive) use of comments. I also print these, so if you consistently go beyond 80 columns, you should warn me to print in landscape mode. |
| 20-40% | Documentation | I usually ask for a one page document which contains two things:
|
In the past, I've caught people cheating in this class. This upsets me. So now I have a zero-tolerance policy for cheating.
I read every program. It is very easy to tell when a program has been copied, even if the variable names are changed.
The programming assignments in this course are designed for one person. You're expected to do your own work. You may discuss your homework with other students, but you must do your own work. If you do discuss your homework with anyone associated with the class (except the TA), including students from last year's class, you must identify these people when you turn in the program.
Homework assignments have not been determined yet. It looks like we'll be doing a simple Dining Philosophers problem and either a matrix problem or a graph algorithm in MPC, and then may be doing group projects in Java.