Online Courses and Tutorials

Onlinecourses.tech provides you with the latest online courses information by assisting over 45,000 courses and 1 million students.

Learn programming, marketing, data science and more.

Get started today

Skip to main content

Data Analysis and Interpretation

About This Specialization Learn SAS or Python programming, expand your knowledge of analytical methods and applications, and conduct original research to inform complex decisions. The Data Analysis and Interpretation Specialization takes you from data novice to data expert in just four project-based courses. You will apply basic data science tools, including data management and visualization, modeling, and machine learning using your choice of either SAS or Python, including pandas and Scikit-learn. Throughout the Specialization, you will analyze a research question of your choice and summarize your insights. In the Capstone Project, you will use real data to address an important issue in society, and report your findings in a professional-quality report. You will have the opportunity to work with our industry partners, DRIVENDATA and The Connection. Help DRIVENDATA solve some of the world's biggest social challenges by joining one of their competitions, or help The Connection be…

Fundamentals of Computer Architecture

Fundamentals of Computer Architecture

About this course: This course introduces several topics for the learners about the fundamentals of computer architecture. After completing this course, the students will have the basic knowledge of: • Computer Performance and Benchmarks • Summarizing Performance • Amdahl’s law • Introduction to Embedded Systems Learning Outcome: • After completing this course, the learners will have the tools to evaluated different computer architectures as well as the software executing on them. • The learners of this course will have knowledge about modern microprocessors and the design techniques used to increase their performance. Skills Gained: • Basic skills to evacuate the performance of computer systems

Who is this class for: This course is meant for first year Master students in Electrical Engineering or Computer Science. Note that as a consequence, quiz questions are more like exam questions where you have to construct the answer based on the principles that are taught in the web lectures, rather than to recall the literal text of the teacher.

Created by:   EIT Digital
  • Juha Plosila
    Taught by:    Juha Plosila, Associate Professor
    Information Technology
LevelIntermediate
Language
English
How To PassPass all graded assignments to complete the course.
User Ratings
Average User Rating 4.4See what learners said
Syllabus
WEEK 1
Introduction
This week we first present a definition of computer architecture and the overall objectives of this specialization. Then we will learn how to measure and summarize performance, and about Amdahl's famous law. Finally we will give an introduction to embedded systems.

8 videos2 readings3 readings
  1. Video: Introduction
  2. Video: Performance Measurement
  3. Video: Benchmarks & Summary
  4. Practice Quiz: Fundamentals
  5. Video: Summarizing Performance
  6. Video: CPU Performance Equation
  7. Practice Quiz: Understanding Performance
  8. Video: Amdahl's law
  9. Video: Amdahl's examples and design principles
  10. Reading: Gustafson's Law
  11. Reading: Weak and Strong Scaling
  12. Video: Introduction to Embedded Systems
  13. Practice Quiz: What is an embedded system?
Graded: Fundamentals of Computer Architecture and Introduction to Embedded Systems
WEEK 2
ISA Design and MIPS64
The set of instructions supported by a processor is called its Instruction Set Architecture (ISA). This week we will learn the MIPS64 ISA, which will be used for code examples throughout this specialization. We will also learn some basic code optimizations that reduce the number of instructions.

4 videos1 reading
  1. Video: Highlights of MIPS64 Architecture
  2. Video: Addressing Modes and Instruction Formats
  3. Video: MIPS64 Operations
  4. Reading: MIPS 64 Overview
  5. Video: Basic Code Optimizations
Graded: MIPS64 and Optimizations
WEEK 3
Review of Pipelining
This week we will learn about pipelining, which is a technique that overlaps the execution of several instructions. Pipelining is a key implementation technique to make CPUs fast. Using the canonical 5-stage pipeline for illustration, we will learn about pipelining hurdles called hazards and how they can be solved.

12 videos
  1. Video: Pipelining Principal – Real-World Example
  2. Video: Canonical 5-Stage Pipeline
  3. Video: MIPS Pipeline Features and Pipeline Hazards
  4. Video: Structural Hazards & Data Hazards
  5. Video: Load-Use Data Hazard
  6. Video: Control Hazards
  7. Video: Pipeline Hazards
  8. Video: Deal with Branch Hazard
  9. Video: Scheduling Instructions for Branch Delay Slots
  10. Video: Summary of Module
  11. Video: Exercise
  12. Video: Branch Delay and Pipelining Summary
Graded: Pipelining
WEEK 4
Multicycle Operations and Pipeline Scheduling
This week we extend the canonical 5-stage pipeline with multicycle operations; operations that require multiple cycles to execute. Thereafter we learn how instructions can be scheduled in order to reduce the number of pipeline stalls. 

9 videos
  1. Video: Multicycle Operations
  2. Video: Challenges for Longer Pipelines
  3. Video: MIPS R4K Pipeline
  4. Video: Multicycle Operations
  5. Video: Code Example and Pipeline Assumptions
  6. Video: Scheduling to Reduce Stalls
  7. Video: Loop Unrolling and Summary
  8. Video: Module Summary
  9. Video: Pipeline Scheduling
Graded: Multicycle Operations & Pipeline Scheduling
WEEK 5
Cache Basics
To bridge the gap between processor speed and memory speed, modern processors employ caches. Caches are high-speed memories that contain recently used code and data. This week we will learn the basics of caches (how they are organized, how data is found in the cache, etc.). In addition, we will learn the average memory access time (AMAT) equation as well as 5 basic cache optimizations that aim at reducing the AMAT.

10 videos
  1. Video: Caches and the Principle of Locality
  2. Video: Direct Mapped Cache Organization
  3. Video: Hit or Miss example
  4. Video: Cache Basics
  5. Video: Cache Metrics and Improving AMAT
  6. Video: Basic Optimizations to Improve Miss Rate
  7. Video: Cache Equations for Set-Associative Caches
  8. Video: Reduce Miss Penalty by Multilevel Cache
  9. Video: Give Priority to Read Misses
  10. Video: Cache Optimizations
Graded: Cache
How It Works
Coursework
Coursework
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from Your Peers
Help from Your Peers
Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
Certificates
Certificates
Earn official recognition for your work, and share your success with friends, colleagues, and employers.
Creators
EIT Digital
EIT Digital is a pan-European education and research-based open innovation organization founded on excellence. Its mission is to foster digital technology innovation and entrepreneurial talent for economic growth and quality of life. By linking education, research and business, EIT Digital empowers digital top talents for the future. EIT Digital provides online "blended" Innovation and Entrepreneurship education to raise quality, increase diversity and availability of the top-level content provided by 20 reputable universities of technology around Europe. The universities all together deliver a unique blend of the best of technical excellence and entrepreneurial skills and mindset to digital engineers and entrepreneurs at all stages of their careers. The academic partners support Coursera’s bold vision to enable anyone, anywhere, to transform their lives by accessing the world’s best learning experience. This means that EIT Digital gradually shares parts of its entrepreneurial and academic education programmes to demonstrate its excellence and make it accessible to a much wider audience. EIT Digital’s online education portfolio can be used as part of blended education settings, in both Master and Doctorate programmes, and for professionals as a way to update their knowledge. EIT Digital offers an online programme in 'Internet of Things through Embedded Systems'. Achieving all certificates of the online courses and the specialization provides an opportunity to enroll in the on campus program and get a double degree. These are the courses in the online programme:


Comments

Popular posts from this blog

An Introduction to Interactive Programming in Python (Part 1)

About this course: This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse. In part 1 of this course, we will introduce the basic elements of programming (such as expressions, conditionals, and functions) and then use these elements to create simple interactive applications such as a digital stopwatch. Part 1 of this class will culminate in building a version of the classic arcade game "Pong".
Who is this class for: Recommended Background - A knowledge o…

Introduction to Data Science in Python

About this course: This course will introduce the learner to the basics of the python programming environment, including how to download and install python, expected fundamental python programming techniques, and how to find help with python programming questions. The course will also introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the DataFrame as the central data structure for data analysis. The course will end with a statistics primer, showing how various statistical measures can be applied to pandas DataFrames. By the end of the course, students will be able to take tabular data, clean it,  manipulate it, and run basic inferential statistical analyses. This course should be taken before any of the other Applied Data Science with Python courses: Applied Plotting, Charting & Data Representation in Python, Applied Machine Learning in Python, Applied Text Mining in Python, Applied Social Ne…

Learn to Program and Analyze Data with Python

About This Specialization This Specialization builds on the success of the Python for Everybody course and will introduce fundamental programming concepts including data structures, networked application program interfaces, and databases, using the Python programming language. In the Capstone Project, you’ll use the technologies learned throughout the Specialization to design and create your own applications for data retrieval, processing, and visualization. Created by: 5 courses Follow the suggested order or choose your own. Projects Designed to help you practice and apply the skills you learn. Certificates Highlight your new skills on your resume or LinkedIn. Courses

Archive