The course instructor is Dean Brock. The course lectures will be delivered on Tuesday and Thursday from 4:35 AM to 5:50 AM in Ramsey 011 on the UNC Asheville campus and will be transmitted over the distance education network to sites at North Carolina State University, Craven Community College, Lenoir Community College, and UNC-Wilmington.
CSCI 255 will also have a weekly two-hour lab on most weeks of the semester. We're still working on the details here.
All class handouts, including homework assignments, can be found through the following URL:
CSCI 255 is being taught in conjunction with NCSU ECE 109. Generally, the programming assignments, exams, and schedule of the two courses are the same. However, ECE 109 does not include a formal labs and its homework assignments must be submitted using a automated grading system that is not available to UNCA students.
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.
Students will also need to purchase a subscription to WebAssign to complete the ECE 109 homework assignments.
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.
Grades will be based on points earned from two in-class exams, one final exam, homework, labs, and programming assignments using the weights given in the following table.
Two in-class exams | 32% |
One big exam | 24% |
Homework | 12% |
Programs | 12% |
Labs | 20% |
The following numerical scale will be used in assigning grades based on Score, the weighted score computed using the preceding table.
Score ≥ 92 | A |
Score ≥ 90 & Score < 92 | A- |
Score ≥ 88 & Score < 90 | B+ |
Score ≥ 82 & Score < 88 | B |
Score ≥ 80 & Score < 82 | B- |
Score ≥ 78 & Score < 80 | C+ |
Score ≥ 72 & Score < 78 | C |
Score ≥ 70 & Score < 72 | C- |
Score ≥ 68 & Score < 70 | D+ |
Score ≥ 60 & Score < 68 | D |
Score < 60 | F |
There will no "rounding-up" in computing the final grade. A score of 69.8 is less than 70 and results in a grade of D+.
All exams will be closed book and closed notes. Often, a "reference sheet" will be provided which lists detailed information, such as the LC/3 instruction set or C programming language syntax.
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, you will receive a zero for that exam.
Do not ask for permission to take the final exam early or late because of family travel plans. These requests will not be granted.
There will be frequent homework assignments which will generally be very similar to those give in ECE 109. However, NCSU's WebAssign system will not be used for CSCI 255 homework. (You should be happy about that.)
There will be three or four programming 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 an 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.
Most weeks there will be labs. The topics covered in labs may be very different than those covered in the lectures because the ECE 109 students will not be participating in these labs. There are tentative plans to cover the programming of PIC processors using a "high level" language.
All information that is protected by the federal Family Educational Right to Privacy Act, such as recorded grades or class enrollment will only be sent to your official UNCA email account. This means that I should not send an email to a non-UNCA account that would even reveal the identity of any student attending this course.
The best way to get in touch with me is to send email to brock@cs.unca.edu. If you need to see me, send me email to arrange an appointment.