• Length:
    10 Weeks
  • Price:

    FREE
    Add a Verified Certificate for $49 USD

  • Institution
  • Subject:
  • Level:
    Introductory
  • Language:
    English
  • Video Transcript:
    English

Prerequisites

High school mathematics background in algebra and number systems

About this course

We use our smartphones to communicate, to organize our lives, to find information, and to entertain ourselves. All of this is possible because a smartphone contains a powerful computer processor, which is the subject of this course. This computer science course starts by moving step-by-step through the fundamental layers of computing technology, from binary numbers to application software, and then covers advanced performance techniques and the details of actual smartphone processors.

Learn about:

  • Digital logic
  • Computer organization
  • Instruction sets
  • Application Software
  • Advanced performance techniques
  • Actual smartphone processors

This Course also provides students with the technical knowledge and the Jade design tool experience to succeed in the more advanced MITx 6.004 MOOC - Computation Structures course sequence.

What you'll learn

  • Describe how a smartphone processor works
  • Explain computer system design from binary information to programming
  • Design a small working computer
  • Describe common techniques used to make computers fast

Week 1: Introduction and Digital Logic

  • Overview
  • Inside Smartphone
  • Big Ideas
  • Numbers

Week 2: Digital Logic (cont'd)

  • Operations
  • Transistors and Gates

Week 3: Digital Logic (cont'd)

  • Muxes and Decoders
  • Adders

Week 4: Digital Logic (cont'd)

  • Storage
  • Finite State Machines

Week 5: Computer Organization

  • Stored Program Computer
  • LC-3 Instructions
  • LC-3

Week 6: Computer Organization (cont'd)

  • Instructional Set Architecture
  • ISA 2

Week 7: Computer Organization (cont'd)

  • ARM ISA
  • LC-3 Control

Week 8: Programming

  • Programming to Solve Problems
  • Assembly Language
  • Input/Output (I/O)
  • C Programming

Week 9: Performance

  • Pipelining
  • Hazards
  • Instruction Level Parallelism
  • Thread Level Parallelism
  • Data Level Parallelism

Week 10: Performance (cont'd)

  • Caches
  • Multicore
  • Permanent Storage
  • Snapdragon
  • Conclusion

Meet your instructors

Dave Albonesi
Professor, Electrical and Computer Engineering
Cornell University

Pursue a Verified Certificate to highlight the knowledge and skills you gain $49.00

View a PDF of a sample edX certificate
  • Official and Verified

    Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects

  • Easily Shareable

    Add the certificate to your CV or resume, or post it directly on LinkedIn

  • Proven Motivator

    Give yourself an additional incentive to complete the course

  • Support our Mission

    EdX, a non-profit, relies on verified certificates to help fund free education for everyone globally