General Information
My Information
Name: | Jonathan Misurda |
Office: | 6213 Sennott Square |
Phone: | (412) 624-8835 |
Email: | jmisurda@cs.pitt.edu |
Office Hours: | Mon, Tue, Wed 12:30–2:30 |
Syllabus
MW Section | TH Section |
Announcements
Subscribe to feed(04/15/09) — To practice some material for the final exam, I'm providing a quiz 4 for you to do at your leisure. The answers may be found here for you to check when you're done.
(04/14/09) — Office hours during finals week will be by appointment due to the odd schedule. Send me an email if you would like to meet to arrange a time.
(04/08/09) — A colossal mistake on my part, I misread the final exam schedule for the Monday/Wednesday class. The correct date and time for the MW final is Wednesday, April 22nd from 2-4pm in the normal classroom. I have fixed it in the online syllabus, but please fix any calendars or paper copies you have. I will make reminders in the last 2 classes.
The Tuesday/Thursday class is listed correctly.
My apologies for the mix up.
(04/08/09) — Project 5 is assigned due Sunday, April 19, 2009 by midnight. The assignment sheet and port assignments can be found below. There is an automatic penalty-free extension until Wednesday, April 22, 2009 at Midnight.
(03/25/09) — Project 4 is assigned due Sunday, April 5, 2009 by midnight. The assignment sheet and associated files can be found below.
(03/23/09) — Recitations will be cancelled this week due to CS Day on Friday.
(03/16/09) — The test driver for your project is up. You can copy it to your current directory by:
cp /u/SysLab/shared/mallocdrv.c .
(03/03/09) — The online version of the slides for Processes and Memory management mistakenly included some material that I've moved to a later lecture. I've uploaded a new version. You're only responsible for the material that we've discussed so far in lecture.
(03/02/09) — A few sample problems for the second midterm exam can be found here. After you try it, you can find the answers here. This combined with the quiz should give you an idea of the types of problems I might ask.
Recitations will be cancelled this week due to the exam.
(02/25/09) — Project 3 is assigned due Sunday, March 22, 2009 by midnight. The assignment sheet can be found below.
(02/15/09) — I've posted an example writeup (PDF) for Project 2. I'm looking for 3 things: the procedure, the solution, and how this program works in terms of the things we've been discussing about executables, linking, and stacks.
(02/09/09) — Project 2 is assigned due Sunday, February 22, 2009 by midnight. The assignment sheet can be found below.
(02/02/09) — A sample midterm exam can be found here. After you try it, you can find the answers here.
Recitations will be cancelled this week due to the exam.
(01/21/09) — I'm extending Project 1's due date to Wedensday, January 28, 2009 at 11:59pm.
(01/20/09) — 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 .
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/09) — To keep the classes synchronized, the Tuesday class is cancelled. However, recitations will still be held this week, including the Tuesday one.
(01/14/09) — Due to unforeseen events I need to cancel my office hours today from 1pm to 2:15pm. I can meet with you before class or after class, or send me an email to arrange a new time. Sorry for the inconvenience.
(01/12/09) — Project 1 is assigned due Sunday, January 25, 2009 by midnight. The assignment sheet can be found below.
Due to a scheduling conflict, the TAs for the courses have been swapped. The MW section will now have Asim and the TH section will now have Josh. The online syllabi have been updated.
Office hours are now up. Mine are above. For the TAs:
Asim | Thurs 4–7, Fri 4:30–7:30 |
Josh | Mon,Wed 2–3, Tues 1–5 |
(01/05/09) — Welcome to CS 449 Spring Term (2094)
Text, Slides, and Extra Materials
Topic | Slides | Links |
Binary Formats and Linking | Slides (PDF) | 20 part blog entry on linking As a PDF |
x86 Assembly | Slides (PDF) | AT&T Syntax |
Function Calls and Calling Convention | Slides Part 1 (PDF) Slides Part 2 (PDF) |
CS 447 Appendix A |
Processes and Memory Management | Slides (PDF) | Linux Address Space Layout |
Conditional Compilation Makefiles and Multi-file Development |
Slides (PDF) | Chapter 18 in the C Textbook Chapter 10 in the C Textbook |
Midterm 2
Topic | Slides | 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: Multi-Threaded Web Server
-
Project 4:
/dev/pi
- Project 3: A custom malloc()
- Project 2: What's the password?
- Project 1: RPS & ID3 Tag Editor
Links
Reference- C Language
- x86 Instruction Set
-
Download putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
-
Windows text editor with syntax highlighting: http://www.editplus.com
-
Unix Command Reference (from CSSD): Here