Programming Languages Peer Instruction Materials

Topics Coverage Summary: This course focuses on three different paradigms – functional, object-oriented and logic programming, as embodied in OCaml, Scala and Prolog.

Number of Questions/Slides Available: 18 lectures of slides with about 5 PI questions each (lectures also include standard explanatory slides).

Materials Author: Ranjit Jhala, UCSD


Sample Peer Instruction Questions (click to enlarge):


Creative Commons License
Programming Languages Peer Instruction Lecture Slides and Questions by Ranjit Jhala is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at http://www.peerinstruction4cs.org/2012/02/19/programming-languages/.
Permissions beyond the scope of this license may be available at http://www.peerinstruction4cs.org/2012/02/19/programming-languages/.


Download zip file here: cse130-sp12

Explanation of zip contents are in the included README, or read below:


The following is the list of lectures and associated files.

.key     : Require Keynote to read, can be easily converted to PPT if needed.

.html    : Readable in any browser

.markdown: Simple text format from which .html is generated using pandoc

You can install pandoc on a Linux machine by:

$ sudo apt-get install pandoc

on a Linux machine.

The PI questions are basically those slides with an (A), (B), (C), (D) or (1), (2), (3) …

There is no “solution key” unfortunately (though some of the slides contain
some explanations.)

Lecture 1
lec1-intro.key

Lecture 2
lec2-crash.key
lec2-crash.ml

Lecture 3
lec3-adt.key
lec3-adt.ml

Lecture 4
(contd. from Lecture 3)

Lecture 5
lec5-recursion.key
lec5-recursion.ml

Lecture 6
lec6-hof.key
lec6-hof.ml

Lecture 7
lec7-closure.key
lec7-closure.ml

Lecture 8
(contd. from Lecture 7)

Lecture 9
lec9-poly.key
lec9-poly.ml

Lecture 10
lec10-parsing
lec-parsing/

MidTerm

Lecture 11
lec11-scala-crashcourse.markdown
lec11-scala-crashcourse.markdown.slides.html

Lecture 12
(contd. from Lecture 11)

Lecture 13
lec13-iterators.markdown
lec13-iterators.markdown.slides.html
lec13-iterators.scala

Lecture 14
lec14-classes.markdown
lec14-classes.markdown.slides.html
lec-classes/

Lecture 15
lec15-subtyping.markdown
lec15-subtyping.markdown.slides.html
lec-subtyping/

Lecture 16
lec16-generics.markdown
lec16-generics.markdown.slides.html
lec-generics/

Lecture 17
lec17-prolog-1.markdown
lec17-prolog-1.markdown.slides.html
lec-prolog.pl

Lecture 18
lec18-prolog-2.markdown
lec18-prolog-2.markdown.slides.html
lec-prolog.pl

Final