Syllabus
for CSC 8400-001 (Computer Systems I)
Instructor |
Mirela
Damian, Mendel Science Center 167A
mirela.damian@villanova.edu (preferred contact
method) |
Office Hours |
TR 2:30 pm
– 3:30 pm in Mendel 167A, or
by appointment |
Course Meets |
R
6:15 pm – 9:00 pm in Mendel G87 |
Teaching Assistant |
VenkateswaraReddy Kunduru,
vkunduru@villanova.edu |
Help Desk |
Office
hours online http://csc.villanova.edu/support/cscHelpDesk |
Course Description
Fundamental concepts in computer architecture, operating systems
and C programming; evolution of computer architectures; computer performance; instruction
set types and addressing modes; memory organization; caches, main memory and
virtual memory; storage technologies; input/output systems; systems aspects of
interconnection networks; parallel and distributed architectures.
Course Objectives
1. Understand the different
internal formats to represent numerical data and their effect on precision and
accuracy.
2. Appreciate how
fundamental C constructs are implemented at the machine level.
3. Understand process and
thread concurrency through the development, testing and debugging of concurrent
C programs in Unix.
4. Understand the main
types of memory technology and their effect on computer performance.
5. Understand how an
operating system allocates resources in terms of CPU, main memory and I/O
devices.
6. Appreciate the need for
security and ethical considerations in computer use.
Resources
Website: |
http://www.csc.villanova.edu/~mdamian/csc8400/ Notes, assignments, announcements
and other course-related materials will be posted on this class website.
Please make sure you check the class page regularly. |
Texts: |
No textbook is required for this course
– we will be using online resources and class notes. |
Course Requirements
7. Quizzes: Quizzes will be scheduled throughout the
semester to make sure that you are following along, and to provide some
representative questions for exam. They will be administered at the beginning
of the class, so make sure to show up on time to class. A missed quiz will just
result in a zero (no make-up quizzes).
The lowest quiz score will be dropped.
8. Lab Projects: One
important aspect of this course will be programming lab projects, which will
enable hands-on learning while gaining valuable and practical systems
experience. We will invest some time in class exploring hands-on learning, so come to class prepared to write code. Labs
generally need to be completed by the beginning of the next class period.
9. Exam: one exam before the Thanksgiving break. The exam will be
closed books, closed notes. However, you are allowed to bring one sheet of
paper (letter size) with any information you think will help you during the
exam. Please note that notes may not be
shared during the exam.
10. Final Presentation: Each student will explore one topic in greater
depth and demonstrate his or her understanding of the topic through a
presentation delivered in the last week of classes.
Tentative Grading
Procedure
Your
final score will be computed as follows:
Quizzes: |
20% |
Lab
Projects: |
30% |
Exam: |
30% |
Final
presentation: |
20% |
On
a 100-point scale, you can expect the following letter grades:
|
³ 88:
B+ |
³ 75:
C+ |
³ 96:
A |
³ 84:
B |
³ 60:
C |
³ 90:
A- |
³ 80:
B- |
else: F |
Policies
1.
Class Attendance Policy. Mandatory. Each student
is responsible for all material, announcements, and assignments covered during
any class missed.
2.
Makeup Policy. There will be no makeup quizzes (regardless of whether
you had an excused or unexcused absence). If you need to miss an exam due to an
emergency, try to notify me in advance so we can make arrangements to make it
up. Makeup tests will not be easier than regularly
scheduled tests.
3. Late Submission Policy. All assignments are due
at the beginning of the class on the due date. No assignments will be accepted
late without the direct consent of the instructor at least 24 hours prior to
the due date of the assignment.
4. There will be no extra credit. Students
usually ask for extra credit late in the semester after they have already
squandered their original opportunities. Be sure to start your work early, so
that we can detect and solve any problems before they can affect your grade.
5. Write your own code. Programming in an
individual creative process much like composition. You must reach your own
understanding of the problem and discover a path to its solution. During this
time, discussions with friends are encouraged. However, when the time comes to
write code that solves the problem, such discussions are no longer appropriate.
The program must be your own work.
6. Academic Integrity. All students are expected to uphold
VillanovaÕs Academic Integrity Policy and Code. Any incident of academic dishonesty will
be reported to the Dean of the College of Liberal Arts and Sciences for
disciplinary action. For the
CollegeÕs statement on Academic Integrity, you should consult the Enchiridion. You may view the universityÕs Academic
Integrity Policy and Code, as well as other useful information related to
writing papers, at the Academic Integrity Gateway site
http://library.villanova.edu/Help/AcademicIntegrity
7. Special Arrangements. Students with disabilities
who require reasonable academic accommodations should schedule an appointment
to discuss specifics with me. It is the policy of Villanova to make reasonable
academic accommodations for qualified individuals with disabilities. You must
present verification and register with the Learning Support Office by
contacting 610-519-5176 or at learning.support.services@villanova.edu,
or for physical access or temporary disabling conditions, please contact the
Office of Disability Services at 610-519-4095 or email Stephen.mcwilliams@villanova.edu.
Registration is needed in order to receive accommodations.
Tentative Course
Schedule
The
course schedule below is approximate and subject to change as the semester
progresses. It is the responsibility of the student to learn and adjust to
changes.
Date |
Topic |
Wk 1: Aug. 27 |
A Tour of Computer
Systems |
Wk 2: Sep. 3 |
Representing
and Manipulating Information |
Wk 3: Sep. 10 |
|
Wk 4: Sep. 17 |
Machine-Level
Representation of Programs |
Wk 5: Sep. 24 |
|
Wk 6: Oct. 1 |
Optimizing Program
Performance |
Wk 7: Oct. 8 |
|
Oct. 12 – 18 |
Fall
Break – ENJOY !
|
Wk 8: Oct. 22 |
Processes (Creation,
Execution, Communication) |
Wk 9: Oct. 29 |
|
Wk 10: Nov. 5 |
Thread Management and
Synchronization |
Wk 11: Nov. 12 |
|
Wk 12: Nov. 19 |
Exam.
Memory Management |
Nov. 25 – 29 |
Thanksgiving Recess
– ENJOY ! |
Wk 13: Dec. 3 |
Virtual Memory.
Parallel and Distributed Architectures. |
Wk 14: Dec. 10 |
Final Presentations |
Dec. 15 |
Final Presentations
(contd.) (IF NEEDED) This is the University-scheduled final exam
period for this course Tuesday, Dec. 15, 8:30 am – 11:00 am Note: there is no final exam for this course |