Fall 2015 CSCI 255 Syllabus


The course instructor for CSCI 255 is J Dean Brock. The course lectures will be delivered on Wednesday and Friday from 12:30 PM to 1:45 PM in Robinson 217.

If UNC Asheville is following its Late Start Schedule, the class will meet from 1:40 PM to 2:40 PM.


There are two labs held on Wednesday afternoon from 3:30 PM to 6:00 PM and 7:00 PM to 9:30 PM in Robinson 223. You need to attend the lab in which you are enrolled.

If UNC Asheville is following its Late Start Schedule, the first lab will meet from 4:00 PM to 6:00 PM. Late start does not apply to the second lab since it meets in the evening.

Class home page

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

Course topics

Fairly specific, though sometimes tentative, information about the topics covered in the course can be found on the class’ topics and schedule pages.

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

CSCI 255 is a required course in the Computer Science major and minor. The 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. Write simple SystemVerilog programs.

Textbook and readings

The required textbook for the course is Digital Design and Computer Architecture, written by David Harris and Sarah Harris. This book is published by Morgan Kauffman (ISBN 978-0-12-370497-9). and has a useful collection of companion materials. This textbook will also be used in the CSCI 320 in the Spring 2016 semester.

You can access a copy of the book on-line for free from Ramsey Library. Don’t worry about not having a copy for the exam: All exams are closed book.


The logic circuit simulation tool Logisim will be used for some early assignments in the course. During the second half of the semester, we will use the MPLAB® X IDE and MPLAB® XC compilers (XC32) to write programs for the Microchip PIC32 MCU. These programs are free and available for Linux, Mac OS X, and Windows.

We will also use the starter edition of Altera’s ModelSim in lab to write and test a SystemVerilog program. ModelSim is available for Linux and Windows. The installed program requires about 4 GB of disk space, so you may want to just use the lab computers.


The following weights are used in computing the course grade.

Grade component Weight
Two in-class exams
Final exam


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. No electronic devices, including calculators, may be used during the exam.

A reference sheet will be provided which lists detailed information, such as the syntax of the C language or or examples of SystemVerilog programs or the MIPS instruction set architecture, which would be burdensome (and unproductive) to memorize.

Exam attendance

UNC Asheville’s Academic Policies and Procedures do provide excused absences for “travel on university-sanctioned business” and “up to two excused absences per semester for religious observances” when seven days notice is given. The seven day notice will allow the instructor to reschedule exams to avoid excused absenses. For this reason, attendance at all exams is mandatory.

Providing the instructor with a list of planned university-sanctioned absences at the beginning of the course does not constitute adequate notice.

Homework and assignments

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

Homework ranges from simple “finger” exercises (which may even be in-class) to programming or circuit design assignments.

All homework has a specific due time. Any late homework must be submitted to the late assignment bin as discussed in the policy on late assignments.

Unless explicitly stated in the description of a homework assignment, a submitted assignment must be the result of the student s individual effort. Students are required to cite any sources, including the work of other students, used in completing their assignments. If this is not done, no credit will be given for the homework and, as required by university policy, a report will be made to the Assistant Provost for Academic Administration.


In general, the lab grade is based on participation and graded on a 10-point scale.

If there are not enough hardware setups or microcontroller boards for every student to work individually, some students will be assigned to work in pairs.

The lowest lab grade will be dropped in computing the lab grade average.


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 ≥ 60 & Score < 67D
Score < 60F

Classroom expectations

The classroom is a place where students and faculty behave professionally. We are polite and attentive. We avoid talk of politics and religion. We do not use offensive language.

We all try to come to class on time. If students are late, they sit near the door. (A late instructor still must come to the front of the room.)

Electronics in the classroom

You are welcome to use your electronic devices to take notes. However, you should read the article Why students using laptops learn less in class even when they really are taking notes from the Washington Post before you give up on handwritten notes.

Electronic devices should not be used for gaming and social media during class. This distracts others in the class.

Sometimes you may need to discretely respond to a TXT message received during class. In these cases, it usually is best to leave the room. Do not use TXT messages to communicate to others in class. That is very impolite.

Required attendance

Some class activities, such as exams and labs, generate grades. You will receive a grade of 0 for those activities you miss. If you have an authorized excuse, you will be given an opportunity for a make-up.

Some class periods will be dedicated to student presentations. You are expected to attend all presentations by your fellow students. If you do not, your grade for own presentation will be adjusted.

Academic misconduct

It is never proper to claim another’s work as your own in graded work.

Impermissible actions

There are several impermissible actions that will result in the imposition of course or university sanctions. Impermissible actions in homework assignments include the following:

Impermissible actions on exams include the following:

Sometimes these rules may be modified or clarified for specific assignments and exams. For example, ”pair“ programming may be allowed for an assignment, or simple scientific calculators may be allowed during an exam.

Course sanctions for impermissible actions

The first offense will result in a grade of 0 for the related assignment or exam. The second offense will result in a grade of F for the course.

University policy on academic misconduct

The UNC Asheville Student Handbook has a section devoted to Academic Misconduct. It states the following:

A student accused of academic dishonesty should talk with his or her instructor. In all situations where a student has been disciplined for plagiarism or cheating, the instructor is to submit to the VCAA a brief statement of the case; the student is to receive a copy of this document. Depending upon the severity and/or repetition of the offense, the VCAA may choose to impose a penalty of cancellation of graduation with honors; cancellation of scholarships; dismissal from the university; or any other penalty which he or she deems logical and deserved. A student has 10 class days to respond to this document, in writing; this response is to be sent to the VCAA for attachment to the document submitted by the instructor.

In practice, students who have been involved in academic misconduct in three courses will be suspended for a semester. However a single significant offense, such as the submission of a plagiarized paper in entirety, can result in immediate dismissal.

Accommodations for Students with Disabilities

Statement from the Office of Academic Accessibility

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 Office of Academic Accessibility by providing supporting documentation. All information provided will remain confidential. For more information please contact the Office of Academic Accessibility at (828)232-5050 or academicaccess@unca.edu or visit them in the OneStop Student Services Center.

Specific clarifications for CSCI 255

Students who have been approved for extended time for exams by the Office of Academic Accessibility must have their exams administered by the Office of Academic Accessibility and must take their exams at a time overlapping the schedule in-class exam.

Students who need additional time for CSCI 255 labs should register for the first lab period and plan on attending the two successive lab periods.

Email communications

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.

Email sent to me, even if it does not involve the use of state-maintained computers, may be subject to the North Carolina Public Records Law and, as such, may be disclosed to third parties.

For more information and help

I have office hours from 3:15 to 4:15 PM on Tuesday and Thursday. The best way to get in touch with me quickly is to send email to brock@unca.edu.

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