CS 441/641 Spring 2016
Course grades are posted, and
details are on NetRun. This was a fun class-thank you for taking it! The
take-home Final Exam is due Friday, May 6 on Blackboard ( log in first).
Clarification on question 2.b: "to reach 50% of peak bandwidth", latency constitutes half the total time to send the message.
Project 2 final drafts are due Friday, May 6 on Blackboard ( log in first).
The final exam time, Friday May 6 from 8-10am, will be a project work session--I'll be there if you need help finalizing your project.
Project 2 presentations are April 26 & 28.
HW3, on network communication, is due Thursday, April 14 on NetRun.
Project 1 final drafts were due Tuesday, March 22 on Blackboard ( log in first). From the requirements:
The final code should be fully debugged, polished, tuned, commented, and include at least a short README explaining what it is, and what its results mean. You'll be graded on a combination of ambition, correctness, completeness, and comments/style. Style and clean code count!
take-home midterm exam is due back Friday, March 11 on Blackboard ( log in first).
Project 1 presentations were March 8 & 10 in class.
Project 1 rough drafts are due by the end of the day Thursday, February 25 on Blackboard ( log in first). HW2
grades and comments are on NetRun
HW2 was due by the end of Tuesday, February 23 on Blackboard ( log in first). You should
pick a project 1 topic and describe it in class on Tuesday, February 9. The
syllabus is now complete with your chosen topics. HW1
grades and comments are on NetRun. I really liked the CPU designs you came up with! HW1, due by the end of Tuesday, January 26, is to design a simple instruction set, and build and test the corresponding CPU circuit in logisim. Your CPU should:
Have more than 1 register.
Have registers capable of storing numbers up to at least 15.
Be able to load constants into registers.
Be able to do arithmetic between registers.
Have a conditional jump instruction.
Have a stored program that uses a loop to add up the numbers from 0 to 5, inclusive.
SAVE early and often. Turn in your working "CPU.circ" file, and a screenshot named "CPU.png" of the CPU having successfully finished the loop and computed 15,
on Blackboard ( log in first). HW0
grades and comments are on NetRun. I'm happy to say everybody knows the prerequisites well! New classroom: Chapman 104, with space for everybody! (Thanks to CS 202, who will be in the CS lab now.)
Please take the
student interest survey (anonymous, 1 page, 5 minutes) to help me pick course topics you'll be interested in. HW0 has 2 questions. Turn in your resulting files by the end of the day on Tuesday, January 19
on Blackboard ( log in first).
Logisim to draw a circuit diagram for the boolean expression OR(AND(A,B),AND(NOT(A),XOR(C,D))). Save your .circ file as "1.circ", and give me a screenshot named "1.png". List all the values of A, B, C, and D that will make this expression evaluate to true, in a plain text file named "1.txt". (Clarification: feel free to use logic gates; you can use bare transistors if you think that's easier!) Use
NetRun to write some assembly code (for any machine) that uses a loop to add up the numbers from 0 to 5, inclusive, and returns this sum. Run the code, and verify the answer is 15. Copy the code out as a plain text file named "2.asm". Lecture Notes
Quantum computers, 04-19
Virtualization & Cloud Services, 04-12 Web Network Communication, 04-07
Distributed systems design, 03-31
Network latency & bandwidth, 03-29
Network Protocol Design: HTTP and sockets, 03-24
Fixed and variable sized object tradeoffs, 03-22 Spring break
Memory layout and cache coherence, 02-23
Graphics Processing Unit & CUDA, 02-16
Multicore for high performance baseball simulation, 02-10
Multicore (& parallelism survey), 02-08
SSE & AVX: float SIMD for x86, 02-04
SIMD parallelism and SWAR, 02-02
Superscalar CPU design, 01-28
Pipelining and architecture / instruction set collisions, 01-26
Designing a CPU as a circuit, 01-21
Physical properties of circuits, 01-19
Power and circuit basics, 01-14
Index of 2016 Spring
Associate Professor, Computer Science
University of Illinois, Urbana-Champaign 2004 Ph.D.
Computer graphics; parallel programming; robotics; 3D printing.