Recommended course: CmpSc 122: Intermediate Programming Obje…

Recommended course: CmpSc 122: Intermediate Programming Object-oriented programming, recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), the basics of algorithmic analysis, and an introduction to the principles of language translation. This class is not required, but will help you in this course.

Prerequisite course: CmpEn 270 or 271: Digital Design Introd…

Prerequisite course: CmpEn 270 or 271: Digital Design Introduction to digital systems and their design. Topics include combinational and sequential devices and circuits, modern design tools and design practices. It lays the groundwork for many later courses in computer organization and architecture and switching theory. The course introduces the theoretical foundation for digital systems including number systems, a variety of commonly used codes and Boolean algebra. Combinational devices, logic gates, and sequential devices, latches and flip-flops are introduced along with design techniques, methods and tools. Higher level design elements are also examined such as decoders, multiplexers, counters, and registers, and their use in system design.