Teaching Programming Language Design and Implementation: Perspective From Two Roles Dan Grossman PLDI Panel 2011.

Slides:



Advertisements
Similar presentations
Implementing the Tech Standards Presenter: Eric Curts eTech|OHIO Tech Conference 2006.
Advertisements

CS 142 (b) – Compiler Construction Project Harry Xu Assistant Professor of Computer Science.
CONFERENCE EVALUATION JUNE 23, Respondents’ distribution Stakeholder groupNumber of responses Community member7 Practitioner or service provider21.
Automatic Memory Management Noam Rinetzky Schreiber 123A /seminar/seminar1415a.html.
Prof. Necula CS 164 Lecture 141 Run-time Environments Lecture 8.
2013 Evaluation Comments. What would you say to a person who is thinking about signing up for this conference next year? “Incredibly relevant, necessary,
Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
April 29, 2014 Gail A. Epps, Ed. D. Program Manager.
Stacks and HeapsCS-3013 A-term A Short Digression on Stacks and Heaps CS-3013 Operating Systems A-term 2008 (Slides include materials from Modern.
Advanced Compilers CSE 231 Instructor: Sorin Lerner.
CSCD 555 Research Methods for Computer Science
Advanced Compilers CSE 231 Instructor: Sorin Lerner.
The LON-CAPA Resource Sharing Network Gerd Kortemeyer Michigan State University.
Family and Community Support Family and Community Supports Workshop.
School’s Cool in Childcare Settings
Mixed-level English classrooms What my paper is about: Basically my paper is about confirming with my research that the use of technology in the classroom.
How to use SAS to develop lesson plans for next year
School’s Cool in Kindergarten for the Kindergarten Teacher School’s Cool Makes a Difference!
NCGE Workshop: Training Teachers for Success in Single-Gender Classrooms February 2012 Patty Carver, Online School for Girls & The Holton-Arms School Cathy.
Why Johnny and Jenny Can’t Program in C (But We Could) Dr. Eric Freudenthal Brian A. Carter October 2, 2008.
Designing in and designing out: strategies for deterring student plagiarism through course and task design Jude Carroll, Oxford Brookes University 22 April.
CSE332: Data Abstractions Lecture 26: Course Victory Lap Dan Grossman Spring 2012.
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
Webinar 8: Engaging Your Colleagues. Summary of Last Week’s Call Updated you on the webinar specifically for surgeons. Checked in with participants. Reviewed.
CEBP Learning Institute Fall 2009 Evaluation Report A collaborative Partnership between Indiana Department of Corrections & Indiana University November.
Learning Challenge Online versus Classroom I hear, and I forget. I see, and I remember. I do, and I understand. -- Chinese Proverb.
Scholarship Applications: Academic & Life Preparation.
A Quick Guide to beginning Research Where to Start.
WELCOME TO UNIT 1. Tonight’s Agenda Tonight I am going to review the following topics with you: The syllabus, the expectations for the course, we will.
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
Lunch & Learn – PMO April 2014 Summary April 1 st April – 30 th June 2014.
Lect 13W 1 Test 3 is a bit different: "Open" one page of notes, plus a dictionary; otherwise, closed book. Analyze & evaluate a written speech. Work as.
Lisa Tregenza Master of Education (MMRE). My day job……...
SINC LS1 Evaluation Results. Learn Session 1 Learning Session 1 5. What worked best for our team during this Learning Session # 1 was : being able.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 3: Levels of Abstraction
PHYSICS 2326 (Fall, 2015) University Physics II
Lecture 5 Page 1 CS 111 Online Processes CS 111 On-Line MS Program Operating Systems Peter Reiher.
EMBEDDING INTERACTION IN THE ONLINE CLASSROOM Dr. Dana K. Whippo National Economics Teaching Association November 2015.
Meetup/Discussion VLA Annual Conference Richmond, VA October 23, 2015 “Shall we march without our neighbours I trust not”: Defining the Roles and Goals.
CSE Undergraduate Curriculum: Where we are / Where we might go Dan Grossman Assistant Professor, 2003-present Curriculum Revision Co-Chair, 2009.
The Process From bare bones to finished product. The Steps Programming Debugging Performance Tuning Optimization.
GHC 2014 Leadership Lori Pollock, University of Delaware Kathryn S McKinley, Microsoft Research.
Accreditation! The responsive curriculum game is made available through JISC under the terms of the Creative Commons BY-NC-SA Attribution-NonCommercial-ShareAlike.
PBL Rody Boonchouy PBL National Faculty. P P B B L L.
Grade 4 Zinck PowerPoint overview of Grade Four Overview of class website Question and Answer Tonight ’ s Tasks…
Tuesday June 29 th & Thursday July 1 st Collect Formal Lesson Plans (and share please) Final Essay Exam Discussion Teacher Evaluations – We’ll do at Thursday’s.
What is Action Research? Action research is a process in which participants examine their own educational practice systematically and carefully, using.
Introduction to Competition & Consumer Law Open Universities Australia / Graduate School of Business & Law Juris Doctor (JD) LAW1033/LAW2419/OJD340 Competition.
Welcome! Simone Campanoni
Presented By: Trevor Murphy Kellie Mahon Eddie Meaney
Summary, Conclusions, and Recommendations.  Membership Levels, 2012 – 2016 to Date 2.
Programming Languages Dan Grossman 2013
Cu coventry Course rep training
CSE 374 Programming Concepts & Tools
CMPUT Compiler Design and Optimization
Simone Campanoni Welcome! Simone Campanoni
Advanced Compilers CMPSCI 710 Spring 2003 Lecture 1
The CS Undergrad Curriculum of 2017: My Biased View from Academia
Introduction to Computer Systems Engineering
11/16/2018 The PL Part of CS2013 Dan Grossman Department of Computer Science & Engineering University of Washington SPLASH-E October 28, 2013.
Rice COMP Alum Spends 14 Years and Counting Posing as a PL Professor
Programming Languages
School’s Cool Makes a Difference!
Teaching Accessibility: Three Case Studies
Carla Vecchiola ICED, June 6th, 2018
Teaching Accessibility: Three Case Studies
Programming Languages
Optimizing Compilers CISC 673 Spring 2009 Course Overview
Presentation transcript:

Teaching Programming Language Design and Implementation: Perspective From Two Roles Dan Grossman PLDI Panel 2011

My roles today June 8, 20112Dan Grossman: Teaching PLDI UW Faculty PL Person ACM/IEEE standard SIGPLAN Board My opinions Push and provoke Can’t do harm Distill shared wisdom Support diverse approaches Convince non-PLDI crowd

ACM Curriculum 2013: cs2013.org 1st major revision of ACM/IEEE CS Curriculum since 2001 –3-year process –Large-if-indirect impact on new programs, curriculum revisions, textbook authors, etc. –Outline of topics and learning outcomes –Material labeled “core” or “elective” Pretty big deal – comment publicly or put up with the result June 8, 20113Dan Grossman: Teaching PLDI FCRC-wide information session 6:00-7:00PM tonight! Room C2/C3 Please attend! Learn about the overall effort Share PLDI perspective

ACM The PLDI piece I’m on the steering committee and head the PL subcommittee –All of PL, compilers, and more –2001 is an, uhm, problematic starting point –With SIGPLAN Education Board help, have a working draft* –1st public draft in a few months, so now is the time to help! June 8, 20114Dan Grossman: Teaching PLDI Looking for a few compilers pedagogues to help with 1-2 pages of outline and learning outcomes This is real work Contact me * More on this after my purple-hat bit

ACM SIGPLAN I currently chair the SIGPLAN Education Board –Created April 2009 –Broad goals for improving PL education and represent SIGPLAN community –Currently focused on Curriculum 2013 –Compilers experts currently under-represented Blog/RSS: –Great place to hear about 2013 feedback opportunities Enough with announcements, how about some content… June 8, 20115Dan Grossman: Teaching PLDI

Faculty Compilers for all? Should every CS undergraduate take a compilers course? June 8, 20116Dan Grossman: Teaching PLDI

Faculty Compilers for all? Should every CS undergraduate take a compilers course? June 8, 20117Dan Grossman: Teaching PLDI Dear Choir, Yes. Amen.

Faculty Compilers for all? Should every CS undergraduate take a compilers course? June 8, 20118Dan Grossman: Teaching PLDI Honest answer: No. Maybe 75% should and 40% will.

Growing field As the field grows, the courses a student takes does not In 1996, I took compilers as part of a full curriculum Since then, what about growth in: security, networking, web programming, machine learning, parallel programming, human-computer interaction, embedded systems, massive data, … Have to support undergraduates specializing and double-majoring –While justifying compilers as an important, vibrant area (Our colleagues don’t think so!) June 8, 20119Dan Grossman: Teaching PLDI Faculty

My advice Don’t: –Spend all your political capital making/keeping compilers required Do: –Make compilers a more engaging, modern, relevant course by changing 15% of it –Help develop 2-3 weeks of core material for a required lower-level course June 8, Dan Grossman: Teaching PLDI Faculty

Compiler-course ideas 1.More on modern run-time systems –Dynamic loading & recompilation, memory management, … 2.Static analysis for more than optimization –> 10 years of research papers and real-world tools rarely mentioned in curriculum 3.“Threads cannot be implemented as a library” Not suggesting huge course changes –But 1-2 weeks connecting topics to modern challenges is worth dropping something else June 8, Dan Grossman: Teaching PLDI Faculty

What everyone should know Compilers: automatic meaning-preserving translation to lower levels of abstraction Every student should have a sense of how to do it manually –YFHLL  C  assembly  binary Example topics: –Low-level data representation (objects, arrays, …) –Call stacks –References as machine addresses –Rudiments of garbage collection “Java and C are not magic” June 8, Dan Grossman: Teaching PLDI

Faculty ACM Standard elective material Each “Knowledge Unit” has a topic list (omitted for space & time) SyntaxAnalysis CompilerSemanticAnalysis CodeGeneration [really the whole back-end] RunTimeSystems DataflowAnalysis [really the whole middle-end & other uses] [Plus other Knowledge Units more about “PL” than “compilers”] June 8, Dan Grossman: Teaching PLDI

Faculty ACM Standard core material ProgramRepresentation [1 hour] –“Code is data” –Programs that process other programs –Abstract syntax trees LanguageTranslationAndExecution [2-3 hours] –Interpretation / Compilation / Portable IRs –Standard static pipeline –Run-time data representation and memory layout –Role of memory manager [Plus other Knowledge Units more about “PL” and “programming”] June 8, Dan Grossman: Teaching PLDI

June 8, Dan Grossman: Teaching PLDI ACM/IEE CS Curriculum Information session tonight, 6-7PM Room C2/C3