CS-358 / 8 credits

Teacher: Koch Christoph

Language: English

Withdrawal: It is not allowed to withdraw from this subject after the registration deadline.


Summary

The course aims at teaching the prototyping of intelligent physical artifacts. It aims to solve real-world challenges by a combination of microcontroller programming, electronics, and computer -aided design and manufacturing. Student teams choose their own challeng in consultation with the teachers.

Content

The course will teach students essential skills in designing and prototyping intelligent physical artifacts, including microcontroller (such as Arduino and Raspberry PI) programming, practical electronics, and computer-aided design and manufacturing, using modern prototyping methods such as 3D printing and CNC milling.

 

The course will leverage and refine students' skillsets in computational thinking and in building advanced software artifacts, and aims to open new horizons for them by allowing them to explore new ways of connecting the learning outcomes of other IC courses with the physical world. A substantial emphasis will be put on engineering low-level (microcontroller-based) systems software.

 

The course will be structured into three phases - a first consisting of tutorials and crash courses on essential skill sets such as practical electronics and 3d printing; a second in which students individually build a precisely specified small intelligent thing under close guidance by the teaching staff; and a third - the main project phase - in which teams of students propose, design, and implement their own project.

 

Students will have access to a workshops and digital fabrication technologies such as laser cutters, CNC milling machines, and 3D printers through EPFL's Discovery Learning Labs. We will define a suitable format allowing all student teams to exchange insights and present progress throughout the semester; at the end of the semester there will be a public event to showcase the results of the projects.

Learning Prerequisites

Recommended courses

CS-101 Advanced ICC I; CS-173 Digital System Design

Important concepts to start the course

Basic programming skills.

 

This course is a project course with a limited capacity for 50 students.

Learning Outcomes

By the end of the course, the student must be able to:

  • Apply a design thinking methodology in a project of inventing and prototyping an intelligent thing
  • Design and develop simple microcontroller-based electronic circuits with sensors and actuators
  • Provide constructive feedback on other groups' projects
  • Evaluate how to best integrate computational methods and digital fabrication tools to achieve project goals
  • Assess own project progress and devise adaptations of the project plan if necessary
  • Design a suitable format and material for public presentation of project outcomes
  • Apply a design thinking methodology in a project of inventing and prototyping an intelligent thing
  • Design and develop simple microcontroller-based electronic circuits with sensors and actuators
  • Evaluate how to best integrate computational methods and digital fabrication tools to achieve projects goals
  • Assess / Evaluate own project progress and devise adaptations of the project plan if necessary
  • Prove constructive feedback on other groups' projects
  • Design a suitable format and material for public presentation of project outcomes

Teaching methods

  • (Video) lectures on background technology.
  • Hands-on tutorials on digital fabrication technologies in collaboration with the DLL
  • Tutoring throughout the project.
  • Regular project critiques in a weekly forum - students will be encouraged to give each other feedback in addition to teachers' feedback.

Expected student activities

  • Take an entrepreneurial approach to create and develop a new idea under physical constraints such as the feasibility and cost of fabrication.
  • Coordinate a project team and engage in collaborative problem solving
  • Build basic microcontroller-driven electronic circuits with sensors and actuators.
  • Deal with resource constraints prevalent in microcontroller programming.
  • Program sensors and actuators; implement low-level timed protocols, such as pulse-width modulation.
  • Fabricate and evaluate prototypes using 3d printing and related technologies.
  • Discuss project progress in class
  • Provide constructive criticism and feedback to other groups
  • Present project outcome in a public forum

Assessment methods

20% Individual project grade (phase 2)

60% Team project grade (phase 3)

20% Course Participation / Critiques

Supervision

Office hours Yes
Assistants Yes
Forum Yes
Others COUNSELLING BY DISCOVERY LEARNING LABS STAFF & AFFILIATE COUNSELLORS

Resources

Moodle Link

In the programs

  • Semester: Spring
  • Exam form: During the semester (summer session)
  • Subject examined: Making intelligent things
  • Project: 8 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Spring
  • Exam form: During the semester (summer session)
  • Subject examined: Making intelligent things
  • Project: 8 Hour(s) per week x 14 weeks
  • Type: optional

Reference week

Related courses

Results from graphsearch.epfl.ch.