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 Science
计算机科学(computer science,缩写CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域:有些强调特定结果的计算,比如计算机图形学;有些是探讨计算问题的性质,比如计算复杂性理论;还有一些领域专注于怎样实现计算,比如编程语言理论。
Computer Engineering
计算机工程(Computer Engineering)是一个以电机工程学和计算机科学的部分交叉领域为内容的工程学,其主要任务是设计及实现计算机系统。简言之,计算机工程学就是研究计算机如何运作并且做到更快捷更精准。其主要包括两方面:计算机软件与硬件工程。 计算机工程学学生通过学习数学、物理、计算机科学相关课程,分析设计和研发计算机软件与硬件(计算机芯片、电路板、调制调节器和打印机)。