MCS-284: Computer Organization (Fall 2017)

Overview

MCS-284 will cover computer systems as seen through the eye of a programmer. Students will learn how a computer execute programs, store information, and communicate. They will become more effective programmers, especially in dealing with issues of performance, portability and robustness. The course also serves as a foundation for courses on compilers, computer networks, database systems, operating systems, etc, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation.

Textbook

Our texts will be the third edition of Computer Systems: A Programmer's Perspective by Randal E. Bryant and David R. O'Hallaron, published by Pearson, and the second edition of The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie, published by Prentice-Hall.

Instructor

Louis Yu <lyu@gustavus.edu>

Office: OHS 306

Phone: x7473

Homepage: http://homepages.gustavus.edu/~lyu/

Office Hours: Monday, Wednesday 8:00am - 9:00am; Sunday 5:00pm - 6:00pm. Visitors are welcome whenever my office door is opened, even outside scheduled office hours. If you would like to meet with me, please email me to schedule an appointment.

Weekly Schedule at: https://homepages.gac.edu/~lyu/Schedule_F2017.jpg

Teaching Assistants

Your teaching assitants for this course are Matthew Lutze <mlutze@gustavus.edu>, Duy Nguyen <dnguyen@gustavus.edu>, and Sam Peterson <speter12@gustavus.edu>; They will have tutoring sessions specifically for MCS-287 every week. The detail is as follows:

Location: Olin 326

Hours:

One of the biggest challenges students face in this course is dealing with the complexity of the lab assignments. To be clear, you will need to finish four very challenging assignments, thus, the key for surviving in this course is to utilize the help offered outside of the classroom. More on that later in the bonus point section.

Labs and Lab Assignments

For this course, you will need to complete 4 lab assignments. In each case, I will indicate what I expect of you. A project report that meets those expectations is due before the start of the class on the date specified. If you submit the report late, your grade will drop 10% per day late or fraction thereof. If you are too sick to complete a report on time, you will not be penalized. However, you need to talk to me or email me as soon as possible (and in general before the report is due), and provide the necessary doctor's note. Other circumstances will be evaluated on a case-by-case basis. In general, you should talk to me or email me (asap) around the time of the incident.

Some class days, usually as shown in the syllabus, we will be working in the classroom on lab assignments. You will work on the assignments on your own laptop. One or more of those lab days will be provided for you to work on each lab assignment. However, you will generally need to spend additional time on the assignment outside of class.

Tests

There will be one intra-term tests during the semester and a final exam as scheduled by the registrar. If you have a conflict with a testing time, please contact me as soon as possible to make an alternative arrangement.

My default assumption is that students will take the final together. Therefore, I would ask you to please be respectful and quiet, even after completing your exam, so that your fellow students have a good test-taking environment. However, if you prefer to take the exam in a separate room, please contact me in advance and I will try to arrange it.

Tests will be closed-book and mostly closed-notes. You may, however, use a single 8 1/2" by 11" sheet of paper with hand-written notes for reference. (Both sides of the sheet are OK.)

Attendance Grade

Attendance, both physical and mental, is required. In fact, it is worth 5% of your final percentage in the course. In general, for every lecture or lab you had missed without first notifying me via email or in person (and received the necessary approval), you will receive 1% deduction from your attendance grade. Please note that your reason for missing a lecture could be as simple as "I am feeling overwhelmed today and I really need some time off"; I just need you to notify me in advance. If you are more than 10 minutes later for a class (without first notifying me in advance), I will count as you missing a lecture. I reserve the right to further lower your grade if I feel you are missing or showing up late too often.

Should you miss a class for any reason, you are still responsible for the material covered in there. If there is a project report due that day, you should be sure to submit it (electronically, via Moodle ) on time (thus, do not leave your work until the last minute).

If you have influenza-like symptoms (temperature over 100 with headaches, sore throat, or cough), please call Health Service. If they say you should stay home, you should do so, and I require that you email me.

This course relies heavily on participations. Students are expected to actively participate in classroom discussions. You may use your laptop in class. However, the use of the computer is restricted to activities deemed appropriate by the instructor. Playing games, watching YouTube, reading e-mail, checking Facebook, and working on assignments for other courses are a few examples of inappropriate activities that can be distracting to the instructor and other students in the course. Any repeat instances from an individual of such will result in further grade deduction.

Effort

For this course, ideally your grade should be a reflection of the effort you had spent. At the end of the semester, if you tell me that you have put in a lot of effort but you received a bad grade, I will ask you the following: "did you attend all the lectures?", "did you attend all the lab sessions?", "did you pay attention in classes?", and finally, "did you take advantage of the overabundance of help offered to you?". If your answer to any of those questions is "no", then you did not put enough efforts into the course.

Please keep in mind that there is no such course which allows you to miss lectures, lab sessions, projects or homework, but somehow miraculously implant the necessary knowledge in your head; no matter how "good" or "bad" the course is. Academia demands Discipline.

The Bonus Points System for the Classroom

For this course, I encourage questions, discussions, peer-helping, and explorations. So, I am bringing back the bonus point system. During the semester, you are strongly encouraged to ask questions (during or after lectures) and to take part in discussions. If I feel that you had made a good contribution, you will receive one bonus point.

Another way of earning bonus points is for you to take a leadership position during group work or classroom coding exercises.

Finally, you will earn bonus points if you have ideas about extra work (such as open questions) you can do and have done them outside of class. You can talk to me about what you had done and show me your work. I will give you bonus points accordingly.

The maximum amount of bonus points per student is 9. They are worth 3 percent of your final grade. That is, if by the end of the semester you had received 9 bonus points from me, you can raise your final percentage by 3%.

The Bonus Points System for the Assignments

It should be very clear to you that there is help available almost every single day of the week (from either me or the tutors). My office hours are held in the morning while the tutors' help sessions are held at night. What's more, you are just an email away from arranging sessions from me or the tutors at a time which works for you. In other words, I had made it such that at any time, if you spent the effort into going, help should come to you; so the deciding factor here is clearly the effort you spent.

Please keep in mind that if you tell me "8am is too early for me to get out of bed to seek help", I will tell you that 8am is clearly not too early for me to hold an office hour in order to help you. In fact, during the school year I get up at 5am everyday to prepare for lectures. And, if you tell me "none of the six help sessions offered throughout the week are held at a time which works for me", then I will tell you (other to prioritize your schedule) that at any time you can send an email to arrange for a session. So again the factor here is the effort.

To help keeping track of the effort you had put into the course, and to offset the difficulties on the assignment, you can earn 7% bonus points per assignment by doing the following:

You must use the following progress form to record your entries. Please use one form for each assignment.

The Bonus Points System for the Exams

During some lectures I will give out practice questions on certain topics. Before the midterm and the final I will also provide a preparation sheet with some questions. The purpose of these questions is to help you with your tests. Before each test, if you hand in the solutions for all the questions prior and receive greater than 90% correctness after grading, you will receive 5% bonus point on the test. Please note that similar to the bonus point system for the assignments 1) you will either receive 5% bonus points on a test or nothing, and that the maximum amount of bonus points for each test is 7%. And, 2) the maximum percentage for each test is 100%, so it is not possible for bonus points to help you achieve more than 100% on a test.

Grade changes

Please point out any arithmetic or clerical error I make in grading, and I will gladly fix it. You may also request reconsideration if I have been especially unjust.

Grading

The course components will contribute to your grade in the following proportion:

The perfect score for this course is 100%. Each component of the course will be calculated from its raw score to its corresponding weight in the total grade. Your letter grade for the course will be recorded as follows:

A: 94-100 B+: 87-89 C+: 77-79 D+: 67-69 F: < 62
A-: 90-93 B: 83-86 C: 73-76 D: 63-66
B-: 80-82 C-: 70-72

Please point out any arithmetic or clerical error I make in grading, and I will gladly fix it. You may also request reconsideration if you feel I have been especially unjust.

Academic Honesty

It is ok for students to get together in small groups to go over material from the lectures and text, solve problems from the text, study for exams, and discuss the general ideas and approaches to projects. However, work to be turned in must be done independently. It must not be based on help from others or information obtained from sources other than those approved by the instructors (e.g., the text, the course webpage, and materials provided in the lectures). Effective learning is compromised when this is not the case.

You should never read or copy another student's code or solutions, exchange computer files (or pieces of papers with solutions written on them), or share your code/solutions with anyone else in the class until after both parties have submitted the assignment. Under no circumstances may you hand in work done by someone else under your own name.

You are expected to be familiar with the college Academic Honesty Policy and to comply with that policy. Full descriptions of it and the Honor Code can be found in the Academic Catalog (online at https://gustavus.edu/general_catalog/current/?pr=acainfo). If you have any questions about it, please ask. A first violation of the honor code will result in a grade of 0 on the homework or exam in question. A further violation will result in an automatic F for the course and a notification to the Office of the Provost.

Disability Services

Gustavus Adolphus College is committed to ensuring the full participation of all students in its programs. If you have a documented disability (or you think you may have a disability of any nature) and, as a result, need reasonable academic accommodation to participate in class, take tests or benefit from the College's services, then you should speak with the Disability Services staff, for a confidential discussion of your needs and appropriate plans. Course requirements cannot be waived, but reasonable accommodations may be provided based on disability documentation and course outcomes. Accommodations cannot be made retroactively; therefore, to maximize your academic success at Gustavus, please contact Disability Services as early as possible. Disability Services (www.gustavus.edu/advising/disability/) is located in the Academic Support Center. Disability Services Coordinator, Kelly Karstad, (kkarstad@gustavus.edu or x7138), can provide further information.

Help for Multilingual Students

Support for English learners and multilingual students is available through the Center for International and Cultural Education's ( https://gustavus.edu/cice/ ) Multilingual and Intercultural Program Coordinator (MIPC), Carly Houston Overfelt. The MIPC can meet individually with students for tutoring in writing, consulting about academic tasks, and helping students connect with the College's support systems. When requested, the MIPC can consult with faculty regarding effective classroom strategies for English learners and multilingual students. If requested, the MIPC can provide students with a letter to a professor that explains and supports appropriate academic arrangements (e.g., additional time on tests, additional revisions for papers). Professors make decisions based on those recommendations at their own discretion. In addition, English learners and multilingual students can seek help from peer tutors in the Writing Center ( https://gustavus.edu/writingcenter/ ).

Mental Wellbeing

The Gustavus community is committed to and cares about all students. Strained relationships, increased anxiety, alcohol or drug problems, feeling down, difficulty concentrating, and/or lack of motivation may affect a student's academic performance or reduce a student’s ability to participate in daily activities. If you or someone you know expresses such mental health concerns or experiences a stressful event that can create barriers to learning, Gustavus services are available to assist you. You can learn more about the broad range of confidential health services available on campus at https://gustavus.edu/counseling/ and https://gustavus.edu/deanofstudents/services/ .