Beruflich Dokumente
Kultur Dokumente
net/publication/30870907
CITATIONS READS
7 6,320
1 author:
Ellis Horowitz
University of Southern California
102 PUBLICATIONS 6,183 CITATIONS
SEE PROFILE
All content following this page was uploaded by Ellis Horowitz on 30 May 2014.
• Who am I?
Fundamentals of • About you?
Programming Languages – What do you want to get out of this class?
Evan Chang
Meeting 1: Welcome
Administrivia Today
1
New and Better Compilers? A Dismal View of PL Research
C++
Java
7 8
Goal 1
12
2
No Useless Memorization Goal 2
15 16
17 18
3
Language Paradigms Language Paradigms
19 20
What are good language features? What are good language features?
• Readability
• Safety
23 24
4
Designing good languages is hard Story: The Clash of Two Features
27
• Works just as you might expect 28
5
Story: Java Bytecode Subroutines Recall Goal 2
33 34
Prerequisites
• “Programming experience”
– exposure to various language constructs and their
meaning (e.g., CSCI 3155)
– ideal: undergraduate compilers (e.g., CSCI 4555)
Requirements
• “Mathematical maturity”
– we’ll use formal notation to describe the meaning of
programs
6
Assignments Reading and Participation
• May be less than a blog post but more than a • Homework/Problem Sets
tweet. – You have one week to do each one
• Some examples: – First half of the semester only
– Questions
– Some material will be “mathy”
– Thoughtful answers
– Clarification of some point
– Collaborate with peers (but acknowledge!)
– What you think is the main point in the reading set.
– An idea of how some work could be improved • Take-Home Midterm Exam
– Comments on a related web resource related
– Like a longer homework
• Intent: take a moment to reflect on the day’s
reading/discussion (not to go scour the web)
39 40
Final Project
• Options:
– Research project
– Literature survey
– Implementation project
Course Summary
• Write a ~5-8 page paper (conference-like)
• Give a ~15-20 minute presentation
• On a topic of your choice
– Ideal: integrate PL with your research
• Pair projects (indiv/3-person possible)
41
7
Course At-A-Glance Core Topics
45 46
47