Joint Syllabus: ECE 109 (Sections 602 and 603) & CSCI 255


The course instructor CSCI 255 and ECE 109 is Dean Brock. The course lectures will be delivered on Tuesday and Thursday from 4:30 AM to 5:45 AM in Ramsey 011 on the UNC Asheville campus and will be transmitted over the distance education network to sites to Lenoir Community College. Because the number of students enrolled in Asheville exceeds the capacity of Ramsey 011, Robinson 312 will be used as an on-campus overflow receive site for lectures.

Lectures will be archived so that can be viewed after class. However, the expectation is that students do attend lectures.

Two courses and one lecture

UNCA CSCI 255 and NCSU ECE 109 have used the same textbook and covered similar topics for years, so we're trying to offer the course in one joint lecture section. However, there are two ways in which the ECE 109 and CSCI 255 differ. First, ECE 109 must use NCSU's WebAssign system to submit homework. Second, CSCI 255 is a four-credit hour course which includes a formal lab. This term that lab will be run independently of the lectures. Next year, the lab content will probably be split into a separate course.

Class home page

All class handouts, including homework assignments, can be found through the following URLs (which ultimately all point to each other):


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). This textbook will also be used in ECE 209.

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.

Four equally-weighted 75-minute exams will be given during the semester. Due to the difficulties of scheduling common exam time within the final exam periods of NCSU and UNC-A, the fourth exam will be cumulative and will occur on the morning of Monday, 4 May.

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.


All sections of NCSU ECE 109 complete the same homework assignments. There will be about one homework assignment a week. Homeworks will be submitted and graded through NCSU's WebAssign. ECE 109 students must purchase a WebAssign access code (at a cost $14.95 per semester) to complete the homework assignments.

UNCA CSCI 255 students will complete similar homeworks that will usually be turned in at class. Should there be a significant difference between the homework averages of UNCA CSCI 255 and NCSU ECE 109, adjustments will be made.


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. All students will be given access to this site. Sometimes "problem sessions" will be scheduled for Tuesday from 12:50 to 1:40 is discuss a specific assignment. Like lectures, these sessions will be archived on-line.

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. Not all the CSCI 255 lab grade will be determined by work completed during the lab. There will also be "outside" programming assignments and in-lab tests.

Weighting of grade components

Because CSCI 255 includes a lab, different weightings are used for CSCI 255 and ECE 109. However, the relation between the two are simple. One-fourth of the CSCI 255 grade comes from the lab and the weights for the exams, homework, and assignment are reduced by three-fourths.

Grade component Weights
ECE 109 CSCI 255
Four exams 2/3 1/2
Assignments 2/9 1/6
Homework 1/9 1/12
"Lab"   1/4


The following numerical scale (common to all NCSU ECE 109 sections) will be used in assigning grades based on Score, the weighted score computed using the preceding table.

Score ≥ 97A+
Score ≥ 92 & Score < 97A
Score ≥ 90 & Score < 92A-
Score ≥ 87 & Score < 90B+
Score ≥ 82 & Score < 87B
Score ≥ 80 & Score < 82B-
Score ≥ 77 & Score < 80C+
Score ≥ 72 & Score < 77C
Score ≥ 69 & Score < 72C-
Score ≥ 65 & Score < 69D+
Score ≥ 60 & Score < 65D
Score ≥ 57 & Score < 60D-
Score < 57F

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

Email Communication

Academic administrators at both UNC-A and NCSU 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.