Learn the fundamentals of how computers and programming work by exploring the building-blocks of digital technology. From the logic of code to computational thinking, you’ll use simple “maker” projects and system design to learn through tinkering and exploration. You’ll also study the history of computing to discover the forces that have defined it both professionally and culturally.
Course Learning Outcomes
Upon the successful completion of this course, you will be able to:
- Explain foundational concepts of computational thinking such as logic, decomposition, pattern recognition, abstraction, algorithmic thinking, and evaluation.
- Describe historical computing paradigms, including electrical, symbolic, textual, graphical, and embodied.
- Assemble an Arduino microprocessor, articulate the roles of its input and output components, and program these functions using the Arduino C language.
- Analyze and reverse-engineer a tangible computing project, documenting its basic system functions and logic.
- Conceptualize and design a tangible computing system and model its primary use-case and systems functions with a flowchart and 2D or 3D model.
- Reflect on the impacts of computing history and consider your social values in relation to the potential for new computing paradigms.