Lecture Slides


Here are lecture slides and demos that accompany An Introduction to Programming in Java: An Interdisciplinary Approach. Powerpoint slides available by request for instructors who adopt the textbook.


ELEMENTS OF PROGRAMMING
1.1 Your First Program  
1.2 Built-In Types of Data  
1.3 Conditionals and Loops While loop
1.4 Arrays Shuffle
1.5 Input and Output  
1.6 Random Surfer  
FUNCTIONS
2.1 Functions Function call
2.2 Libraries and Clients  
2.3 Recursion Factorial · Euclid · Towers of Hanoi
2.4 Percolation Depth-first search
OBJECT-ORIENTED PROGRAMMING
3.1 Data Types
3.2 Creating Data Types Mandelbrot explorer · Mandelbrot song
3.3 Designing Data Types  
3.4 N-Body Simulation  
*3.5   Purple America US Elections (1960 - 2008)
ALGORITHMS AND DATA STRUCTURES
4.1 Performance  
4.2 Sorting and Searching Binary search · Merge
4.3 Stacks and Queues Linked list · Iteration
4.4 Symbol Tables Inorder · GrowingTree
4.5 Small-World Phenomenon BFS · Oracle of Kevin Bacon
 

Here are lecture slides for the forthcoming textbook An Introduction to Computer Science.


A COMPUTING MACHINE
0 Prologue LFSR
5.1 - 5.3 A von Neumann Machine Visual X-TOY
5.4 - 5.5 Machine Language Programming Crazy 8
BUILDING A COMPUTER
6.1 - 6.2 Boolean Logic and Gates Hydraulic computer
6.3 Sequential Circuits  
6.5 TOY Machine Architecture  
THEORY OF COMPUTATION
7.1 - 7.3 Regular Expressions and DFAs DFA
7.4 - 7.6 Turing Machines Turing machine simulator · Adder
7.7 Intractability  
7.8 Cryptography Crypto history [rsa.com]
SYSTEMS
8.4 Networking  
SCIENTIFIC COMPUTING
9.1 Floating Point  
9.8 Monte Carlo Simulation