Notice: Constant FORCE_SSL_ADMIN already defined in /nfs/unixspace/linux/accounts/COURSES/cs206/public_html/sp17/wp-config.php on line 94
Syllabus | CSCI 206 Computer Organization & Programming


Bucknell University Honor Code

As a student and citizen of the Bucknell University community:

  1. I will not lie, cheat, or steal in my academic endeavors.
  2. I will forthrightly oppose each and every instance of academic dishonesty.
  3. 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.
  4. I will let my conscience guide my decision on reporting breaches of academic integrity to the appropriate faculty or deans.

Course Description

CSCI 206 is an important course in the core curriculum for Computer Science. Its contents are essential to the background of a computer professional. The main goal of this course is to develop understanding that will enable you to craft software systems that get the best performance out of the hardware platform. The topics we explore all work toward this end goal.

In the practical aspects of this course, our tools will be the C programming language, the MIPS assembly language, and the Linux operating system. Students who have never programmed in C before: you will learn the language as we go, but don’t expect the instruction to be at the same pace as in CSCI 203 and CSCI 204. Much of the work involved in developing proficiency with C is up to you! You will also start to learn a lot about programming at the interface between applications and the Unix system, which you will continue in CSCI 315 Operating Systems Design.

Student Learning Outcomes

  1. Students will be able apply the concept of abstraction in the analysis and synthesis of hardware components of a computer system. (EAC a, c) (CAC a, c)
  2. Students will be able to implement and to evaluate the performance of high-level system concepts, such as function calling, stacks, and exceptions, in system languages. (EAC c) (CAC c)
  3. Students will be able to evaluate the performance of a computing system and its major components. (EAC b)


Each student is REQUIRED TO SUBSCRIBE to the interactive textbook (BUCKNELLCSCI206StoughSpring2017) by for this course. The interactive textbook has the same content as the book Computer Organization and Design: The Hardware/Software Interface, 5th Edition, ISBN 978-0124077263, by David Patterson and John Hennessy. The interactive textbook also includes content from the interactive book Programming in C by Roman Lysecky and Frank Vahid. Each student must signup at using their email address. Progress on interactive activities will be tracked and contribute to your final grade (also see the Grades section below).

How to subscribe

  1. Sign up at using your email.
  2. Enter zyBook code BUCKNELLCSCI206StoughSpring2017
  3. Click Subscribe

The cost to subscribe is $83; any applicable returning student discounts will be applied automatically. The student subscriptions will be valid through the end of the spring semester.

Please email if you have any technical questions regarding the textbook.

Optional reference: C Primer Plus. Stephen Prata. Sixth Edition, 2013. ISBN 978-0321928429. Addison-Wesley Professional.

Work Ethic

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

Between lectures and labs, we meet for a total of 5 contact hours a week. The University expects that, for every contact hour, you will work about 3 hours per week outside of class. This means: for CSCI 206, you are expected to put in about 15 hours of weekly work, which should be somehow divided between reading and working on assignments (lab and homework). If you make sure to account for this time in your weekly schedule, you will certainly learn a lot in this class.

Bucknell University Expectations for Academic Engagement

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.

Reading, Quizzes, and In-Class Activities

Look at the schedule page and complete the reading assignments before coming to class. Periodically, we will have announced quizzes to assess your understanding of the reading material and/or your engagement in class.

We will also have in-class activities that will result in deliverables to be turned in at the end of the class. The point of these exercises is to keep you engaged and learning; the deliverables will be used to assess whether you used the opportunity wisely.

There will be no opportunity to make up quizzes or in-class activities.

Attendance and Participation

All students are expected to attend class and scheduled labs: poor attendance (either in class or lab) will have an adverse affect on your learning, thus the grade. Absences may be excused if you send the instructor an email in advance – we understand that people get sick, have to travel for interviews, etc. However, every four unexcused absences will cause a one third letter reduction in the final grade (that is, if you end up with B+, but have four unexcused absences, your final grade for the course will be B). There are two reasons for this policy. First, I see our classes as shared experiences in a community of learners; if you’re not there, you can’t share and the collective loses. Second, every student has to take responsibility for their role in the learning process. Being absent just for the sake of it shows that you’re not holding up to your end of the bargain.

Also, note that you will earn a grade for participation in this class. This component of your final grade is determined by how invested you are in our class meetings and labs. Ask and answer questions posed by the instructor and your colleagues, put ideas out for discussion, and bring up points that you have learned outside the classroom or discovered in the technical media. The point is for you not to fade into the background; you are expected to be actively engaged in the class.

Now, using a cell phone, texting, using instant messaging, or browsing the web for topics unrelated to our class activity are contrary to staying engaged; evidence of this type of activity will have an adverse impact on your participation grade.


Whenever labs require advance work, the pre-lab assignment is due at the beginning of the lab and will account for 25% to the total lab grade. Other than that, the lab’s final deliverables are due during on the first 10 minutes of the following lab (that is, if you don’t finish the assignment in lab, you have up to a full week to complete it). Late lab assignments will not be accepted. You should commit what you have at the beginning of the next lab for partial credit. If you have trouble with git, your lab instructor will help commit your files at the beginning of the next lab. Follow the instructions for putting together the deliverables and for submitting completed assignments very carefully. Hand-written work will not be graded (except if/when hand-written annotations are asked for).

zyBook Activities

There are reading assignments from zyBook due before every class meets. zyBook incorporates activities to illustrate the material and reinforce your understanding. There are two types of activities Participation activities and Challenge Activities, they will play the role of traditional homeworks. Your instructor will be able to monitor your progress on these activities and they will be used to constitute a part of your grade. To get maximum credit on participation activities, make sure you answer correctly the questions which may require multiple tries, but also make sure to watch the animations and to use the tools proposed. To get maximum credit on challenge activities your solution must meet the given specification.


There will be three mid-term exams and a comprehensive final. The dates of the mid-term exams are shown in the class schedule. The final examination will be given at the time scheduled by the Registrar. If you miss an exam due to illness or some other unavoidable circumstance, you will need a written justification for the absence. In the case of a justified absence, make-up exams will be given as long as the student has not communicated with anyone in the class about the exam. We assume that students who qualify for a make-up exam will observe this requirement according to the Bucknell honor code.

If an exam grade needs to be adjusted, please see the instructor as soon as possible.


The grade components in this course will follow the distribution below.

  • zyBook Activities: 10%
  • Quizzes, Activities, and Participation: 10%
  • Exams : 30% (10% each)
  • Final Exam: 15%
  • Lab Assignments : 35%

Letter grade assignments will be given at the end of the semester and will be based on a typical scale:

93-100 A, 90-92 A-, 87-89 B+, 83-86 B, 80-82 B-, 77-79 C+, 73-76 C, 70-72 C-, 60-69 D, 0-59 F

In order to pass this course, the student must earn a passing grade on every one of the items above. This effectively means that no one can earn a passing grade in CSCI 206 having forsaken any one of the items above.

Access Statement

Any student who needs an accommodation based on the impact of a disability should contact Heather Fowler, Director of the Office of Accessibility Resources at, 570-577-1188 or in Room 212 Carnegie Building who will coordinate reasonable accommodations for students with documented disabilities.


If you are a student-athlete, note that you are a student first and an athlete second. This means that academic work is your first priority. As per University rules, you will not be penalized for being away to take part in athletic events. It is your responsibility, however, to manage your time wisely so that you can do well in this and in your other classes. Please make sure to notify us well in advance of your travel schedule and to work out a make-up schedule for missed mid-term exams.

Communicating with the instructor

We want to hear your thoughts on how much you’re learning in this course. If you are struggling with the material, please let us know sooner rather than later. Problems which might be resolved somewhat easily when they are just identified can lead to much hardship if left alone for long. Make the best use of our contact time in regular classes and labs and, if that is not enough, come see us for a chat.

You should feel safe to give us constructive criticism. Although we will work hard to make this course be a good experience for everyone, it won’t be really great unless you give us timely feedback to make adjustments as the semester goes on.

We will do our best to help you reach the learning objectives in this course and to help you grow your enthusiasm for studying computer science.

Print Friendly

Leave a Reply

Your email address will not be published. Required fields are marked *