CSCI 6307 Foundation
of Systems
Fall 2013
Instructor: Xiang Lian
Office:
ENGR 3.275
Web: http://faculty.utpa.edu/lianx/
Email: lianx@utpa.edu
Course:
CSCI 6307 Foundation of Systems
Time: W, 5:45pm ~ 8:25 pm.
Locations: ENGR 1.290
Course Webpage: http://faculty.utpa.edu/lianx/old_courses/CSCI6307_2013fall.html
Instructor's office hour: Monday and Wednesday (3:00pm ~ 5:00pm); or by appointment
Teaching Assistant: Jeremy Miller
Office: ENGR 3.273A
E-mail: jjmiller@broncs.utpa.edu
Phone: TBA
Office Hours: Monday (10:00am ~ 5:00pm); or by appointment
Textbook
·
Architecture
Textbook: Computer
Organization and Design: the Hardware/Software Interface, 4th Revised Edition,
by Patterson and Hennessy, Morgan Kaufmann, 2009.
·
Operating System
Textbook: Modern
Operating Systems, 3rd edition, by Andrew S. Tanenbaum, Prentice Hall, 2008.
Course Description
This course will investigate many issues in computer
systems. In particular, we will study computer architecture, operating systems,
and the interactions between them. We will discuss different components of a
computer system (CPU, memory, file systems, and I/O), and how these components
affect the system performance. After this course, you should recognize and
appreciate the challenges of designing computer systems, and have a good
foundation for further study in computer systems.
Learning Outcomes
At the end of this course, you
should be able to
1. Explain the organization of
computers and the functions of operating systems.
2. Measure system performance.
3. Explain details of CPU:
arithmetic, instruction sets, parallelism and scheduling.
4. Compare various storages -- cache,
memory and disk, and describe the management of different storages.
5. Explain issues on processes
and threads: scheduling, synchronization and deadlock.
6. Summarize virtual memory and
its management.
7. Compare file system
implementations.
8. Explain principles of I/O.
Tentative Schedule
A: architecture textbook (e.g., A1 means Chapter 1 in the architecture textbook);
O:
operating system textbook.
Week |
Topic |
Notes1 |
Week 1 (Aug. 28) |
Google Glass [video
1] [video
2] |
|
Week 2 (Sept. 4) |
Instructions (A2) |
Assignment
1 (Deadline extended to Sept. 20) Two's Complement
[video] |
Week 3 (Sept. 11) |
Arithmetic (A3) |
Overflow [video] |
Week 4 (Sept. 18) |
Processor (A4) |
|
Week 5 (Sept. 25) |
Memory (A5) |
Sept. 24: Last day to change course to
non-credit Assignment
2 (Deadline
extended to Oct. 16) (Note: in Assignment 2, Question 2 has been
changed to Exercises 3.3.4
~ 3.3.6.) |
Week 6 (Oct. 2) |
Q/A |
|
Week 7 (Oct. 9) |
Midterm Exam |
|
Week 8 (Oct. 16) |
|
|
Week 9 (Oct. 23) |
Process and Threads (O2) Readings: High-level synchronization (R2) Job scheduling (R3) |
Exercise
(3) (Bonus
exercise, pages 4-6; 5 extra points; hard deadline: Nov. 6) Assignment
3 (Due
on Nov. 6) |
Week 10 (Oct. 30) |
-- |
No Class |
Week 11 (Nov. 6) |
Memory
Management (O3) Readings: Memory
management
(R4) Virtual
memory (R5) |
File Systems (O4) I/O (O5) |
Week 12 (Nov. 13) |
|
Online course evaluation (by 11:59pm, Wednesday, December 4th): https://my.utpa.edu Assignment
4 (Due
on Nov. 27) |
Week 13 (Nov. 20) |
Deadlock (O6) Readings: |
|
Week 14 (Nov. 27) |
|
Assignment
5 (Bonus
assignment for Thanksgiving; Hard deadline: Dec. 4) Nov. 28-30: Thanksgiving Holiday |
Week 15 (Dec. 4) |
Q/A |
|
Week 16
(Dec. 7-13) |
Final Exam (5:45pm ~ 7:30pm, Dec. 11, Wednesday) |
|
1
Academic calendar: http://www.utpa.edu/calendar/academic-calendar/
NOTE: Exam dates are tentative, exact dates
will be announced in class!!!
Drops
and drop passes must be handled by you and the admission office; I will sign
the necessary documents. But, I will not place a drop or drop pass on the final
grade sheet.
• Assignments 40%:
There will be several (4-5) written or programming assignments.
• Exams 50%:
There will be a midterm and a final.
• Attendance 10%:
Students will sign the attendance sheet in each class.
Midterm Exam ……………… 20%
Final Exam ………………… 30%
Assignments………………… 40%
Attendance
………………… 10%
A
= 85 or higher
B
= 70 - 85
C
= 60 - 70
F
= <60
Guidelines
Attendance: You are required to attend class (note that: the attendance
score is 10 points). Students are responsible to learn all material covered
in class and assigned readings. There are no make-up exams, except for
documented University-approved excuses.
Late Assignments: Written/programming
assignments should be submitted to the Blackboard at [https://mycourses.utpa.edu/]
(You need a UTPA account to access Blackboard), and they are usually due at the
end of the due date. No late assignments
will be accepted after one week and one day.
Late Penalty: One week+1 day 30%
penalty
Will
not accept after one week and one day.
Course Materials:
All materials and news for this course will be posted in the course website at
[http://faculty.utpa.edu/lianx/CSCI6307_2013fall.html].
You need to check this website frequently for the updated information.
Academic
Integrity: In this class,
discussion is encouraged. But all assignments must be done on your own, unless
otherwise specified. If you use a source other than the text (e.g., another
book or a person), please reference it. Plagiarism found in any assignment will
result in zero for the assignment grade for the first time. If you plagiarize a
second time, you will receive a grade of F for this course, and the instructor
will report the incident to the Office of the Dean of Students. Plagiarism
among students will result in zero grade for all involved students.
Attendance in the lecture is mandatory. Students are responsible for all materials covered in class, the textbook, tutorials, and homework assignments. Students are expected to attend lectures, study the text, and contribute to discussions. You need to write your name on attendance sheets throughout the course, so please attend every lecture.
No make-up exams will be given except for university sanctioned excused absences. If you miss an exam (for a good reason), it is your responsibility to contact me before the exam, or soon after the exam as possible.
The University expects a student to maintain a high standard of individual honor in his/her scholastic work. Unless otherwise required, each student is expected to complete his or her assignment individually and independently. Although study together is encouraged, the work handed in for grading by each student is expected to be his or her own. Any form of academic dishonesty will be strictly forbidden and will be punished to the maximum extent. Copying an assignment from another student in this class or obtaining a solution from some other source will lead to an automatic failure for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying.
Students with
disabilities are encouraged to contact the Disability
Services office for a confidential discussion of their individual needs for
academic accommodation. It is the policy of the University of Texas-Pan
American to provide flexible and individualized accommodation to students with
documented disabilities that may affect their ability to fully participate in
course activities or to meet course requirements. To receive accommodation
services, students must be registered with the Disability Services office (DS),
University Center #108, 665-7005 or disabilityservices@utpa.edu.
· An ability to apply knowledge of computing and mathematics appropriate to the discipline
· An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
· An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
· Recognition of the need for and an ability to engage in continuing professional development
· An ability to use current techniques, skills, and tools necessary for computing practice
· An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
· An ability to apply design and development principles in the construction of software systems of varying complexity
The instructor reserves the right to alter this syllabus as necessary.