Write a Blog >>
SPLASH 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
Fri 25 Oct 2019 15:15 - 15:30 at Room 1 - Session 2

We present the ChocoPy programming language. ChocoPy is designed for teaching an undergraduate course on programming languages and compilers. ChocoPy is a restricted subset of Python 3.6, using static type annotations to enforce compile-time type safety. ChocoPy is fully specified using formal grammar, typing rules, and operational semantics. Valid ChocoPy programs can be executed in a standard Python interpreter, producing results consistent with ChocoPy semantics. A major component of CS164 at UC Berkeley is the project: students develop a full compiler for ChocoPy, targeting RISC-V, in about twelve weeks. In other exercises, students extend the syntax, type system, and formal semantics to support additional features of Python. In this paper, we outline (1) the motivations for creating the ChocoPy project, (2) salient features of the language, (3) the resources provided to students to develop their compiler, (4) some insights gained from teaching two semesters of ChocoPy-based courses by different instructors. Our assignment resources are available for re-use by other instructors and institutions.

Fri 25 Oct

Displayed time zone: Beirut change

14:00 - 15:30
Session 2SPLASH-E at Room 1
14:00
30m
Full-paper
Towards Answering "Am I On the Right Track?" Automatically Using Program Synthesis
SPLASH-E
Molly Feldman Cornell University, Yiting Wang Cornell University, William E. Byrd University of Alabama at Birmingham, USA, François Guimbretière Cornell University, Erik Andersen Cornell University
14:30
30m
Full-paper
Evaluating ProDirect Manipulation in Hour of Code
SPLASH-E
Quan Do Williams College, Kiersten Campbell Williams College, Emmie Hine Williams College, Dzung Pham Williams College, Alex Taylor Williams College, Iris Howley Williams College, Dan Barowy Williams College
15:00
15m
Short-paper
Experiences in Bridging from Functional to Object-Oriented Programming
SPLASH-E
Igor Moreno Santos Università della Svizzera italiana, Matthias Hauswirth Università della Svizzera italiana, Nate Nystrom Università della Svizzera italiana
15:15
15m
Short-paper
ChocoPy: A Programming Language for Compilers Courses
SPLASH-E
Rohan Padhye University of California, Berkeley, Koushik Sen University of California, Berkeley, Paul N. Hilfinger University of California, Berkeley
Pre-print