Manage series 1412931
Player FM과 저희 커뮤니티의 Computer Systems, 5e 콘텐츠는 모두 원 저작자에게 속하며 Player FM이 아닌 작가가 저작권을 갖습니다. 오디오는 해당 서버에서 직접 스트리밍 됩니다. 구독 버튼을 눌러 Player FM에서 업데이트 현황을 확인하세요. 혹은 다른 팟캐스트 앱에서 URL을 불러오세요.
A study of computers as multi-level systems. The machine level—binary representations, instruction sets, von Neumann machines. The assembly level—addressing modes, compiling to the assembly level, language translation principles. The operating system level—loaders, interrupts.
The primary objective of this course is for you to obtain a working knowledge of the lower levels of abstraction of a computer system. In your introductory programming classes, you learned how to program in a high-level language like Python, Java, or C++. These languages are at Level 6, the high-order languages level. In this course you will learn Level 5, the assembly level, and Level 3, the instruction set architecture level, as well as C and Java at Level 6.
Each level of abstraction in a computer system has a language, so learning the lower levels of abstraction is equivalent to learning new languages. The language at Level 5 is assembly language and the language at Level 3 is machine language. Your knowledge will be a working knowledge because you will learn how to program in these languages. Most programming in the industry today is at Level 6 and not at these lower levels. So, why learn these lower level languages? Because an in-depth understanding of how computers work is possible only by considering the design of the levels of abstraction and the relationships between the levels.
The secondary objective of this course is to continue to develop your programming skill at Level 6. Later in the course you will be required to write a large (hundreds of lines of code) programming project in Java using the object-oriented techniques from the Data Structures course.