The Hardware/Software Interface

Product type

The Hardware/Software Interface

Coursera (CC)
Logo Coursera (CC)
Provider rating: starstarstarstar_halfstar_border 7.2 Coursera (CC) has an average rating of 7.2 (out of 6 reviews)

Need more information? Get more details on the site of the provider.

Description

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

Examines key computational abstraction levels below modern high-level languages.

About the Course

This course examines key computational abstraction levels below modern high-level languages; number representation, assembly language, introduction to C, memory management, the operating-system process model, high-level machine architecture including the memory hierarchy, and how high-level languages are implemented. We will develop students’ sense of “what really happens” when software runs — and that this question can be answered at several levels of abstraction, including the hardware architecture level, the assembly level, the C programming level and the Java programming level. The core aro…

Read the complete description

Frequently asked questions

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

Examines key computational abstraction levels below modern high-level languages.

About the Course

This course examines key computational abstraction levels below modern high-level languages; number representation, assembly language, introduction to C, memory management, the operating-system process model, high-level machine architecture including the memory hierarchy, and how high-level languages are implemented. We will develop students’ sense of “what really happens” when software runs — and that this question can be answered at several levels of abstraction, including the hardware architecture level, the assembly level, the C programming level and the Java programming level. The core around which the course is built is C, assembly, and low-level data representation, but this is connected to higher levels (roughly how basic Java could be implemented), lower levels (the general structure of a processor and the memory hierarchy), and the role of the operating system (but not how the operating system is implemented).

About the Instructor(s)

Gaetano Borriello is Jerre D. Noe Professor of Computer Science & Engineering at the University of Washington with adjunct appointments in Electrical Engineering, Human Centered Design & Engineering, and the Information School. His PhD is in Computer Science from the University of California at Berkeley. He has received the UW Distinguished Teaching Award and is a Fellow of both the ACM and IEEE. He is also a Fulbright Scholar and a UC Berkeley CS Division Distinguished Alumni. Gaetano Borriello’s career started in the areas of integrated circuits for networking, automatic synthesis of digital circuits, reconfigurable hardware and embedded systems development tools. Borriello served as principal investigator for the Portolano Expedition, a DARPA-sponsored investigation on invisible computing. As founding director of Intel Research Seattle, he launched elder care projects (sensor-rich homes and wearable devices) to help the elderly remain home longer and location-aware computing (the PlaceLab project) where he expanded the use of Wi-Fi to enhance indoor location sensing. Currently, he is directing efforts to apply mobile technology to problems in public health in low resource settings. His group’s open-source mobile data collection tools, Open Data Kit, is used by programs in dozens of countries and has thousands of users in applications ranging from public health, to documentation of human rights violations, to environmental monitoring.
Luis Ceze is an Associate Professor in the Computer Science and Engineering Department at the University of Washington. His research focuses on computer architecture, programming languages and OS to improve the programmability, reliability and energy efficiency of multiprocessor systems. He has co-authored over 60 papers in these areas, and had several papers selected as IEEE Micro Top Picks and CACM Research Highlights. He participated in the Blue Gene, Cyclops, and PERCS projects at IBM and is a recipient of several IBM awards. He is also a recipient of an NSF CAREER Award, a Sloan Research Fellowship, a Microsoft Research Faculty Fellowship and is a Kavli Frontiers of Science Fellow. He co-founded Corensic, a UW-CSE spin-off company. He has been elected "teacher of the year" by UW-CSE undergrad students in 2012. He cooks and eats in his free time.

Course Syllabus

Topics:
  • Number representation
  • Assembly language
  • Basics of C
  • Memory management
  • Operating-system process model
  • High-level machine architecture
  • Memory hierarchy and implementation of high-level languages

Provided by:

University: University of Washington

Instructor(s): Gaetano Borriello, Luis Ceze

There are no reviews yet.

Share your review

Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.