Original 22

Arduino: Introduction to Hardware Programming

Course Description

In this course, students are introduced to mBlock extensions and hardware programming, to continue building up programming concepts applied to the real world. After familiarizing with Scratch blocks-based programming, and commanding actual physical objects through mBot, this course explores mBlock features which empower students to control the real world with code. 

mBlock is a Scratch-like interface which allows users to add and use their own extensions as 'special blocks'. It includes supports for many cool features and extensions, for example connecting to Arduino to sense and control hardware devices. These extensions expose students to real world applications, through the familiar Scratch interface. 

Through this course, we challenge students with advanced block functionalities and introduce to students more input and output devices. It also provides the opportunity to build and combine their own hardware features, extending their interest in electronics and hardware. 


Course Highlights

Session Breakdown

  • Session 1 - 3 : Introduction to mBlock and Arduino
    • Review fundamental concepts on Scratch
    • Introduce mBlock as an interface, with extensions of additional features that interact with the real world
    • Introduce Arduino as a platform to build electronic projects 
  • Session 4 - 8 : Building and controlling hardware systems
    • Learn how to control and incorporate input and output devices in the mBlock projects
    • Understand different applications of electronics and hardware in the real world
    • Apply various extension blocks to create projects that are interactive and use external data sources
  • Session 9 - 10 : Design Your own Project!
    • Design students' own mBlock and hardware projects in a brainstorming workshop
    • Plan, implement and test mBlock and hardware projects
    • Present the projects to the rest of the class