MCS-284: Computer Organization (Fall 2021)

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.

World Wide Web

All course materials will be available on the course website and on Moodle (http://moodle.gac.edu/). The URL for the course is http://homepages.gac.edu/~lyu/teaching/mcs284-f21/.

Instructor

Louis Yu <lyu@gustavus.edu>

Please note that this semester, due to Covid-19, the schedule will be much more flexible. Right now we plan to meet (in-person) everyweek on Monday, Tuesday, Thursday and Friday from 9.00AM - 9:50AM, in Olin 317. However, there will be days the lectures will be online; those tend to be the days we work on projects (lab days). I will make an annoucement in class in those cases and send out an email to you. The online lectures will be held via ZOOM. ZOOM ID: 915 937 1822. Otherwise, all lectures wil be in-person.

Office: OHS 306

Phone: x7473

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

Office Hours:

Weekly Schedule:

Weekly Schedule


Night Tutors

Due to COVID-19, our teaching plan has changed considerablly from previous years. Thus, it is very important for you to seek help outside of lectures. After-class help sessions are here to supplement your classwork and to clarify any confusions.

Other than my office hours, I have arranged for both online and in-person night tutors. You will find that there are quite a few night tutoring sessions weekly. I encourage you to attend as many as possible.

Your night tutors are Filip Belik, Maddie Sandish, Ha Le and Thomas Hugart.

The detail for the virtual tutoring sessions are as follows:

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 in Course Information

COVID-19 and the Course Schedule

Please note that this semester, due to Covid-19, the schedule will be much more flexible. Right now we plan to meet (in-person) everyweek on Monday, Tuesday, Thursday and Friday from 9.00AM - 9:50AM, in Olin 317. However, there will be days the lectures will be online; those tend to be the days we work on projects (lab days). I will make an annoucement in class in those cases and send out an email to you. The online lectures will be held via ZOOM. ZOOM ID: 915 937 1822. Otherwise, all lectures wil be in-person.

Our course will be structured as follows: some classes will be used for lecturing, while others will be used for "labs" : working on exercises, homework, and projects. You should prepare accordingly. For details please schedule.

Please note that due to the unpredictability of the situation, our schedule may change at any time.

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.

The tests will be opened-book and mostly opened-notes. It will also be in-person and timed (1 hour for the midterm and 2 hours for the final).

Homework

This year due to COVID-19, we will rely heavily on your own discipline to absorb the class materials. To help you with that, I will give you homework problems. You are generally given 1-2 weeks to complete each homework. Some of these problems are written and some requires coding. Please note that these problems may also serve as practice for midterm and the final. Homework problems are worth 18% of your final grade (there will be 6 given, each worth 3%).

The syllabus shows due dates for six homework assignments; each will typically consist of a few problems. For each homework assignment, you are to turn in at most two drafts of the solution.

First, You must turn in a first draft of the solution to each problem in an assignment by the assignment's due date, at the start of the lecture. The grader will then grade your solutions and give you as much written comments as possible to help you with the next draft. The grader will also mark each problem as mastered (M) or not yet mastered (N). You should really take these gradings as an invitation to come talk to me during office hours or talk to the tutors during tutoring sessions. If you do not turn in a first draft by an assignment's due date, your score to the corresponding homework assignment is zero, there is no late penalty for the first draft.

Please note that if your homework problem was graded as mastered (M), it is still possible that your solution contains errors. In general if your solution was more than 80% correct the grader will give you an "M" and write down your errors as comments. You should read these comments for the midterms and the final.

If 60% of the solutions in your graded first draft are marked as "M", you will get to submit a second draft. For your second draft, you will get a chance to solve the problems you had previous recieved "N" for. You only need to submit solutions for problems you had previous recieved "N" for in the first draft, on separate sheets of papers or documents.

You must submit the second draft for homework 1, 2, and 3 by Friday, 11/5 (the review lecture for the midterm), by the start of class. You must submit the second draft for homework 4, 5, 6 by Tuesday, 12/14 (the review lecture for the final exam), by the start of class. These cutoff dates are intentionally synchronized with the test review days; the point of the homeworks is to prepare you for the tests. If you do not turn in a second draft by an dates specified, your score to the corresponding homework assignment is the score of your first draft, there is no late penalty for the second draft; if you miss the (firm) deadline for the second draft, you will recieve zero on the cooresponding homework.

You must submit all your drafts (1st or 2nd) via Moodle (http://moodle.gac.edu/). If you plan to miss a lecture on the day in which a homework draft is due, you must make sure that the professor (that's me) recieves your homework draft before the cooresponding due date and time (you can submit them to me a little earlier). You can type your solutions using a text editor or write down your solutions on a piece of paper and then take a picture. If you wrote down your solutions on a piece of paper, you must scan them (taking a picture using a scanner program on your phone will do). Please make sure that your writings are readable. If the grader can not read your writings for a solution, he/she will give you an "N" for the cooresponding question.

The homework portion of your course grade will simply be determined by the fraction of the homework problems you eventually mastered (recieved "M" for).

Attendance Grade

Attendance, both physical and mental, is required. In fact, it is worth 2% of your final percentage in the course. It is especially important for you to attend and participate in lectures (and labs) this semester. For every lecture or lab you had missed without first notifying me via email (and received the necessary approval), you will receive 0.5% 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 or homework due that day, you should be sure to submit it (to me, in-person) 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, please don't come to class, call Health Service; and I request that you email me.

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 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.

You will also 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). I have office hours on Mondays, Tuesdays, Wednesdays and Fridays. The night tutors (both online and in-person) are available on Tuesdays, Thursdays and Sundays. What's more, you are just an email away from arranging sessions from me or the tutors at a time which works for you (per instance or on a regular basis). 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; and effort is especially important this semester .

Please keep in mind that if you tell me "none of the 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. In fact, you can even arrange sessions with me or with the TAs at a time which works for you on a regular basis. So, again, the factor here is your 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 5% bonus points per assignment by doing the following:

Accordingly, after you had attended a tutoring session, please remind your tutor to send me an email.

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.

Honor

Any substantive contribution to your project report by another person or taken from a website or publication should be properly acknowledged in writing (by citing the source). Failure to do so is plagiarism and will necessitate disciplinary action. At the minimal, you will recieve zero on the course component in which plagiarism is violated. For more serious cases, you will recieve zero in the course.

The same standards regarding plagiarism apply to team projects as to the work of individuals, except that the author is now the entire team rather than an individual. Anything taken from a source outside the team should be properly cited.

As a guideline for collaboration, 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, including projects and homework exercises, must be done independently. This means that the work you turn in must represent only your own work. 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.

Accordingly, 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.

Gustavus Adolphus College is proud to operate under an honor system (for more information, please see here). The faculty and students have jointly created an Honor Board to enforce the Honor Code and the Academic Honesty Policy. Each faculty member is responsible for stating course penalties for academic honesty violations, and for defining the level of authorized aid appropriate to the work in their courses. Each faculty member is also required to report violations of the Academic Honesty Policy to the Provost's Office. It is your responsibility, as a student, to ask questions if you are not sure about situations such as when to cite a source, how to cite a source, sharing data with lab-mates, and avoiding inadvertent cheating when working in groups. It is also your responsibility to learn about the policy and the consequences for violations so please ask questions!

The overarching principle of the Academic Honesty Policy is that students shall submit their own work, in fairness to others and to self. Your Professor wants you, a developing scholar, to be able to take pride in your own academic work and to maintain your academic integrity. Citations must accompany any use of another's words or ideas that are not common knowledge. Quoting or paraphrasing from electronic sources without proper citation is as serious a violation as copying from a book or other printed source. A student may not submit work that is substantially the same in two courses without first gaining permission of both instructors if the courses are taken concurrently, or permission of the current instructor if the work has been submitted in a previous semester. Ask your Professor if you have questions about a particular assignment or kind of work. Please make sure you fully understand the rules related to online work, as it pertains to this course. Unauthorized aid during online exams and assignments is every bit as serious and inappropriate as it would be in an in-person course. In fact, in the online environment it is sometimes easier for faculty to detect violations.

The sanction in this course for a violation of the Honor Code involving plagiarism, copying another student on an exam, or other kinds of cheating on a single assignment will usually be an "F" on the plagiarized assignment or exam. For a more significant event, I, your Professor, reserve the right to assign you a grade of "F" for the course. In addition, for any Honor Code violation, I will notify the Provost's Office. A letter will be generated by the Provost's Office and sent to you. The letter will remain on file. There will be no further consequence, beyond the course penalty and the letter, if you do not commit any further Honor Code violations. Repeat offenses could ultimately lead to dismissal from the College. You have the right to appeal any Honor Code violation through an Honor Board hearing process. In this course, your Professor aims for you to learn how to cite sources properly, do your own work on all exams, and function as a scholar with integrity. Please feel welcome to ask questions about the important matter of Academic Honesty and let me know how I can best support your learning.

Academic Accommodations

Gustavus Adolphus College is committed to ensuring equitable and inclusive learning environments for all students. If you have a disability and anticipate or experience barriers to equal access, please speak with the accessibility resources staff about your needs. A disability may include mental health, attentional, learning, chronic health, sensory, physical, and/or short-term conditions. Students with a documented elevated risk of COVID-19 may also request academic accommodations. When appropriate, staff will guide students and professors in making accommodations to ensure equal access. Accommodations cannot be made retroactively; therefore, to maximize your academic success at Gustavus, please contact them as early as possible. Accessibility resources staff are located in the Academic Support Center (https://gustavus.edu/asc/accessibility/) (x7227). Accessibility Resources Coordinator, Corrie Odland (codland@gustavus.edu), can provide further information.

Multilingual Student Support

Some Gusties may have grown up speaking a language (or languages) other than English at home. If so, we refer to you as "multilingual."" Your multilingual background is an incredible resource for you, and for our campus, but it can come with some challenges. You can find support through the Center for International and Cultural Education's (https://gustavus.edu/cice/) Multilingual and Intercultural Program Coordinator (MIPC), Pamela Pearson (ppearson@gustavus.edu). Pamela can meet individually for tutoring in writing, consulting about specific assignments, and helping students connect with the College's support systems. If you want help with a specific task (for example, reading word problems on an exam quickly enough or revising grammar in essays), let your professor and Pamela know as soon as possible. In addition, the Writing Center (https://gustavus.edu/writingcenter/) offers tutoring from peers (some of whom are themselves multilingual) who can help you do your best writing.

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, and include online options. 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/.

COVID Policies in the Classrooms

All classrooms will follow the most up-to-date COVID policy of the college with regard to masking, social distance, food and beverage in the classroom, and sanitizing of technology and spaces. Individual faculty members may ask for additional COVID precautions at their discretion.