Discussion - ESP
From doing these activities students will
- discuss a language that produces compile-time artifacts in other languages (Spin and C).
In class Announcements - 10 min (9:00 ~ 9:10)
Warm-up activity
Answer the warm-up questions on the blackboards.
- What is the domain of ESP?
- What is a programmable device?
- What are the goals of ESP?
Small group discussion - 35 min (9:10 ~ 9:45)
Randomly select a subset of the following questions to work on. You may not get to all of them.
- What are event-driven state machines and how do they work? Why are they used to program firmware and why are they difficult to represent in general purpose C code?
- What are the advantages and disadvantages of adopting a C-like syntax?
- Describe ESP's type system. How does it contribute to the goals of the language? Is the language type safe ? Why or why not?
- Does ESP have a runtime system? If so, what does it do?
- Does ESP have or could it benefit from ESP-specific libraries? Explain.
- To what extend is ESP a DSL?
- Why does ESP translate a high-level representation of ESP programs into SPIN rather than a lower-level version that arises through the ESP compilation process?
- Why does the ESP compiler perform standard compiler optimizations like dead-code elimination when the resulting C code is going to be passed to a C compiler?
Large group discussion - 25min (9:45 ~ 10:10)
Cool-down activity - 5 min (10:10 ~ 10:15)
All scribes will get together to start their wiki write up to be finished
at latest a week from today.
All managers will make tickets for the course.
This can include the tickets from their group discussions as mentioned above,
a ticket to follow up on the scribe write up, and any other issues they
think will be helpful.
Ambassadors may get together with Matthew and Kathleen to discuss how they think
the day went, how they think the pacing went, what they are looking forward to, any
worries they might have about the class, etc.
Class Dismissed