General Information
My Information
Name: | Jonathan Misurda |
Office: | 6203 Sennott Square |
Phone: | (412) 624-8408 |
Email: | jmisurda@cs.pitt.edu |
Office Hours: | Mon, Wed: 1:00–2:45 Tue, Thur: 2:00–4:00 |
Syllabus
Afternoon (3pm) section | Evening (6pm) section |
Announcements
Subscribe to feed(04/23/12) — Office hours will be by appointment this week for myself and the TAs due to the irregular scheduling of finals.
(04/11/12) — The schedule for next week is as follows. On Monday, April 16, 2012, we will review for the final exam. On Wednesday, April 18, 2012, you have the option of taking the final early. You will have 75 minutes to complete the final regardless of when you take it. You may take it on Wednesday the 18th XOR the normally scheduled time of your final (see syllabus).
(04/04/12) — Project 5 is assigned, due Sunday, April 22, 2012. The assignment sheet and port assignments can be found below.
(03/30/12) — The Friday recitation should do this pthreads lab on their own time due to CS Day. It does not need to be submitted.
(03/19/12) — Project 4 is assigned, due Sunday, April 1, 2012. The assignment sheet and necessary files can be found below.
(03/11/12) — The test driver for your project is up. You can copy it to your current directory by:
cp /u/SysLab/shared/mallocdrv.c .
Make sure to include the dot at the end.
All of the slides are up for the second midterm. Try your hand at a few practice questions. When you're done, take a look at the answer key and see how you did. If you have questions, ask me or the TAs.
(02/28/12) — Zhipeng has adjusted his office hours to be Tuesday and Thursday from 2:30 until 5:30pm.
(02/22/12) — Project 3 is assigned, due Sunday, March 18, 2012, by midnight. The assignment sheet can be found below.
(02/15/12) — Here's a sample minimal write-up for project 2.
(02/07/12) — On Wednesday (2/8/12), I will not be available for my 2pm office hour due to a Computer Engineering obligation.
(02/06/12) — Project 2 is assigned, due Sunday, February 19, 2012, by midnight. The assignment sheet can be found below.
(01/30/12) — A sample midterm exam can be found here. After you try it, you can find the answers here. This is from a slightly different course that I taught so some topics may have been emphasized differently.
(01/26/12) — I am providing two OGG files (a form of music file) called with.ogg (that has a tag) and none.ogg (that has no tag) to test your project on. You can copy them to your directory by:
cp ~jrmst106/public/cs449/*.ogg .
The dot at the end is critical, as it represents the current directory name. Note that the files have been shrunk to fit better in your AFS quota and likely won't play anymore. This won't affect your project.
(01/18/12) — Project 1 is assigned, due Sunday, February 5, 2012, by midnight. The assignment sheet can be found below.
Evening class: Due to missing recitation Monday, you can do the lab for this week on your own time. It is meant to give you further practice with simple C programs. It can be found here.
(01/10/12) — Office hours for the term are now posted. Mine can be found above.
Zhipeng: Tuesday and Thursday 2:30pm-5:30pm
David: Monday and Wednesday 4:00-6:00pm, and Tuesday and Thursday 1:00-2:00pm
(01/04/12) — Welcome to CS 449 Spring Term (2124)
Text, Slides, and Extra Materials
Topic | Slides (PDF) | Links |
Binary Formats and Linking | Slides | 20 part blog entry on linking (PDF) |
x86 Assembly | Slides | AT&T Syntax |
Function Calls and Calling Convention | Slides 1 Slides 2 |
CS 447 Appendix A |
Processes and Memory Management | Slides | Linux Address Space Layout |
Conditional Compilation Makefiles and Multi-file Development |
Slides | Chapter 18 in the C Textbook Chapter 10 in the C Textbook |
Midterm 2
Topic | Slides (PDF) | Links |
System Calls & Signals | Slides (PDF) | Signals |
Device Drivers under Linux | Slides (PDF) | LLD Chapter 1 (PDF) LLD Chapter 2 (PDF) |
Threads | Slides (PDF) | |
pthreads | Slides (PDF) | More on pthreads ALP chapter on pthreads (PDF) |
Synchronization | Slides (PDF) | Handout (PDF) |
Networks and Berkeley Sockets | Slides (PDF) | Sockets |
Buffers, Errors and Robust Programming | Buffering Slides (PDF) Errors Slides (PDF) |
Ten Commandments for C Programmers |
Final Exam (review slides PDF)
Projects
- Project 5: P2P client
-
Project 4:
/dev/cards
- QEMU (For everyone, includes disk and Windows executable)
- For Mac users: Q.app. If that is down, try this mirror
- Project 3: A custom malloc()
- Project 2: What's the password?
- Project 1: The Game of Craps & ID3 Tag Editor
Links
Reference- C Language
- x86 Instruction Set
-
Download putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
-
Unix Command Reference (from CSSD): Here