Gold University of Minnesota M. Skip to main content.University of Minnesota. Home page.
 
 
 

What's inside.

Homework

Important Dates

Interesting Reading

Project

Schedule

Syllabus

Announcements

 

CSci5103 Home

Check Grades

Class's Forum

Assignment Submission

Unite (streaming video)



 
 

Printer-friendly version

 
CSci5103 Syllabus

Syllabus for CSci5103 (Fall 2009)

Instructor

Prof. Jon Weissman
Email: jon at cs_umn_edu
Phone:
(612) 626-0044
Office: 4-225F EE/CS Bldg
Office Hours: 1-2, T/Th (or by appointment, or when door is open)

Time and Location

9:45am - 11:00 am , Tu,Th , Mech  212
 

Teaching Assistant

Piyush Narang (piyang at cs_umn_edu)
Office Hours: Monday 11:00am - 12:00pm and Wednesday 2:00pm - 3:00pm (2-209 EE/CS Bldg)

Class website: http://www.itlabs.umn.edu/classes/Fall-2009/csci5103

Description Welcome to CSci 5103! This course is concerned with the principles and practice of modern operating systems. We will study core operating system principles: kernel design and protection, processes and threads, concurrency and synchronization, resource management, memory management, disk and I/O systems, protection, and distributed systems (file systems most likely). A strong C/C++ Unix background is assumed for this course. My course goals are to give you a strong foundation in the key concepts of operating systems and to help de-mystify the inner workings of "real" operating systems. Comfort with Unix is assumed as 4061 is a basic undergraduate OS concepts and systems programming skills (as found in CSCi 4061). Basic "outside-view" OS concepts would include: file systems, threading, IPC, synchronization, etc.

Class format The class will be conducted in a lecture format with Q&A discussion elements. The week's reading is essential to keeping up as is coming to class. The reading will include textbook and classic OS papers. The course notes won't mean much in isolation. Class participation or lack thereof may influence your grade (up or down). UNITE streaming generally will not be available to on-campus students unless special circumstances warrant it.

 

Textbooks

  • Required Readings:

    Modern Operating Systems (Tanenbaum), 3rd Edition, Prentice-Hall, 2008 (MOS). Operating System Concepts, 8th Edition (Silberschatz, Galvin, Gagne), 2009 is comparable but you would have to do the chapter mappings on your own.

    Linux Device Drivers (Corbet, Rubini, and Kroah-Hartman), on-line.

  • Optional:

    Unix System Programming, Haviland, Gray, and Salima.
 

Course Topics

Here is the schedule

Course Work and Grading

  • Grading:
    • Four written homeworks: 15%
    • Four projects: 50%
    • Mid-Term Exam: 15%
    • Final Exam: 20%

  • Homework Assignments: There will be four written homework assignments. These will test your knowledge of Operating Systems from book readings and class discussions. Homeworks are to be done individually and you will have 1 week for completion. Your solution be submitted on-line using the submit utility. The online submission is due by 10pm on the day before class (plenty of time to get sleep and come to class the next morning). Please see the class schedule and important dates for the timing of assignments, projects, exams, etc. The feedback (e.g., on your assignment may be provided via electronic means. Grades can be checked online through Grit. Late submission policy: You may submit only ONE late homework during the semester. The late penalty is 10% (and it must be received by 10pm next day).
     
  • Projects: There will be four programming projects. The purpose of the projects is to give you hands-on experience with OS concepts, particularly inside issues. Projects will include simulations of internal behavior and kernel programming. Some of these projects may be group projects (2-3 people). If so, this would be announced. You will have 2 weeks to complete each project. Projects will be submitted electronically. All group members would receive the same grade. You may submit ONE project late during the semester with a 10% point reduction (due the next day by 10pm) Submission protocol: For online submission, you will submit a tar'ed directory that includes your code, header files (if any), your build/run script(s), makefiles, and any necessary test data that was not supplied as part of the assignment. Names of the group members and the instructions for building and running your code must be in an additional text file called readme.txt. Each online submission is timestamped with the time of submission. Multiple submissions result in only the last timestamp being retained. Therefore, to avoid losing points, you must make sure you are not uploading your assignment after the due date. We will make every attempt to grade submitted work within a week (projects may take a bit longer) after submission. If you have questions regarding the grading of your homework assignments, projects or exams, you must come to see either the instructor or the TA within two weeks after the date the work has been returned to you. If you cannot see us within two weeks, you need to email us within two weeks and make an appointment. Unless we hear from you, no changes will be made after two weeks. If you believe that your homework, projects or exams have been lost, please notify us as soon as possible (within two weeks). We are not responsible for missing homework, projects or exams two weeks after they have been returned. Check GRIT to make sure your graded work is accounted for.
     
  • Exams: The purpose of the 2 exams is for you to demonstrate that you understand the key OS issues. Exams are necessary to determine how you are really doing in the class. Exams also give me global feedback about the course in general, feedback that I have often used to make "mid-course" corrections to improve the class as we go along. If you must miss an exam, send me e-mail ASAP, and you must make every effort to notify me PRIOR to the exam. The exam dates will be announced on the website and in class. There will be a mid-term exam and a final exam. The mid-term exam will cover the material for the previous 7 weeks. The final will focus on the newer material, but can include earlier material. No decision has been made about open- or closed-book. There will be one mid-term and one final exam.

Communication Information about the course will be communicated in class and via this website. This includes the schedule, dates, additional reference materials, announcements, and information about assignments. For direct communication, the TA and instructor have office hours to assist you. There is also a course bulletin-board (forum) that can be used for anonymous posting of questions or information, NOT solutions. Please use the forum for any questions you may have. The TA, or (hopefully) other students will post answers (as appropriate). If the question is inappropriate for the forum, e-mail the TA (he will forward e-mail to me if necessary). Note: I do not read the forum often, but the TA will keep me appraised of any issues. If you need to speak with me about an urgent matter, come to office hours or email. Note: we reserve the right to moderate this forum if it is used inappropriately. The TA is the best "first line of defense" for questions and lab programming help.

Exceptions Unusual circumstances will be considered including illness, personal problems, A makeup is not guaranteed. Acceptable excuses are usually limited to serious personal problems or injury, religious needs, and substantial participation in University sanctioned student events (note: I didn't include vacations, job interviews) for late work or missing exams. The KEY is to inform me ASAP. If you do not make an effort to let me know the issue ASAP, I will take this into account in my decision to grant a a policy exception.

Collaboration For questions concering the labs or homework, you can talk to the TA or myself. Limit discussion with your classmates or the access the forum to get information about the meaning of lab or homework concepts, NOT elements of a solution. For the second lab, collaboration within your team is of course expected. In general, cheating on the labs, homeworks, or exams will be dealt with swiftly and severely in accordance with University policies.

Disability Statement: Any student with a documented disability (e.g., physical, learning, psychiatric, vision, hearing, etc.) who needs to arrange reasonable accommodations must contact the instructor and Disability Services at the beginning of the semester. All discussions will remain confidential. For further information contact the University of Minnesota Disability Services website at http://ds.umn.edu/ or call 612/626-1333.

 
The University of Minnesota is an equal opportunity educator and employer.
CSci5103: Operating Systems