diff --git a/index.md b/index.md index ed1a951..d0b876d 100644 --- a/index.md +++ b/index.md @@ -20,9 +20,11 @@ permalink: / * Understanding of the operation of a moderately complex digital system; a simple RISC-based computer we called the $$\beta$$ using the building blocks above, and ability to specify, implement and **debug** its components. * Exploration of both **hardware** and **software** mechanisms through a series of design examples (labs and 1D/2DC projects) -According to the IEEE/ACM Computer Curricula 2001, prepared by the Joint Task Force on Computing Curricula of the IEEE (Institute of Electrical and Electronics Engineers) Computer Society and ACM (Association for Computing Machinery): +According to the [IEEE/ACM Computer Curriculum 2008](https://www.acm.org/binaries/content/assets/education/curricula-recommendations/computerscience2008.pdf), prepared by the Joint Task Force on Computing Curricula of the IEEE (Institute of Electrical and Electronics Engineers) Computer Society and ACM (Association for Computing Machinery): -> *The computer lies at the heart of computing. Without it most of the computing disciplines today would be a branch of theoretical mathematics. To be a professional in any field of computing today, one should not regard the computer as just a black box that executes programs by magic. All students of computing should acquire some understanding and appreciation of a computer system’s functional components, their characteristics, their performance, and their interactions.There are practical implications as well. Students need to understand computer architecture in order to structure a program so that it runs more efficiently on a real machine. In selecting a system to use, they should be able to understand the tradeoff among various components, such as CPU clock speed vs. memory size.* +> ***The computer lies at the heart of computing**. Without it most of the computing disciplines today would be a branch of theoretical mathematics. To be a **professional** in any field of computing today, one should not regard the computer **as just a black box** that executes programs by magic. All students of computing **should acquire some understanding** and appreciation of a computer system’s functional components, their characteristics, their performance, and their interactions.There are practical implications as well. Students need to understand computer architecture in order to structure a program so that it runs more **efficiently** on a real machine. In selecting a system to use, they should be able to understand the tradeoff among various components, such as CPU clock speed vs. memory size.* +> +> *The term **architecture** is taken to include instruction set architecture (the programmer’s abstraction of a computer), organization or microarchitecture (the internal implementation of a computer at the register and functional unit level), and system architecture (the organization of the computer at the cache and bus level). Students should also understand the **complex trade-offs** between CPU clock speed, cache size, bus organization, number of core proces- sors, and so on. Computer architecture also underpins other areas of the computing curriculum such as operating systems (input/ output, memory technology) and high-level languages (pointers, parameter passing).* By the end of this course, you're expected to: