ECE 5484 Fundamentals of Computer Systems | ECE | Virginia Tech


Course Information


Fundamental principles and concepts of computer systems. Computer hardware; Boolean logic; number systems and representation; design and operation of digital logic; analysis of instruction set architectures and computer organization; and specification of data communication and networking standards. Master of Information Technology (MIT) students only.

Why take this course?

An understanding of the fundamentals of modern computer hardware, computer systems, data communications, and networking is essential to being able to analyze and design effective information systems. Thus, this body of knowledge is important to any information technology (IT) professional and is considered to be part of the foundation for the Master of Information Technology (MIT) program. The topics of this course provide breadth for IT professionals designing advanced software applications or designing or managing information systems and decision support systems. The topics of the course provide core, fundamental knowledge for IT professionals designing or integrating computer hardware, designing or managing networks, or designing or managing communications systems. MIT students without a background in electrical engineering, computer engineering, or computer science can use this course to grain breadth and a foundation in computer systems.


Graduate standing.

Major Measurable Learning Objectives

  • Derive logical operations using Boolean operators
  • Design and analyze simple combinational and synchronous sequential logic circuits
  • Analyze sequential behavior using timing diagrams and state disgrams
  • Represent numerical and non-numerical data using standard encoding methods
  • Categorize the organization of a computer; including the instruction set architecture, functions of the central processing unit, cache memory, main memory, mass storage, and other input/output devices
  • Specify the principles of operation of von Neumann computer architectures
  • Analyze instruction formats and explain the fetch, decoding, and execution of standard instructions
  • Differentiate computer system hardware, operating system software, and software applications
  • Distinguish the operation of synchronous and asynchronous data communications and synthesize data streams for standard data communication schemes
  • Determine the content of network data packets given packet formats

Course Topics


Percentage of Course

1. Abstractions in computer systems 5%
2. Number representation 5%
3. Representation of non-numeric data 5%
4. Boolean logic 5%
5. Combinational logic design 15%
6. Sequential logic design 10%
7. Instruction set architecture 15%
8. Compilers and assemblers 5%
9. Microarchitecture 10%
10. Memory 5%
11. Busses and input/output devices 5%
12. Data communications, networking, and protocols 15%