Spring 2013
Syllabus
for CSC 2405 (Computing Systems II)
Instructor |
Mirela Damian, MSC 167A
mirela.damian@villanova.edu
|
Office Hours |
T 4:00 pm – 5:30 pm Th 10:00 am – 11:00 am |
Course Meets |
TTh 8:30 am – 9:45 am
in Mendel G86 |
Prerequisites |
CSC
2400 – Computer Systems I |
Course Description
This course is the second part of a two semester sequence –
Computer Systems I and II. The goal
of this course is to bridge the gap between high-level programming and actual
computer components, such as processors, caches, operating systems, compilers,
linkers, and so on. This course will teach the way computer systems work from
the low level device interrupts up to processes, threads, memory management,
file systems and security.
One
main aspect of this course will be programming projects, which will enable
hands-on learning while gaining valuable and practical experience in Systems
specifically and Computer Science generally. We will invest significant time in
class exploring hands-on learning, so come to class prepared to write code.
Student Learning
Outcomes
1. Understand the
objectives and functions of modern operating system.
2. Describe and use
techniques for achieving concurrency and synchronization.
3. Explain the workings of a
system with virtual memory management.
4. Understand security
risks and protection mechanisms for computer systems.
Resources
No
textbook is required for this course – we will be using online resources and
class notes. This saves you money, but places a demand on your attendance,
attention, and note-taking.. Our main reference is the online textbook ÒAn
Operating Systems Vade MecumÓ, by Raphael A. Finkel from the University of
Wisconsin at Madison. All course-related materials will be posted on the class
website
http://www.csc.villanova.edu/~mdamian/CSC2405.html
Please make sure you
check the class page regularly.
Course Requirements
1. Assignments & Quizzes: Assignments will involve both pencil and
paper problem solving, and C programming in Unix. Some of the assignments will
be done individually, while others will be done in groups. The group
assignments will not be collected. Instead, at the beginning of class on the
day the assignment is due, you will have the opportunity to demonstrate your
understanding of the material by individually answering quiz questions similar
to those in the assignment.
2. Tests: one midterm, one final exam. Tests will be closed books,
closed notes. However, you are allowed to bring one sheet of paper, letter
size, with any information (on both sides) you think will help you during the
exam. Notes may not be shared during the
exam.
3. Class Attendance. Regular attendance is expected of all students.
Each student is responsible for all material, announcements, and assignments
covered during any class missed.
4. Late Policy. All assignments are due
at the beginning of the class on the due date. No credit will be given to late
assignments. Exceptions to this policy will be granted only in extraordinary
circumstances.
Tentative Grading Procedure
The
following allocation of points is tentative and may change during the semester:
Assignments
& Quizzes: 50%
Tests: 45%
In-class
participation: 5%
Academic Integrity
I
encourage you to collaborate on assignments and learn from your fellow
students. However, there is a fine line between collaboration and cheating.
Collaboration means discussing problems and solution approaches with other
students and independently writing your
own answers; cheating means copying solutions from someone else or giving
someone else your solutions. If you have questions about what is acceptable,
please bring them to me before submitting your work.
Cheating, plagiarism and
helping others commit these acts are all forms of academic dishonesty. The
penalty for any act of dishonesty is an ÔFÕ grade for the course. Please
consult the Code on Academic Integrity at
http://www1.villanova.edu/villanova/artsci/current_students/undergrad/integrity.html
Special Arrangements
If
anyone has a disability or other problems that warrant the need for special
accommodation to complete the course work, please contact me at your earliest
convenience.
Tentative Course
Schedule
The
course schedule below is approximate and subject to change as the semester
progresses. Please check the online version on the course schedule regularly.
Date |
Topic |
Wk 1: Jan. 15, 17 |
Computer Systems
Overview. Smart Shell Hands-On. |
Wk 2: Jan. 22, 24 |
|
Wk 3: Jan. 29, 31 |
Processes (Creation,
Execution, Management) |
Wk 4: Feb. 5, 7 |
|
Wk 5: Feb. 12, 14 |
Process Communication (Pipes, Signals, Sockets) |
Wk 6: Feb. 19, 21 |
|
Wk 7: Feb. 26, 28 |
Catching up.
Midterm |
Mar. 4 – 10 |
Spring Break – ENJOY !
|
Wk 8: Mar. 12, 14 |
Online lectures: Process Scheduling
Standard and System Input and Output Process
Simulator Working Time |
Wk 9: Mar. 19, 21 |
|
Wk 10: Mar. 26 |
|
Mar. 27 – Apr. 1 |
Easter Recess –
ENJOY ! |
Wk 11: Apr. 2,4 |
Thread
Management and Synchronization
|
Wk 12: Apr. 9, 11 |
|
Wk 13: Apr. 16, 18 |
Memory Management |
Wk 14: Apr. 23, 25 |
|
Wk 15: May 2 |
Topic of Choice |
Final exam Saturday,
May 4, 10:45 am – 1:15 pm |