CSCI 306. Computer Systems. 1 Credit.
Offered Fall Semester Only; Lecture hours:3,Lab:2
Fundamental concepts showcasing the integration of hardware and software. Topics include data representation, processor, memory, I/O, Unix system programming in C and assembly, introduction to operating systems, and development tools.
Lecture
Section | Date/time | Location | Instructor | Office Hours | Classroom |
02 | MWF 10:00 AM – 10:50 AM | DANA 227 | Xiannong Meng | Link | Link |
Lab
Section | Date/time | Location | Instructor | TAs |
60 | T 1:00 PM – 2:50 PM | DANA 325 | Alan Marchiori | Tsugunobu Miyake Chris Waltzinger |
Course Description
Computer Systems 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 an understanding of how computer systems work from the hardware up that will enable you to craft software systems that get the best performance out of any given 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 RISCV 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.
Course learning outcomes
1. Students will be able to write assembly language programs and show how high-level program constructs are implemented in assembly language. (EAC 1, 2) (CAC 1, 2)
2. Students will be able to evaluate the performance of a component of a computing system. (EAC 1, 6) (CAC 1)
Textbooks
Computer Organization and Design RISC-V Edition: The Hardware Software Interface By Patterson, David A. / Hennessy, John L. Edition: 2ND (or 1st) Publisher: ELSEVIER ISBN 13: 9780128203316 | Programming in C By Kochan, Stephen G. Edition: 4TH Publisher: PEARSON ISBN 13: 9780321776419 | The Linux Command Line By William Shotts Edition: 2e Publisher: no startch press ISBN 13: 9781593279523 FREE PDF |
References (not required)
Modern C By Jens Gustedt Publisher: MANNING ISBN 13: 9781617295812 FREE PDF | The C Programming Language (out of print) By Brian Kernighan and Dennis Ritchie Edition: 2nd ISBN 13: 9780131103627 |
Work Ethics
Bucknell University Honor Code
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 each and 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 on reporting breaches of academic integrity to the appropriate faculty or deans.
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 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. “
This means for CSCI 206, you are expected to put in at least 7 (12-5) hours of work outside of class, which should be divided between reading the textbooks 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.
Expected Work
Reading, Activities, and Participation
The readings include relevant textbook chapters, lecture slides and videos, as well as other materials listed on the course schedule. Look at the schedule page and complete the reading assignments before coming to class.
We will also have in-class activities that will result in deliverables to be turned in either at the end of the class or as a homework assignment. 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.
Participation means actively involved in the class and its related work as well as in the labs.
All students are expected to attend class and scheduled labs: poor attendance (either in class or lab) will have an adverse effect 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.
Laboratories
Most labs require advance work, the pre-lab assignment is due at the beginning of the lab and will account for a significant portion of the total lab grade. Each lab’s final deliverables are due before the date/time listed on the schedule. Late lab assignments will not be accepted. You should submit what you have at the due date for partial credit. 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 specifically asked for).
“Teach To Learn” Assignments
One of the best ways to learn a topic deeply is to make a commitment to teach that topic to someone else. In this type of assignment, that is exactly what you will do. You will teach a subject from a given a list of topics that you learned in the past lectures. You will then prepare to teach this subject by developing a piece of video or audio to explain the subject to other students. For details, please visit the “Teach to Learn” tab from the course website.
Exams
There will be two 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 (e.g., an email from the Dean) 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.
Grades
The grade components in this course will follow the distribution below.
- Class Activities and Participation: 12%
- “Teach to Learn” Assignments 1 and 2: 12% (6% each)
- Midterm Exams 1 and 2 : 24% (12% each)
- Final Exam: 12%
- Lab Assignments: 40%
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
Diversity Statement
“Providing an excellent education to all students requires a firm and demonstrated commitment to diversity and inclusiveness at all levels of the institution.
Inside the classroom and beyond, we strive to foster an environment in which our students engage with, understand and appreciate perspectives, people and cultures that may be very different from their own.
These experiences position students to enrich their knowledge of self and others, examine their values, and develop skills in critical thinking and collaboration — all of which prepare students to make valuable contributions in a diverse, globally integrated world.”
Quoted from Bucknell’s Diversity, Equity & Inclusive website.
Access Statement
Any student who needs an accommodation based on the impact of a disability should contact the OAR at OAR@bucknell.edu; 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 think you may need an 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 https://www.bucknell.edu/life-bucknell/diversity-equity-inclusion/accessibility-resources for more information about the OAR.
Mental Health Support
In this classroom and on Bucknell’s campus we support mental health efforts. Any student who is struggling and believes this may impact your performance in the course is encouraged to contact your Associate Academic Dean or the Dean of Students at 570-577-1601 for support. Furthermore, please approach me if you are comfortable in doing so. This will enable me to provide resources and support. If immediate mental health assistance is needed, call the Counseling & Student Development Center at 570-577-1604 (24/7).
Student-Athletes
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.
Religious Holidays
Bucknell University recognizes the value of religious practice and seeks to accommodate students’ commitment to their religious & spiritual traditions whenever possible. When conflicts between holy days or other religious practice and academic scheduling arise, I will make every effort to allow students to adhere to their tradition, including – when possible – excusing class absences and allowing make-up work.
A student anticipating the need to miss a class for religious reasons should notify me as early in the semester as possible – understanding that last-minute requests may not be able to be accommodated. A form for notification is available through the Office of Religious & Spiritual Life if you wish to use it. We can then have further conversation to shape a final agreement. Questions or concerns or support are always available via Religious & Spiritual life via Chaplain@bucknell.edu.
Communicating with the Instructor(s)
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 that 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.
ACM Code of Conduct Professionally, we strongly adhere to ACM’s Code of Ethics. We recognize that computer science has a checkered history with respect to inclusion – in corporate environments, in our classrooms, and in the products we create. As a result, we strive to promote characteristics of transparency and inclusivity that reflect what we hope our … Continue reading Common Course Policies