CIS Logo SVC Logo

   Computing & Information Systems
   Department

 

Schoology Facebook        Search CIS Site      Tutorials

CS 330 Syllabus



Computer Architecture & Operating Systems



Spring 2019



CIS Department



Saint Vincent College



General Information

  • 3 credits
  • Prerequisite: CS 111
  • Instructor: Brother David Carlson
  • Office: Dupre Science Pavilion, Tenley Hall W217
  • Office hours:
    • Mon, Wed 2:00 pm - 2:50 pm
    • Tue 1:00 pm - 4:30 pm
    • Thurs 8:30 am - 9:50 am, 12:30 pm - 1:30 pm
    • Fri 8:30 am - 10:20 am
    • and by appointment
  • Phone: 724-805-2416
  • Email: david.carlson@stvincent.edu
  • The CIS lab in W214 of the Dupre science complex will be available according to this schedule that will also be posted on the bulletin board outside our lab. This schedule shows you which tutor is staffing the lab at what times. Some of the tutors have probably had this course before, so see them or your instructor if you need assistance.
  • No required text. Those who are interested in further reading might consider:
    • Computer Systems: A Programmer's Perspective, 3rd ed., Bryant and O'Hallaron, Prentice Hall (2016), ISBN 978-0-13-409266-9.
    • The Essentials of Computer Organization and Architecture, 4th ed., Linda Null and Julia Lobur, Jones & Bartlett Learning (2015), ISBN 978-1284045611.
    • A Practical Guide to Commands, Editors, and Shell Programming, 3rd. ed., Sobell, Prentice Hall (2012), ISBN 978-0133085044.
    • A Practical Guide to Fedora and Red Hat Enterprise Linux, 7th ed., Sobell, Prentice Hall (2014), ISBN 978-0133477436.

Description

This course is designed to cover the main concepts of computer architecture (organization) and operating systems as well as a few practical IT tasks (such as scripting) with server operating systems. A multilevel machine approach to computer organization is used, with particular emphasis on the microprogramming level, the conventional machine level, and the operating system level. A simulator will be used to allow students to try microprogramming and machine language programming. The operating systems part of the course covers key operating system concepts and algorithms. In addition, it uses Linux as a case study, emphasizing system administration tasks, Linux utilities, pipes, and bash scripts.

Why Take This Course?

This is a required course for all 3 CIS majors, although non-majors sometimes take the course. It is intended to provide students with sufficient background in computer architecture and operating systems to allow them to function competently as computing professionals. Scripts are covered in part because they are heavily used in the real world for system administration. Although there will continue to be a large amount of change in the details of computer organization and the specifics of operating systems, many of the concepts and methods learned in this course will apply for years to come. The scripting and other system administration topics learned in this course would be especially useful for those looking for employment where Linux is used in the IT world. Also, Linux is the operating system of choice in the supercomputer world.

The Prerequisite

CS 111 is listed here so that students will have some knowledge of computers, the software development process, and the Windows operating system. No knowledge of assembler language or C++ is needed as a prerequisite for this course, but a background in some type of programming (such as that provided by CS 111) is needed.

No Required Text

The instructor will provide the course material. The instructor's microprogramming simulator will be used for a significant part of the course. Other materials will be provided as web pages, files on the course network drive, handouts, etc.

Core Goals

This course supports the following SVC Core Curriculum Student Learning Outcomes

  1. To form habits of ordered inquiry, logical thinking, and critical analysis
  2. To develop mathematical skills and quantitative literacy
  3. To develop effective communication skills

Relevant CIS Department Student Learning Outcomes

This course supports the attainment of the following student learning outcomes. By the time of graduation, students should be able to:

  • SLO 2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  • SLO 4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  • Specialized student learning outcomes based on major:
    • CS SLO 7. Reason about and explain computer-based solutions at multiple levels of abstraction.
    • IT SLO 6. Identify and analyze user needs and to take them into account in the selection, integration, evaluation, and administration of computer-based systems.

For assessing CS SLO 7, specific data about the microprogramming project is analyzed. (This project has each student design, implement and document a new machine language instruction by using the lower layers of the processor: the microcode layer and the hardware layer. Each student also has to give a high-level English description of the new instruction.)

Course Learning Objectives

By the end of the course, students will be able to:

  1. explain the major concepts involved in computer architecture and operating systems (supports CS SLO 7).
  2. write small microprograms as well as machine-language programs and to modify the microprogram interpreter to implement a new machine-language instruction, designed and chosen by the student (supports SLO 2).
  3. explain the implementation of function calls and parameter passing at the machine-language level (supports CS SLO 7).
  4. perform certain typical Linux server administration tasks, such as adjusting file and directory permissions, using a script to automate a task, and setting a script to run automatically at a set time (supports IT SLO 6).
  5. use the most common Linux commands and to write short bash scripts that use those commands (supports SLO 2 and IT SLO 6).
  6. solve basic operating systems problems, such as CPU scheduling problems and how to detect and mitigate thrashing (supports IT SLO 6).
  7. analyze some of the effects of computers, computerized devices, and operating systems on individuals, local communities, and global society and be aware of the responsibilities of those who write operating systems to consider professional, ethical, social, and security issues in their work (supports SLO 4 and IT SLO 6).

How well students reach these goals will be examined through exams and homework assignments. The homework assignments will involve problem solving, Mic-1 and Mac-1 programming, and a project to modify the microprogram interpreter. Informal discussions with students provide additional feedback.

Methods Used to Reach These Goals

Lecture, class activities, and class discussion are used to assist students in mastering the course material. Homework assignments and various hands-on activities are designed to allow students to grow in their understanding of the topic. Exams provide an opportunity for students to demonstrate what they have learned. Finally, the microprogramming project mentioned above allows students to demonstrate their creativity, their mastery of machine language and microprogramming, the ability to deal with multiple layers of software, and their ability to communicate in writing what they created.

Course Policies


Note on Flu

Because of the possibility of the flu affecting us on campus, please practice good hand washing, etc. A flu shot is thus strongly recommended. It can give you at least partial protection and helps protect others because you would not be likely to get sick and spread it to other people. If you get the flu, please notify me by phone or e-mail and stay home for 24 hours after the fever and other symptoms have gone. Check with me about what you miss. You will not be penalized for missing class in this situtation. It is better to stay away from class and any part-time job so as to not spread the flu when you are ill. Medications such as TamiFlu can reduce the length and severity of the flu.

Grading

  • 25% First Exam
  • 25% Second Exam
  • 25% Final Exam
  • 20% Homework
  • 5% Microprogramming Project

Homework and Exams

Some homework assignments will be collected and graded, including the bash script assignments. The microprogramming project will obviously be graded. Letter grades will be assigned according to the scheme found in the current College Bulletin. Exams will be announced in advance and will be of the open notes type due to the large amount of technical material in the course.. You must still be well-prepared for exams as it is not possible to look up how to solve every problem in the time given. Cell phones, laptops, and other devices should be turned off and put away during exams. The use of calculators is encouraged, but calculators are not to be shared among students during an exam. On exams, one can use pens, pencils, calculators, and erasers, plus one's notes, handouts, homework problems and answers, and similar paper materials.

Producing a Good Class

Both the instructor and students are expected to do their best to produce a good class and to treat each other with respect. This includes many factors, such as listening when someone else is speaking, trying to understand what others are saying, being of assistance to others, etc. It definitely does NOT include making fun of others. On a practical level, do your best to improve your grade: read the course materials, attend class, review what was done in each class before the next class, do the homework, ask questions, and try to answer questions in class! Computer science requires active participation and repeated practice. If you begin to feel lost, consult one of the tutors, see the instructor, or work through the difficulties with the help of another student in the course. Do not let yourself get behind. In fact, one key to academic success is to start early on homework and other tasks. Last-minute miracles seldom work! Note in particular that attendance is expected. Student performance is bound to deteriorate when classes are missed. Largely in order to emphasize the importance of attendance, the policies outlined after this paragraph will be used.

Specific Policies

  1. If the student does not attain a passing average in the test category, a failing grade will be received for the course.
  2. Each unexcused class absence after the first 3 results in 1.5 percentage point being deducted from the final course grade.
  3. Arriving late for class or leaving early (without a proper excuse) is counted as 1/2 of an absence.
  4. An unexcused absence from an exam results in the failure of the course.
  5. Unexcused absence from more than one-third of the semester's classes results in the failure of the course.
  6. Attendance is used to decide borderline grades at the end of the semester.
  7. Late work is not accepted unless resulting from an excused absence or other significant complication, but partial credit is given for incomplete homework that is submitted on time.
  8. Email me if you must miss class for any reason, whether it is due to an illness or some other issue. It is always best to let me know instead of leaving me to wonder why you are not in class.
  9. Written documentation (such as a note from a doctor's office or coach of one's sports team) is normally required for an absence to be excused. Always bring a copy of such a note to give to your instructor when you can do so. In special circumstances, check with your instructor, as it is not always possible to get documentation.

Make-up Exams

Make-up exams are strongly discouraged. If possible, take the regularly scheduled exam. For an excused absence or other significant reason, the instructor may agree to give a make-up exam. Whenever possible, see your instructor ahead of time if you know you must miss an exam (e.g. due to sports). Normally some type of written documentation is required (such as a note from the coach, doctor, etc.). If the documentation or reason for missing an exam is poor, the student can count on receiving a significantly more difficult exam, if one is given at all! Travel plans are not normally a sufficient reason for missing an exam, as ordinary travel can be planned so as to not conflict with exam times. Do ask about a makeup exam if you have a good reason to miss an exam, even if documentation is not readily available, as it is understood that illnesses and other complications do happen. Students participating in sports teams are required to notify the instructor in advance of games that might conflict with class.

Exam Questions

Exams will ask critical thinking questions that require careful analysis, explanation, and the development of reasonable conclusions. For example, you might be asked to explain the overall effect of executing a certain section of microcode. That requires you to first understand the details of the microcode and then to abstract from these a high-level explanation of what the microcode does. Other questions will ask you to summarize the actions produced by certain operating systems algorithms or to analyze two or more such algorithms and decide which is better or more efficient in some sense.

Homework Questions

Homework will be similar to the questions just mentioned. Although the problems and programs are usually short, they can be very detailed. As such, they require careful work and sometimes cannot be completed in one sitting. Since there are different types of assignments in this class (paper assignments, programs, etc.) the way in which they are collected will vary. Pay attention to the instructions for each assignment in regard to how the assignment is to be turned in and when it is due.

Academic Integrity

Most of the homeworks for this course will not be individual ones. Thus, you will be able to consult with other students in the class about how to solve them and even to look at some of each other's work. (Do not simply copy someone else's solution, however, as you learn very little from that.) Note well that the microprogramming project, bash scripts, and perhaps certain other homework will be individual homework where you may not consult other students in the class, share code, etc. If it is not clear whether homework is to be done individually or whether it will be graded, please ask. Every assignment submission should list all sources that contributed to the solution. This would include the individual student or students who worked on it. It may also include the instructor, a tutor that was consulted, a reference book, a web site, etc. On an individual assignment, you may consult other students only to clarify what the assignment is asking. If you need assistance beyond simple clarification of the description of the assignment, the best person to consult is the instructor. Tutors may also be able to assist with this, though only the instructor knows the full details. On an individual assignment you may not look at the homework solution (in whole or in part) for another student in this course or show yours (even a part of it) to another student in the course. You may not work out the design or solution for a homework assignment with one or more other students from the course unless it is a group assignment.

Intellectual honesty is important at Saint Vincent College. On individual assignments as well as exams, attempts to pass off the work of another as one's own, or group work as one's individual work, etc. will result in action appropriate to the seriousness of the situation. If there is some doubt as to whether or not you solved a homework or test question yourself, you may be asked to explain the solution. If you can do so, that provides good evidence that you did do the work yourself. All cases of apparent intellectual dishonesty will be referred to the administration. If the administration does not say what to do about the grades in such a case, the first offense will involve a significant grade penalty (such as a grade of zero on the assignment or exam), while a second offense may result in failure of the course. In this course, students are expected to do entirely their own work on tests and any homework designated as individual homework. Note, too, that copying someone else's work does little to help you to learn the material. Remember that you are responsible for knowing how to solve the homework problems and that you will have to face the test questions on your own.

Policy Documents

Be sure to read and follow the CIS Department Policies, available under the CIS Department web site. (This statement covers especially the proper use of departmental computing facilities, policies concerning your web pages, academic honesty, etc.) Be sure to read the Regulations section of the College Bulletin (which covers such things as grading, academic honesty, etc.) and also the appropriate sections of the Student Handbook.

Title IX: Sexual Misconduct and Harassment

Saint Vincent faculty are committed to helping create a safe learning environment for all students and for the college as a whole. If you have experienced any form of gender or sex-based discrimination or harassment, including sexual assault, sexual harassment, intimate partner (dating or domestic) violence, sexual exploitation, or stalking, know that help and support are available. Saint Vincent College has staff members trained to support students in navigating campus life, accessing health and counseling services, providing academic and housing accommodations, and more. The College strongly encourages all students to report any such incidents.

Please be aware that all Saint Vincent employees (other than those designated as confidential employees such as counselors, clergy and healthcare providers) are required to report information about such discrimination and harassment. This means that faculty who are not counselors, healthcare providers, Benedictines, clergy or similar have a mandatory duty to report to the Title IX Coordinator any information received about possible sexual misconduct. This includes information shared in class discussions or assignments, as well as information shared in conversations outside class. The Title IX Coordinator will contact you to inform you of your rights and options and connect you with support resources, including possibilities for holding accountable the person who harmed you. Know that you will not be forced to share information and your level of involvement will be your choice. The purpose of reporting is to allow Saint Vincent to take steps to ensure that you are provided with any necessary resources needed and to provide a safe learning environment for all.

The College's Title IX Coordinator is:
Eileen K. Flinn, Esq.
Saint Vincent College
Second Floor, Alfred Hall
724-805-2897

The College also has confidential resources available, who can provide assistance to those who have experienced sexual misconduct without triggering a mandatory reporting duty. More information about confidential resources is available at https://www.stvincent.edu/student-life/title-ix.

If you wish to speak to a confidential employee who does not have this reporting responsibility, you can contact Campus Ministry at 724-805-2350 or the Wellness Center in the Carey Student Center at 724-805-2115. For more information regarding your rights and options, please see the Sexual Misconduct and Harassment policy which can be found on MySVC portal under Quick Links or on the web at https://www.stvincent.edu/student-life/title-ix.

Disability Statement

Students with disabilities who may be eligible for academic accommodations and support services should contact Ms. Marisa Carlson, Assistant Dean of Studies, by phone (724-805-2828), email (marisa.carlson@stvincent.edu) or by appointment (Academic Affairs-Headmasters Hall). Reasonable accommodations do not alter the essential elements of any course, program or activity. The Notification of Approved Academic Accommodations form indicates the effective date of all approved academic accommodations and is not retroactive.

Class Cancellation

If the instructor needs to cancel class, every effort will be made to send an email message to students' Saint Vincent email accounts.

Maintained by: Br. David Carlson
Last updated: February 01, 2019
Disclaimer