Syllabus for CSC 8400-001 (Computer Systems I)




Mirela Damian, Mendel Science Center 167A (preferred contact method)
Phone: (610)519-7414

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,

Help Desk

Office hours online


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.





Notes, assignments, announcements and other course-related materials will be posted on this class website. Please make sure you check the class page regularly.


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:




Lab Projects:




Final presentation:



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





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


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, or for physical access or temporary disabling conditions, please contact the Office of Disability Services at 610-519-4095 or email 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.




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