Outline of the software and hardware interface Course

Source: Internet
Author: User
Outline of the software and hardware interface Course

Coursera course the hardware/software interface is a course provided by the University of Washington. I think it is very useful for students who want to learn programming. The teaching environment is fedora, which introduces the use of some common tools.

Course outline
  • This course will let students know what happened when the software was running and explain the problem through several layers of abstraction such as the hardware architecture layer, assembly layer, C layer, and Java layer. -
  • The core of this course is about C, assembly, and underlying data representation, but at the same time with the higher level (Java implementation mechanism), the lower level (General Processor Architecture), operating system (unrelated to the implementation of the operating system.
  • For students who want to focus on high-level abstraction, this course may be the C language they have learned and the only course at a lower level. However, most of them can learn system programming, hardware design and implementation, operating systems, compilers, and other knowledge at the same time.
  • For students interested in hardware, embedded systems, computer engineering, and computer architecture, this course is an entry-level course, and the subsequent courses will be more in-depth in specific fields, we will also focus on lower-layer hardware implementation and circuit design.
Course subject

This course has three main themes.

  1. Indicates how different data types, such as integer and struct arrays, exist in the memory? How to encode commands? How do I generate a memory address and use it to create a complex data structure?
  2. Translation: how to convert high-level languages such as C and Java into basic commands of hardware processors?
  3. Control Flow: How does a computer block the order of computing, how does it track the current running track of large programs, and how does one execute multiple processes in parallel?
Course objectives

After the course ends, students should be able

  1. Understand the process of converting a high-level program into a command stream that can be executed by the processor
  2. Know what pointers are and how to use pointers to manipulate complex data structures
  3. Ability to write short programs in x86 assembly language and understand how assembly languages and high-level languages are mapped
  4. Understand the basic organization and parameters of Hierarchical Storage and its importance to system performance
  5. Able to clearly explain the functions of the Operating System
  6. Understand the essential differences between Java and C
  7. Understanding the parallel mechanism and its importance in the system level
  8. Become a more efficient programmer, more effective debug, more sensitive to system performance
Course topics

Topics about every Monday, including

  • Number representation
  • Assembly Language
  • C language basics
  • Memory Management
  • Operating System Process Model
  • High-level machine architecture
  • Hierarchical Storage
  • Implementation of high-level languages

  
  

For more information, see focustc. The blog address is http://blog.csdn.net/caozhk.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.