CSCI 226 / Spring 2024

Computer Systems and Organization

Instructor:


Office Hours / Student hours:

  • Tues 1:30-3pm
  • Wed 2:30-3:30pm
  • Fri 10-11am & 1-2pm
  • and other times by appointment or Zoom

Meeting Times:

  • Mon / Wed / Fri 9:00 - 9:50am
  • Location: Swords 321

Course Description

This course is intended for students who are majoring or minoring in Computer Science.

This course covers fundamental topics related to the design and organization of a modern computing system, including basic digital logic design, machine level representation of data, microcode, assembly language and organization (to understand how high-level programs are converted into low-level instructions that can be executed by hardware, and how programs interface and communicate with other devices), memory organization (and how it may affect the performance of programs), management and architecture, program segmentation and linking, multi-tasking and some operating system features.

Diversity and Inclusion

I intend for every student to feel their voice is welcome in this course. My goal is to create a learning environment that supports each of you and embraces the diversity that you all bring. All members of the class are expected to be respectful and supportive of each other's ideas and identities, even when they disagree. Even when discussing narrow technical matters, racism, sexism, and other hidden assumptions can appear, and there are difficult ethical dimensions to everything we do as computer scientists. I will endeavor to point these out when they appear, and to check my own assumptions about your past experiences and perspectives. We all make mistakes that can impact others. but I hope that by committing to listen reflectively, and without defensiveness, we can build a strong and inclusive community. Please let me know if there is anything in class meetings, in office hours, in study sessions, or elsewhere that troubles you or makes you feel uncomfortable or unvalued. Even for events outside of the classroom, I welcome and appreciate any suggestions you have pertaining to diversity, equity, and inclusion.

If you prefer to speak with someone outside the course, please do not hesitate to reach out to any other faculty, the class deans, department members of the student advisory council, or others you feel more comfortable speaking with.

Also, if you have a name and/or set of pronouns that differ from those that appear on my class roster, please let me know!

Textbook

Recommended, but not required. We only loosely follow the structure in this book, but you may find it useful for additional exercises, a second point of view, or alternative explanation for many of the topics we cover. Even if you do not purchase the book, I will provide all material needed for the class.
Computer Organization and Architecture, 5th edition (2018) or a previous edition
Linda Null and Julia Lobur,
Jones and Bartlett, 2018.
5th edition ISBN: 978-1-284-12303-6
4th edition ISBN: 1-2840-4561-7 / 978-1-2840-4561-1
3rd edition ISBN: 1-4496-0006-9 / 978-1-4496-0006-8

Grading & Assignments

There will be six or more unit quizzes during the semester. These quizzes will be held during an 8-hour window on a day soon after finishing the corresponding material in class. There will be a comprehensive final exam or project during the exam period at the end of the semester. There will be several take-home projects and homeworks.

The final grade will be computed approximately as follows:

Projects & Homeworks40-45%
Quizzes35-45%
Final exam or project20-25%

Late Policy

Except by prior arrangement, the maximum possible score for an assignment will be reduced by 10% for each day or portion of a day that the assignment is turned in late. So the maximum possible score for an assignment turned in up to 24 hours late is 90%, and the maximum possible score for an assignment turned in up to 48 hours late is 80%, and so on. The penalty will be determined when all parts of the assignment (both electronic and paper copies, if needed) are received by the instructor or the department administrative assistant. Late work will not be accepted after the graded assignment is returned to the class.

Discussion Log & Collaboration Policy

Please refer to the Math and CS Department Honor Code Policy and the College Academic Integrity Policy.

A written discussion log is required for each and every assignment. No work will be accepted without a written discussion log.

In general, you may refer to your texts, your class notes, and your course instructor for help. You may also consult public literature (books, articles, web sites) for general information and examples, but you should not seek or use published solutions to assignments. You may also talk with with fellow students about general information and strategies for solving assignments, but not specific solutions or code. The work you turn in must be your own. If you are in doubt about what is acceptable, be sure to ask the course instructor.

Clarification about Artificial Intelligence or "generative AI": Generative AI models like ChatGPT, BARD, GitHub/Microsoft Copilot, or similar code generation tools are clearly useful. And they may turn out to be helpful for learning, or maybe they will prove to be unhelpful in long run. Honestly it's probably too early to tell. For the purposes of CSCI 226 and the collaboration policy, you should treat generative AI models as if it were a person -- say, a very well-read, sometimes clever, and very confident but sometimes unreliable roommate. That means it's okay to ask a model for general help understanding class material (and cross your fingers it doesn't "hallucinate"). But it's not okay to put homework questions into a model, or to ask the model to solve specific tasks that an assignment has tasked _you_ to perform. That crosses the line into simply cheating, just as asking a roommate to do your homework would be a violation of the College academic integrity policy. If you consult or use generative AI in any of your assigned work, you must cite the specific tools you used and provide a list of all prompts you used in your discussion log. You are still responsible for ensuring the correctness and accuracy of all submitted work. In addition, you are responsible for ensuring that all source materials used in your work are properly cited--you should be aware that generative AI can often produce output copied closely (or sometimes directly) from source material without properly citing those sources. Failure to correctly and fully cite sources constitutes plagiarism and is a violoation of the academic integrity policy.

Clarification about other online sources: It is fine to use Google and other sites to look for snippets of publicly available code that might help you with assignments, and it is okay to use a limited amount of such code in your own work. You should not take entire solutions or large amounts of code from the web. And you must clearly comment your code to indicate which code and ideas are purely your own, which code or ideas are borrowed or adapted from elsewhere, and where the other code or ideas came from.

In all cases you must cite each source of ideas you adopt in your discussion log for each assignment. You should never present another person's work (or AI model's output) as your own work. By clearly indicating any sources you consult and the people with whom you collaborate, you are giving credit where it is due. If you borrow or adapt code, and if the code is good, then you will get some credit for having found it (you won't get credit for writing it, since you didn't). If you borrow bad code, the fault is all yours. If you borrow or adapt code or use source material but don't cite it, that's plagiarism, and will be considered a violation of the academic integrity policy.

Discussion Log

For each assignment, you must keep a log detailing every collaboration you had with someone else and every source you consulted when completing the assignment. Each log entry must include: the date and time, the source, the length of time spent talking or reading, and a summary of discussion or material read. If you consult or use any form of generative AI while completing an assignment, include the specific AI system used and list all prompts used. You don't need to include the course textbook, the lecture notes, or the instructor, since it is assumed you will consult these sources.

Here is an example—you should use a similar format:

Even if you did not discuss anything with anybody and never consulted any other sources, you must still submit a discussion log that says just that, like so:

Failure to submit a discussion log will result in a penalty, or your work may not be accepted at all.

College Policies and Statements

The Academic Integrity Policy.

The Excused Absence Policy.

The Accessibility Services Statement.

Note: Consistent with applicable federal and state law, this course may be video/audio recorded as an accommodation only with permission from the Office of Accessibility Services.
We provide many video presentations of course material separately in CANVAS. In this way, students can preview/review material from each class period without the need to record the class interaction itself.

Note: Use of laptops in class is not allowed, unless a student has a letter from the office of disability services.