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

CS1 in MATLAB Peer Instruction Materials

Topics Coverage Summary: variables, types, assignment, order of operations, vector indexing, matrix indexing, RGB color scheme and RGB image matrices, scripts, functions, scope, conditional statements, logical expressions, shortcutting, logical matrix indexing, for loops, while loops, sparse matrices

Number of Questions/Slides Available: 78

Materials Author: Cynthia Lee, Stanford University

This course and some of its peer instruction materials were featured on Computing Education Blog: Making a Media Computation class in MATLAB at UCSD.
Continue reading CS1 in MATLAB 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