Course Information (Fall 2013) |
|
Instructor Details: |
Dr. Tracy Camp
Office: Brown 310C
Phone: 303/384-2184
Email: tcamp --AT-- mines --DOT-- edu
Office Hours: 3:15-4:00pm Tues/Thurs
Other hours available by appointment.
|
Teaching Assistant: |
Han B. Tran
Email: hatran --AT-- mymail --DOT-- mines --DOT-- edu
Office Hours in BB136: 10am-noon Mondays (likely)
10am-noon Wednesdays (guaranteed)
|
Course Details: |
Prerequisites: CSCI 262 and CSCI 341
The prereqs for this course will be enforced.
Time: 2-3:15pm Tues/Thurs
Location: Brown W210
|
Course URLs: |
CSCI 442 Home:
http://eecs.mines.edu/Courses/csci442/
Discussion Board : http://piazza.com/
Textbook Web Site:
http://WilliamStallings.com/OperatingSystems/
|
Required Textbook: |
Operating Systems: Internals and Design Principles, 7th Edition (2011),
by William Stallings, Prentice Hall (ISBN: 978-0-13-230998-1).
|
Course Description: |
This course introduces the
essential concepts in the design and implementation of
operating systems: what they can do, what they contain,
and how they are implemented. Despite rapid OS growth and
development, the fundamental concepts learned in this
course will endure. We will cover the following high-level
OS topics, roughly in this order:
- Computer/OS Overview
- Processes
- Processor Scheduling
- Memory Management
- Virtual Memory
- Threads
- Process/Threads Synchronization
|
Required Work |
This will be an
intense yet rewarding course. There will be FIVE
programming projects based on the implementation
side of the course and EIGHT homework assignments based
on the analytic side. One (or two) of the programming
projects might require working in groups of size three
or four. All other work is to be completed
individually.
Submit programming projects
by 11:59pm on the due date. Submit paper copies
of homework assignments at the start of class on the due date.
Always turn in something rather than nothing.
Nothing earns you zero points; something earns you partial
points.
In addition to the programming projects and
homework assignments, we will have a midterm exam and a
final exam. Both exams will be closed book and closed
notes. The final exam will cover the entire semester's
work, with a bit more emphasis on the 2nd half.
Participation in the course throughout the
semester is also required work.
|
|
Student Evaluation |
There are a total of 2000 points possible for this course. Grades will
be assigned on the following basis.
Programming Projects |
Homework Assignments |
Midterm Exam |
Final Exam |
Course Participation |
800 points 40%* |
150 points 7.5% |
300 points 15% |
600 points 30% |
150 points 7.5%+ |
* some projects will be worth more than others
+ participation online counts
NOTE: You must pass (60% or higher) the programming
projects and final exam to pass this course. If you
do not meet these requirements, you will receive an
F for the course.
Late work: Each student is allocated five slip
days for the programming assignments, which gives students
some flexibility in managing their workload. Weekends count two days. (Each
group member uses a slip day for each day the assignment is submitted after
its due date, if the assignment is completed as a group.)
No slip dates are allocated for the homework assignments.
Late assignments (programming or
homework) lose 10% per day, except for extenuating circumstances. To do
well in this course, you need
to keep up with the class discussions and homework assignments.
Attendance:
To emphasize the importance of attendance, 7.5% of your grade will
be based on attendance and participation in class and online.
I expect students to attend all classes.
Your attendance is important for several reasons:
- Coverage of material that is not in the textbook.
- Participation in active learning, where we all learn
from each other.
- Participation in class discussions, where I learn from you.
NOTE: All students should become familiar with CSM's policy regarding the
make-up of work missed due to excused absences (see Bulletin).
|
Tentative Course Schedule |
2 weeks: Introduction and Background (Chapters 1 and 2)
2 weeks: Describing and Controlling Processes (Chapter 3)
2 weeks: Scheduling Processes (Chapter 9)
1 week: Exam I
3 weeks: Memory (Chapters 7 and 8)
1 weeks: Describing, Controlling, and Scheduling Threads (Chapter 4)
2 weeks: Concurrency and Synchronization (Chapter 5)
|
Maintenance/Legal Clause |
- This syllabus is subject to change; if a change occurs, you will be notified.
- This syllabus is not a legal document; common sense rules always apply,
e.g., no late assignments will be accepted after the solutions are given in class.
|
Department Academic Integrity Pledge |
Read the pledge below; it is based on the Student Honor Code passed by the ASCSM.
I pledge to uphold the high standards of academic ethics and integrity expressed by the Colorado School
of Mines Student Honor Code by which I am bound. In particular, "I will not misrepresent the work
of others as my own, nor will I give or receive unauthorized assistance in the performance of academic
coursework". I understand that my instructor will report any infraction of academic integrity to the
Department Head and that any such matter will be investigated and prosecuted fully.
|
Department Policy for Programming Projects |
The following policy exists for all CS courses in the EECS department.
This policy is a minimum standard; your instructor may decide to augment this policy.
- If the project is an individual effort project, you are
not allowed to give code you have developed to another student
or use code provided by another student. If the project is a
group project, you are only allowed to share code with your
group members.
- You are encouraged to discuss programming projects with
other students in the class, as long as the following rules
are followed:
- You view another student's code only for the purpose of
offering/receiving debugging assistance. Students can only
give advice on what problems to look for; they cannot debug
your code for you. All changes to your code must be made by
you.
- Your discussion is subject to the empty hands policy,
which means you leave the discussion without any record
[electronic, mechanical or otherwise] of the discussion.
- Any material from any outside source such as books,
projects, and in particular, from the Web, should be properly
referenced and should only be used if specifically allowed for
the assignment.
- If you are aware of students violating this policy, you
are encouraged to inform the professor of the course.
Violating this policy will be treated as an academic
misconduct for all students involved. See the Student
Handbook for details on academic dishonesty.
All projects for CSCI 442 are to be individual
efforts unless explicitly stated otherwise.
|