Fall 2012 CSCI 255 Syllabus


The course instructor for CSCI 255 is J Dean Brock. The course lectures will be delivered on Tuesday and Thursday from 9:25 AM to 10:40 PM in Robinson 217.


The lab instructors for CSCI 255 are Dean Brock and Rebecca Bruce. There are two labs held on Wednesday from from 4:10 PM to 5:50 PM and 6:00 PM to 7:40 PM in Robinson 223. You need to attend the lab in which you are enrolled.

Class home page

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


The required textbook for the course will be Microcontrollers: From Assembly Language to C Using the PIC24 Family, written by Robert Reese, J. W. Bruce, and Bryan A. Jones and published by Course Technology (ISBN 978-1-58450-583-9).

Catalog Course Description

Organization of digital computers including data representation, logic design and architectural features needed to support high-level languages. Includes a formal laboratory section using circuit design tools. Prerequisite: CSCI 181 or 182.

Learning objectives

This course introduces students to the fundamentals of computer engineering by studying embedded programming. After taking this course you will have a better understanding of how a program is translated into instructions for execution on hardware, how the hardware executes those commands, and how microcontrollers manage consumer devices.

You should also learn how to accomplish the following specific tasks in this course.

  1. Carry out arithmetic computations in binary and hexadecimal number systems.
  2. Translate between Boolean expressions, truth tables, and acyclic logic gate implementations.
  3. Design combinational and sequential logic circuits from functional descriptions of digital systems.
  4. Translate small sections of pseudo-code to assembly language.
  5. Write C programs for a microcontroller.
  6. Build a single board microcontroller system.
  7. Integrate a microocontroller with sensors and actuators.


The following weights are used in computing the course grade.

Grade component Weight
Two in-class exams 1/4
Final exam 1/4
Homework 1/4
Labs 1/4


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

All exams will be closed book and closed notes. A reference sheet will be provided which lists detailed information, such as the syntax of the C language or the PIC instruction set architecture, which would be burdensome (and unproductive) to memorize.

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.

Homework and assignments

Students will complete near-weekly assignments to be turned in at class or submitted via the UNCA moodle system.

Homework ranges from simple “finger” exercises (which may even be in-class) to programming or circuit design assignments. Assignment solutions 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.


In general, the lab grade is passed on participation. Students attending lab and working diligently should do very well on the lab component.


The following numerical scale will be used in assigning grades based on Score, the score computed using the weights described above.

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+.

Accommodations for Students with Disabilities

University of North Carolina at Asheville is committed to making courses, programs and activities accessible to persons with documented disabilities. Students requiring reasonable accommodations must register with the Disability Services Office by providing supporting documentation. All information provided will remain confidential. For more information please contact the Disability Services Office at (828)232-5050 or disabilityservices@unca.edu or visit them in the OneStop Student Services Center.

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 brock@unca.edu. If you need to see me, send me email to arrange an appointment.

I get lots of email, so please include CSCI 255 in the subject line.