Category Archives: Courses

CS1 in Python Peer Instruction Materials

Topics Coverage Summary: variables, types, assignment, order of operations, lists, dictionaries, functions, scope, conditional statements, logical expressions, while loops, for loops

There are two separate editions of PI materials for CS1 in Python. One was developed by Daniel Zingaro of University of Toronto. The other was developed by Cynthia Taylor of Oberlin College.

Number of Questions/Slides Available: 100+

Materials Author: Daniel Zingaro, University of Toronto
Materials Author: Cynthia Taylor, Oberlin College
Continue reading CS1 in Python Peer Instruction Materials

CS2 in Java Peer Instruction Materials

Topics Coverage Summary: Use and implementation of basic data structures including linked lists, stacks, and queues. Use of advanced structures such as binary trees and hash tables. Object-oriented design including interfaces, polymorphism, encapsulation, abstract data types, pre-/post-conditions. Recursion. Uses Java and Java Collections.

Number of Questions/Slides Available: Coming soon!

Materials Author: Cynthia Lee, Stanford University, adapted from slides by Paul Kube, UCSD
Continue reading CS2 in Java Peer Instruction Materials

Operating Systems Peer Instruction Materials

Topics Coverage Summary: This is an introductory course on the principles of operating systems. Topics include processes, scheduling, synchronization, memory management, virtual memory, file systems, I/O, protection, security, networking, and distributed systems. There is a significant systems programming component to the course, where students are required to design and implement some basic kernel functions (context switching, scheduling, synchronization) and a user-level thread package.

Number of Questions/Slides Available: 35

Materials Author: Kevin Webb, UCSD, and Cynthia Taylor, Oberlin College
Continue reading Operating Systems Peer Instruction Materials

CS Principles (with Alice) Peer Instruction Materials

Topics Coverage Summary: Alice: methods (class and world level), parameters, events, functions, if statements, counted and while loops, lists.  Excel: functions and formulas, relative and absolute addressing, linking Excel functions to Alice concepts (e.g. vlookup, average, etc.)

Materials Author: Beth Simon, University of California, San Diego

A Short Article on How to Implement A Peer Instruction CS Principles Course: A pre-print from ACM Inroads June 2012

More detail on the UCSD pilot of CS Principles also in ACM Inroads
Continue reading CS Principles (with Alice) Peer Instruction Materials

Theory of Computation Peer Instruction Materials

Topics Coverage Summary: Deterministic Finite Auotmata (DFA), Nondeterministic Finite Auomata (NFA), Regular Expressions, Pushdown Auomata (PDA), Context-Free Grammars, Turing Machines, Decidability, Halting Problem, Undecidability, Diagonalization, Reductions, P vs NP.

Number of Questions/Slides Available: 
– Regular languages: 25 questions
– Context-free languages: 21 questions
– Turing machines: 10 questions
– Decidability, undecidability, cardinality, halting problem, diagonalization: 34 questions
– Reductions, polynomial-time reductions, P vs NP: 14 questions

Materials Author: Cynthia Lee, Stanford University
Additional Contributors:
Alex Tsiatas, UCSD
Thérèse Smith, UConn
Continue reading Theory of Computation Peer Instruction Materials

CS1 in Java Peer Instruction Materials

Topics Coverage Summary: Simple execution/multiple objects with turtles, Pictures and Sound, Pictures: loops (for each, for, while), if statements, 1-D and 2-D arrays.  Sounds: repeat of loops, if statements, and 1-D arrays.  Basic introduction to class design, getters/setters, constructors.

Materials Author: Beth Simon, University of California, San Diego
Continue reading CS1 in Java Peer Instruction Materials

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
Continue reading Programming Languages Peer Instruction Materials