Butte College Fall 2017
Course Information
Course #/Control #: CSCI 10−2465
Course title: Computer Architecture and Organization
Course description: This course is an introduction to the organization and behavior of modern computer systems at the assembly language level. Topics include numerical computation, the internal representation of simple data types and structures, data representation errors, and procedural errors. Students will learn how to map statements and constructs of high-level languages onto sequences of machine instructions. (C-ID COMP 142).
Prerequisite: CSCI 20: Programming and Algorithms I or the equivalent
Student Learning Outcomes (SLOs): Upon the satisfactory completion of this course, the student will be able to:
  1. Identify and describe the organization of modern computer systems, including processor architecture and behavior and the representation of data types and data structures.
  2. Write assembly language instructions that map fundamental high-level language constructs onto machine language.
  3. Write simple assembly language program segments, including subroutines, to perform Input/Output (I/O), arithmetic, logic, and other basic operations.
Lecture (required): MW 10:00 - 10:55am, MC 146
Lab (160 minutes per week required) M 9:00 - 10:00am, MC 146
M 10:55 - 11:15am, MC 146
T 8:00 - 10:00am, MC 146
W 9:00 - 10:00am, MC 146
W 10:55 - 11:15am, MC 146
Th 8:00 - 10:00am, MC 146
Course web page: http://foobt.net/fall2017/csci10_2465
Instructor Information
Instructor name: Boyd Trolinger
Office: MC 152
Office hours: MW 11:30am - 12:00pm, MC 146,
T 8:00 - 10:00am, MC 146,
or by appointment
Phone number: 895-2503
Email: jboydt@foobt.net
Course Materials
Reading: Randall Hyde, "The Art of Assembly Language" (online or purchase)
"HLA Standard Library Reference Manual" (online)
Course Requirements
Reading: Students are expected to complete the readings associated with all course topics, as presented in the course schedule.
Book challenges (submission): Book challenges will be posted on the course website and will require that students use the assigned book and conduct independent research to successfully complete. Book challenges must be submitted by email to jboydt@foobt.net on or before 12:00pm on Friday each week.
Book challenges (self-scoring): The answer keys for book challenges will be distributed after the submission deadline each Friday. Students will self-score their book challenges (subject to review against the original submission, by the instructor) and submit their grades on or before 12:00pm the following Friday.
Programming challenges: Students will complete and submit a programming challenge each week. Programming challenges will be posted on the course website, along with a requirements/scoring rubric. Submissions of programming challenges must include a self-scoring of your work against the requirements/scoring rubric. Programming challenges must be submitted by email to jboydt@foobt.net on or before 12:00pm on Friday each week.
Programming projects: Students will complete and submit two (2) programming projects over the course of the semester. Successful completion of programming projects will require that students spend a significant amount of time outside of class writing and testing code and applications, and managing time to make steady and constant progress. Programming projects must be submitted by email to jboydt@foobt.net by midnight on their due date (the email must be time stamped no later than 12:00am). Late submission of programming projects will be docked fifty (50) points for each 24−hour period that passes after the deadline, starting at 12:01am.
Midterm exams: Students will complete and submit three (3) midterm exams over the course of the semester. Midterm exams will be posted on the course website on a Wednesday and will be due at the start of class the following Monday. Midterm exams will be take−home exams and must be printed and submitted in hard−copy at the start of the class on their due date. No late work and no submissions by email will be accepted, for any reason.
Final challenge: There will be a final challenge on the day of the scheduled final exam for this course. The final challenge will consist of elements of both book challenges and programming challenges.
Email submissions: The following are required subject lines for submitting assignments by email:
  • Book challenges (submission):
    YOUR_LAST_NAME, Book challenge #_ (SUBMISSION)
  • Book challenges (self-scoring):
    YOUR_LAST_NAME, Book challenge #_ (SCORE)
  • Programming challenges:
    YOUR_LAST_NAME, Programming challenge #_
  • Programming projects:
    YOUR_LAST_NAME, Programming project #_
Late work: Late work will not be accepted for book challenges, programming challenges, or midterm exams, for any reason. Programming projects may be turned in past the deadline date, but will be docked fifty (50) points per 24−hour period, as described above.
Participation/Drop policy: Regular attendance and active participation in this course is a requirement. The best learning environment for everyone is created when all students are present and engaged in the material. Any student who misses more than four (4) class meetings or four (4) assignments in a row (whichever comes first) will be dropped from the course. PLEASE NOTE: arriving late for class will be counted as an absence.
Computing your semester grade All semester grades are computed as the percentage of points you earned against the total possible points. Letter grades are awarded as follows -- A (90%), B (80%), C (70%), D (60%), F (below 60%). The levels below are provided as a rough guideline of your progress in the class and should not be considered the final determination of your grade.
Earning levels and grades: Level 10 (A*), 7125 pts and higher (!ASSEMBLY CHAMPION!)
Level 9 (A), 6750 pts and higher
Level 8 (B), 6000 pts and higher
Level 7 (C), 5250 pts and higher
Level 6 (D), 4500 pts and higher
Level 5, 3750 pts and higher (Level 5 and below earn F)
Level 4, 3000 pts and higher
Level 3, 2250 pts and higher
Level 2, 1500 pts and higher
Level 1, 750 pts and higher
Level 0, below 750 points
Earning points: Book challenges - 13 @ 150 pts each, max 1950 pts
Programming challenges - 13 @ 150 pts each, max 1950 pts
Programming projects - 2 @ 750 pts each, max 1500
Midterm exams - 3 @ 500 pts each, max 1500 pts
Final challenge - 600 pts
Miscellaneous Information
A course outline is on file in the department office. If a student would like to have a copy, please request one from the instructor.