The objective is to provide a strong foundation that a serious student can build on in later courses across the spectrum of computer science and engineering. The idea is that a more complete understanding of the fundamentals will help a student acquire a deeper understanding of more advanced topics, whether that topic is in computer architecture, operating systems, data base, networks, algorithm design, software engineering, or whatever. The approach is "motivated" bottom-up. That is, after providing some overview of why a new concept is important, we attempt to tie that new concept to what the student already understands. Starting with the transistor as a switch, we build logic gates, then more complex logic structures, then gated latches, culminating in an implementation of memory. From there, we study the computer’s instruction cycle, and then a particular computer, the LC-3 (for Little Computer 3). The first programming assignment is in the machine language of the LC-3. From there, we move up to Assembly Language, and learn how an assembler works. The remaining programming assignments are in LC-3 Assembly Language. An LC-3 Simulator allows the student to debug his/her own programs. Input (via the keyboard) and output (via the monitor) both use the physical device registers. System service routines, written in LC-3 Assembly Language, are used to perform I/O functions. They are invoked by user programs by the TRAP instruction and corresponding trap vector. Subroutine calls and returns complete the LC-3 instruction set.
计算机工程（Computer Engineering）是一个以电机工程学和计算机科学的部分交叉领域为内容的工程学，其主要任务是设计及实现计算机系统。简言之，计算机工程学就是研究计算机如何运作并且做到更快捷更精准。其主要包括两方面：计算机软件与硬件工程。 计算机工程学学生通过学习数学、物理、计算机科学相关课程，分析设计和研发计算机软件与硬件（计算机芯片、电路板、调制调节器和打印机）。