In this course you learn how computers execute programs written in a modern high-level programming language. You'll also see how computers are built up from transistors and gates and how an extremely simple machine language can be used to implement the operations and data structures of C.

The course instructor is Dean Brock. The course lectures will be delivered on Tuesday and Thursday from 3:15 PM to 4:30 PM in Ramsey 101, a dreadful classroom in which students in the back of the classroom can see neither the instructor or whiteboard. For this reason, almost all lectures will be given using the computer projector.

Generally, lectures *review* and illustrate concepts
covered in the textbook.
CSCI 255 students are expected to
consult the course schedule
and read the relevant sections of textbook *before*
coming to class.

Weekly labs,
two led by Dean Brock and one led by Mark Boyd,
will illustrate, and sometimes extend, the
course lectures.
Lab attendance will be expected of *all students*.

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

The textbook for the course will be Introduction to Computing Systems: From Bits and Gates to C and Beyond written by Yale Patt and Sanjay Patel and published by McGraw-Hill (ISBN 0-07-237690-2).

Grades will be based on on points earned from near-weekly homework assignments, two "midterms", one final exam, and lab grades as follows:

Component | Points |
---|---|

Homeworks | 250 |

Midterm 1 | 150 |

Midterm 2 | 150 |

Final exam | 200 |

Labs | 250 |

Total | 1000 |

There will be twelve homework assignments. In computing the overall homework total, only the ten highest homework scores will be considered. In other words, you can blow off two homework assignments with no penalty.

Homework assignments may be viewed on the CSCI 255 homework index. Solutions to homework assignments will also appear on this index. However, as a courtesy to the textbook authors, no solutions will be posted to problems assigned from the textbook.

By the way, absolutely *no* credit will be given
for an assignment turned in after the associated solution is posted.

In general, lab grades are based solely on work completed during the lab period. As with homework, only the ten highest lab grades will be used to compute the final lab grade. Note that one-quarter, 250 points, of your CSCI 255 grade is based on the labs. If you work seriously during the lab periods, you should have no problem getting the full 250 points. If you don't attend the labs, you can get no more than 750 points, or a C, in the course.

Exams will be challenging. I expect a "B/C" student to get 90% of the homework and lab points but only 70% of the exam points.

Although you can find a lot of on-line information about my previous courses though my master class handout page, do not use past 255 classes as a model for this one. The best model for this class will be North Carolina State's ECE 206. I "facilitated" ECE 206 when it was taught to the UNCA/NCSU Mechatronics students last term and was convinced that this course would be a good survey of computer organization for UNCA computer science majors in both concentrations.

My office is Robinson 220, and
my office hours are Tuesday and Thursday from 2:00 to 4:00.
However, the best way to get in touch with me is to send email to
`brock@cs.unca.edu`.