CSC 242 Digital Logic, Computer Organization, & Assembly
Fall 2007

Lecture Section 01 - MW   9:00 - 10:40
CIS Room 1006
[Instructor Home] [Syllabus] [Course Calendar] [Resources]

 


Instructor:

Dr. Karl Ricanek, Jr.

This instructor is available by email at ricanekk@uncw.edu, by telephone (962-4261), and during office hours (CI 202042).   Office hours are posted on the instructors home page and located on the door to his office.  In addition, students can arrange to meet with the professor outside of normal office hours by contacting him via email or phone or schedule using Outlook. 


Learning Strategies

You are expected to take an active role in your learning in this course. This includes regular attendance, paying attention in class, reading the textbook, and completing all course requirements. You are encouraged to study with your classmates outside of class. Project assignments usually require a lot more time than expected, so start early and work some every day.
 

Student Resources Required:

Course Information:

Prerequisites: CSC 121 (Introduction to Computer Science) and CSC 133 (Discrete Structures). Fixed-precision binary numbers, binary representation of integers and real numbers, combinational and sequential logic circuits, memory and logic devices, instruction set architecture, CPU design, I/O and communication, cache memory, introduction to a modern instruction set, machine, assembly and mix language programming, procedure call and return, parameter passing, interrupt handling.

Our goal in this class is to build a computer.  Our primitives will be digital gates:  NAND, AND, OR, and NOT. We use these primitives to make flip-flops, registers, multiplexers, encoders, decoders, sequencers and other components of our computer. At the component level, the computer is made to work. First we describe its operations using register-transfer language then build a computer simulator to implement instruction set code. In the process, we will explore many ideas and techniques used in the design of modern hardware and software systems, and discuss major trade-offs and future trends. Throughout this journey, you will gain many cross-section views of the computing field, from the bare bone details of switching circuits to the high level abstraction of object-based software design.

Participation:

Regular class attendance is required. Completion of assignments will entail time spent at a personal computer during class hours and outside of class (see ITSD Student Lab Schedule).

Evaluation:

There will be ~12 lab/homework/quiz assignments. This is mostly a hands-on course, which evolves around implementing a series of hardware and software modules. Each hardware or software development task will be accompanied by an executable solution (illustrating what your chip or program is supposed to do), a detailed design document (proposing how to build it), and a test script (specifying how to test it).

The assignments will be spread out evenly, so there will be no special “crunch” toward the semester’s end. Each lecture will start by reviewing the work that was done thus far, and giving instructions on what has to be done next. The homework assignments can be done in pairs. Labs will be assigned in class and also posted in the course schedule. Assignments are due by the end of the day on the due date and late labs will be penalized 10% each day late. So assignments due Friday and turned in the following Monday would earn at most 70% of the available points. Lab/homework assignments will count a total of 3/5 of your course grade. The hardware projects will be done in a simple Hardware Description Language (HDL) that can be learned in a few hours. The resulting chips (as well as the topmost computer-on-a-chip system) will be tested and simulated on a supplied hardware simulator that can run on your home PC. The software projects can be done in any language of your choice (but if it’s not Java you have to get the instructor’s approval first). Labs must be submitted with the relevant code and required test runs as applicable in a zipped file labeled yourlastnameProjectXX.zip. Turning in the wrong file electronically does not alleviate late penalties. You are responsible for ensuring that the correct file(s) are submitted. Your name must be in the source code for all files with your work (.hdl, .tst, .java, .doc, etc.) Do not add your name to files that you do not modify. Turning in copied work or duplicate files will result in zero grades, as a minimum, for all parties regardless of fault. Share your ideas, not your files. You may discuss labs with each other but you are required to write up your own lab independently.

The final exam will be comprehensive and counts 2/5 of your course grade. The final exam may not be used to replace your lab/homework grade. All quizzes and exams are closed book, no calculators.

    Numeric Score     Letter Grade     Quality Points 
  ====================================================               
     90.0 - 100           A                4.00 
     80.0 - 89.5          B                3.00
     70.0 - 79.5          C                2.00
     60.0 - 69.5          D                1.00
     00.0 - 59.5          F                0.00

Special Needs:

If you have a disability and need reasonable accommodation in this course, you should inform the instructor of this fact in writing within the first week of class or as soon as possible. If you have not already done so, you must register with the Office of Disability Services in Westside Hall (extension 3746) and obtain a copy of your Accommodation Letter. You should then meet with your instructor to make mutually agreeable arrangements based on the recommendations of the Accommodation Letter.

Code of Academic Responsibility and Conduct:

Students are responsible for submitting their own work. Students who cooperate on oral or written examinations or work without authorization share the responsibility for violation of academic principles, and the students are subject to disciplinary action even when one of the students is not enrolled in the course where the violation occurred.