An introduction to the design and operation of digital computers, including information representation, logic design, integrated circuits, register transfer description, hardware description languages, basic computer organization and assembly-level programming. The relationship between software and hardware is stressed. This course duplicates material in CS2504 and may not be taken for credit towards graduation if CS2504 is also taken.
Why take this course?
This course provides the basic concepts of computer design and operation, both hardware and software, to new computer and electrical engineering students. Students need the background on computer engineering provided by this class before advancing to more complex topics in computer engineering.
Required for all EE and CPE majors
C- or better in 1574
This course assumes that students can develop simple programs in a high level programming language such as C/C++, using basic proggramming concepts such as procedures, arrays, pointers, memory, control flow, and debugging, as taught in 1574. Students must also be able to use a personal computer to execute software development tools.
A grade of C- or better is required in 1574 because the material in that course provides an essential foundation for the material covered in 2504. Students without sufficient mastery of this essential material are at increased risk of failing 2504.
Major Measurable Learning Objectives
Represent and manipulate information in binary form
Design, physically implement, and debug basic combinational and sequential logic circuits
Write structural and data flow models of logic circuits in a hardware description language
Implement designs represented in a register transfer language
Discuss the organization and operation of a basic digital computer
Discuss the execution of machine language computer programs by a basic computer
Write elementary assembly language programs and discuss their translation to machine language programs
Write reports on hardware and software design projects
Percentage of Course
Representation of Information and Computer Arithmetic
Registers, Counters, Adders, Multiplexers
Register Transfer Language, Hardware Description Language