General Information: |
Prerequisites: INFS 590 or permission of Instructor. I also assume you have access to a recent (2.6.x) Linux enviroment, a decent editor (such as emacs or vi) or IDE, and the gcc compiler.
Description: This course is a hands-on in-depth introduction to the structure of the Unix operating system with emphasis to the system libraries using ANSI C. It is appropriate for students who want to learn the principles of how to design and implement system applications. The course begins with an introduction of the C programming language and continues with the basic Unix Operating System data structures and Application Programming Interfaces (APIs). Using hands-on laboratory exercises students will be exposed to the concepts of inter-process communications, synchronization, and process and thread management with emphasis on security applications.
Goals:
Personnel:
Name | Role | Office Hours | |
Michael E. Locasto | Instructor | mlocasto | 17:00 - 19:00 :: Thursdays, ST2 Rm 333, or by appointment |
Venkatesh Laxminarayanan | TA | vlaxmina | 14:00 - 15:00 :: Fridays, location TBD |
Class Time: Thursday 19:20 -- 22:00
Class Duration: August 25th to December 17th
*
Class Location: Innovation Hall 223 [map]
[floor plan]
* the first meeting will be on Thursday, September 4th, 2008.
Course Texts: |
Supplemental Texts: (not required, but helpful C references)
If you're really interested in learning C and mastering it, then the Loudon book is a good second step. The Oualline book covers much of what Deitel2 covers on C anyway.
Lecture Notes and Course Schedule: |
Course Policies: |
The point of this course is your intellectual enlightenment and enjoyment. I want the course to run as smoothly as possible, so I encourage feedback on both positive and negative aspects. Feel free to drop by my office, send email, or leave a note. Note that the Instructor reserves the right to modify the schedule and topics as needed.
Your grade is based on 1000 points and is split according to the following schedule:
Class participation counts toward your grade. I expect and encourage thoughtful and lively participation and discussion.
I typically DO NOT scale or curve grades unless there is a classwide epidemic of failure. Plan your work and effort based on the assumption that there will be no curve.
You can contact me via email, but please start your email's subject
with the string [ISA563]
; it helps me filter my email. Short
(one or two paragraphs) emails are appreciated.
While collaboration on homework and projects is greatly encouraged, your answers must be original. No collaboration is allowed on the final or midterm. Students collaborating on assignments must clearly list with whom they worked. The bottom line is that general discussion is welcome, but specific solutions cross the line.
Cheating and Plagiarism are absolutely forbidden. I assume that you have read GMU's policies on academic honesty. Please refer to the links at the top of this page. It is almost absurdly easy to discover cheating.
Late work is generally not accepted. Late submission loses 10% of the assignment's value per day.
Disability Statement: If you have a documented learning disability or other condition that may affect academic performance you should make sure this documentation is on file with the Office of Disability Services: (SUB I, Rm. 222; 993-2474; www.gmu.edu/student/drc) to determine the accommodations you need and talk with me to discuss your accommodation needs.