CS 241, Hardware Design (HD)
Key points: CS 241, Hardware Design (HD), reveals the magic of how electronic circuits can carry out programmer instructions, and how that relates to programming in five standard languages. This knowledge has particular relevance in this present time of exceptional change in computer architecture.
We're in the Information Age, made possible by the invention of computer hardware. How can some wires and transistors (like primitive switches) be connected together to create a ``thinking'' machine? This is the central question in Hardware Design, CS 241. We start just above the transistors, showing how to create "gate" circuits that can perform simple logical operations like AND and OR; then we describe how to use those gates to create adders, encoders and decoders, memory, etc.; then we talk about how to use these to design CPUs, which are circuits that can carry out instructions; then we study the languages ``understood'' (carried out) by CPUs. We also briefly discuss computer networks, define many general terms and concepts about computing, and look into on multi-core computing and other new trends in computer design that are changing the very nature of computer software. CS 241 provides useful background in computing notions that come up every day, and serves as a prerequisite for other CS courses as well as being a fine standalone course on its own for people interested in knowing about how computers work, now and in the future.
Prerequisite: CS 121, or permission of instructor. Counts towards a CS major. See Dick Brown for more information.
