Syllabus: Fall 2009 CSCI 255


The course instructor for CSCI 255 is Dean Brock. The course lectures will be delivered on Monday, Wednesday, and Friday from 1:45 PM to 2:35 PM in Robinson 217.

Class home page

All class handouts, including homework assignments, can be found through the following URL:


The required textbook for the course will be Introduction to Computing Systems: From Bits and Gates to C (2nd edition), written by Yale N. Patt and Sanjay J. Patel and published by McGraw-Hill (ISBN 0-07-246750-9).

Course Content

This course introduces students to the fundamentals of computer engineering from both the hardware and software points of view. After taking this course, you will have a better understanding of how a program is translated into commands for execution on hardware, and how the hardware executes those commands using, ultimately, electronics to do the work.

Grading components


All exams will be closed book and closed notes. A reference sheet will be provided which lists detailed information, such as the LC-3 instruction set, that would be burdensome (and unproductive) to memorize.

Three equally-weighted 50-minute in-class exams will be given during the semester along with one final exam.

Attendance at all exams is mandatory. Only University-approved excuses will be accepted, provided that they are accompanied by the appropriate official documentation. Makeup exams may be given for excused absences at the discretion of the instructor. If you miss an exam without an acceptable excuse or without giving notice before the exam is given, you will receive a zero for that exam.


UNCA CSCI 255 students will complete near-weekly homeworks that will usually be turned in at class or submitted via the UNCA moodle system.


Assignments can be either programming or circuit design assignments. There will be about six assignments during the semester. Each programming assignment must represent your own individual work. It is acceptable to talk with another student about approaches to the assignment or to discuss a particular programming problem that you are having with another student. It is not acceptable to modify the problem of someone else and submit it as your own or to submit a solution "found" on the Internet. If two (or more) students turn in a programming assignment with trivial differences, such as variable names, the students will be asked to explain the similarities of their submitted programs before the assignment will be graded. Assignments will turned in via UNCA's Moodle system.

CSCI 255 Labs

Students enrolled in CSCI 255 must participate in labs in which programs are written in a C-like language for the Arduino board. A separate web page is devoted to the CSCI 255 labs and should be consulted for information about that part of the course.

Weighting of grade components

First, there is the weighting of the lecture and lab. The instructors for these parts of the course will provide a grade which will be given the following weighting in determining the course grade.

Grade component Weight
Lecture 3/4
Lab 1/4

For the lecture part of the course the following weights will be applied.

Grade component Weight
Three in-class exams 1/3
Final exam 1/3
Assignments 2/9
Homework 1/9


The following numerical scale will be used in assigning grades based on Score, the weighted score computed using the preceding table.

Score ≥ 93A
Score ≥ 90 & Score < 93A-
Score ≥ 87 & Score < 90B+
Score ≥ 83 & Score < 87B
Score ≥ 80 & Score < 83B-
Score ≥ 77 & Score < 80C+
Score ≥ 73 & Score < 77C
Score ≥ 70 & Score < 73C-
Score ≥ 67 & Score < 70D+
Score ≥ 63 & Score < 67D
Score ≥ 60 & Score < 63D-
Score < 60F

There will no "rounding-up" in computing the final grade. A score of 69.95 is less than 70 and results in a grade of D+.

Email Communication

Academic administrators at UNCA have told instructors that information protected by the Family Educational Rights and Privacy Act should only be sent to official university email addresses. Information related to recorded grades is clearly protected, as is any discussion that would allow a reader to draw conclusions about your performance or attendance in class.

For more information

The best way to get in touch with me is to send email to If you need to see me, send me email to arrange an appointment.