CSCI 306, Spring 2026

Course information

Description

In this course, you will learn what happens “under the hood” of a running program, from the hardware up. The primary objective is to equip you with the skills to develop software that maximizes hardware performance. Key topics include data representation, processors, memory, input/output, and fundamentals of operating systems.

We will focus on practical skills in C and RISC-V assembly language programming, and the Linux operating system. We will cover C programming at a faster pace than in CSCI 203 and 204. Mastery of C will largely depend on independent effort. The course also offers experience programming at the application-system interface, preparing students for further study in CSCI 315: Operating Systems Design.

Textbooks

Computer Organization and Design RISC-V Edition: The Hardware/Software Interface, 2nd Edition by David A. Patterson and John L. Hennessy

Programming in C, 4th Edition by Stephen Kochan

The Unix Command Line by William Shotts (online)

Class Work

Daily Schedule

Let’s be honest here: this is a college class and one that has a reputation for not being exactly easy. Much of the material is quite different from what you have seen before in 203 and 204. The expectation that you’ll be able to learn this material just by coming to classes and labs is unreasonable. The following is quoted from the course catalog:

Courses at Bucknell that receive one unit of academic credit have a minimum expectation of 12 hours per week of student academic engagement. Student academic engagement includes both the hours of direct faculty instruction (or its equivalent) and the hours spent on out-of-class student work.

For CSCI 306, you are expected to put in at least 12 – 5 = 7 hours of work outside of class per week, which should be divided between reading the textbooks and working on assignments (lab and homework). If you account for this time in your weekly schedule, you will learn a lot in this class.

Reading

You are required to complete all assigned reading before each class, as specified in the course schedule. Regularly checking the schedule page and staying up-to-date with the reading assignments is crucial for your success in this class.

Attendance

Attendance in both lectures and labs is mandatory. Poor attendance will directly affect your understanding of the material and your grade. If you need to miss a class or lab, notify the instructor via email in advance. We understand that absences due to illness or other valid reasons may occur. However, four unexcused absences will result in a one-third letter grade reduction (e.g., from B+ to B). This policy exists because consistent attendance supports the collaborative learning environment and your responsibility in the course.

Participation

Active participation is essential in this course. This involves engaging in class discussions, answering questions, and contributing to lab work. This course values your contributions. 

Distractions such as using cell phones, texting, messaging, or browsing unrelated content during class will negatively impact your participation grade. 

Labs

Lab sessions are a critical part of this course. Most labs require pre-lab assignments, which must be submitted before the beginning of the lab session. These pre-labs contribute significantly to your overall lab grade. Final lab deliverables are due by the deadlines listed on the schedule. Late submissions will incur a 10% weekly penalty up to three weeks. It is important to follow all submission instructions carefully. Handwritten work will only be accepted if explicitly requested.

Academic Integrity

As a student and citizen of the Bucknell University community:

  • I will not lie, cheat, or steal in my academic endeavors.
  • I will forthrightly oppose every instance of academic dishonesty.
  • I will let my conscience guide my decision to communicate directly with any person or persons I believe to have been dishonest in academic work.
  • I will let my conscience guide my decision to report breaches of academic integrity to the appropriate faculty or deans.

Grading

  • Homework assignments: 10%
  • In-class participation: 5%
  • Labs: 25%
  • 3 exams: 40%
  • Final exam: 20%

Diversity Statement

From Bucknell’s Diversity, Equity & Inclusive website:

Bucknell is committed to cultivating a diverse, equitable, and inclusive environment where every member of our campus community can thrive.

It’s about academic excellence. Diversity improves intellectual engagement, self-motivation, citizenship, and cultural engagement, as well as skills such as critical thinking, problem-solving, and writing—for all students. Communicating and collaborating with people from different backgrounds and perspectives is an essential skill that sets students up for success in our diverse, globally integrated world.

It’s also about well-being. Bucknell fosters an environment that respects and embraces different backgrounds, experiences, and identities. Across all levels of the University, we work to remove barriers and promote a supportive culture and welcoming space that eliminates disparities and inequalities so all individuals can feel that they belong and are valued.

Accessibility Statement

Any student who needs an accommodation based on the impact of a disability should contact the OAR at OAR@bucknell.edu or 570-577-1188 or complete the Disability Accommodation Request form. The OAR will coordinate reasonable accommodations for students with documented disabilities.

If you have a disability and need accommodation, I encourage you to contact the OAR. The OAR is here to help and will work with you to determine appropriate accommodations. If accommodations are needed, the OAR will communicate those to me through a Letter of Accommodation. I will not be given information about the nature of your disability, only the accommodations you need. I will treat any information I receive as private and confidential. Please visit Accessibility Resources for more information about the OAR.


Posted

in

by

Tags: