The Computing Technology Inside Your Smartphone
Offered By: Cornell University via edX
Course Description
Overview
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.
Syllabus
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
Taught by
Dave Albonesi
Tags
Related Courses
Creative, Serious and Playful Science of Android AppsUniversity of Illinois at Urbana-Champaign via Coursera Creative Programming for Digital Media & Mobile Apps
University of London International Programmes via Coursera Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
Vanderbilt University via Coursera Introduction aux réseaux cellulaires
Institut Mines-Télécom via Independent Mobile Web Development
Google via Udacity