Computer Organization and Assembly Language Programming

100% ONLINE

SELF-PACED

NO COST

Summary

Computer scientists should understand Program Execution, Assembly Language, Procedures in Assembly, CPU Design Choices, Data Representation for understanding how each instruction is executed at the micro level. Learning assembly gives computer scientist an intuitive sense of how high-level code will be transformed.

Duration: 3 hours

Location: Online

Modality: Self-paced

This Course is not for Academic Credit

What you'll learn:

Specific topics covered include:

  • Program Execution
  • Performance
  • Data Representation
  • Instructions
  • Assembly Programing
  • Procedures in Assembly
  • CPU Design Choices
  • Memory
  • Multiprocessing

Module and Content:

This certificate follows a Mastery-Based Learning model. In this model, we first assess your existing knowledge through an ungraded pre-test. The results of the pre-test generate a report that measures your ability in the different learning objectives of the course. After reviewing this report, you will create a self-directed course plan that allows you to focus on course materials that strengthen the learning objectives that you have not yet achieved. After reviewing the course materials for these objectives, you will have the opportunity to take ungraded knowledge check quizzes, to make sure you have achieved the learning objectives. Once you have mastered all of the course learning objectives, you will be prepared to take the final exam.

Learning Objectives:

By the end of this short certificate, students at a broad level will be able to:

  • Explain how programs written in high-level languages are executed by a computer system.
  • Explain what hardware factors impact program performance and how to write programs for performance
  • Explain data representation, instruction sets, and addressing modes.
  • Write assembly language programs employing flow control constructs and procedures.
  • Explain techniques used by computer hardware designers to improve performance.
  • Explain how a data path can be implemented as a single-cycle or pipelined design.
  • Explain how the memory hierarchy impacts performance. 8) Explain the reasons for the ongoing transition to multiprocessor architectures.

Who is this certificate designed for:

Computer Science students or people related to the area. Familiarity with: – Basic C/C++ or Java Programming – Digital Logic Concepts (Signals, Boolean logic, memory, etc)

What you'll receive:

Upon finishing this certificate, students will receive an online certificate of completion.

Meet the instructors:

Ryan-Meut.png

Ryan Meuth

Lecturer, CIDSE

In 2013, Ryan Meuth joined Arizona State University in the School of Computing, Informatics, and Decision System Engineering as a lecturer, focusing on Freshman engineering and the first year experience. Since then, he has additionally become the course coordinator for the CSE Capstone Program, ASU101-CSE, and FSE100-CSE. Meuth teaches FSE100-CSE, CSE Capstone, and a variety of CSE program courses focusing on embedded systems. Meuth was awarded the Top 5% Teaching Award in 2014, 2015 and 2016, as well as the Spirit of EPICS award in Spring 2015. Meuth’s research interests are focused on the computer science classroom experience, and how that can be improved for all students.

Miller.png

Phillip Miller

Lecturer, CIDSE

Phill Miller joined the School of Computing, Informatics, and Decision Systems Engineering at Arizona State University in 2014 after teaching computer science and software engineering courses for 14 years at the University of Advancing Technology in Tempe, AZ.