Explorations in Computer Science
Second Edition
by R. Mark Meyer
Applets
(The lab numbers refer to labs in "Explorations in Computer Science, Second Edition."
If there is more than one lab per book chapter, the labs are given
letters such as Lab 9a and Lab 9b. Both refer to material in
Chapter 9 of the textbook.)
|
Lab 1: Introduction to the Labs
Introduction
-- tell us about yourself and practice taking screenshots
Lab 2: Exploring Number Systems
Number systems
-- conversions between base 10 and some other bases
Binary addition
-- convert numbers to binary and add them
Lab 3A: Representing Numbers
Negative binary numbers
-- sign-magnitude form and 2's complement form
Real number representations
-- scientific notation in decimal and in binary
Lab 3B: Colorful Characters
Character codes (ASCII and Unicode)
-- show the corresponding ASCII or Unicode values
for characters (up to 255).
Text translator into ASCII
-- display a list of the Unicode values, and
allow some text to be converted to numeric codes
Color maker
-- display colors in RGB and HSB formats
Lab 3C: Compressing Text
Text compression using keywords -- compress and decompress text using a keyword table
Text compression using Huffman encoding
-- compress and decompress text using a Huffman encoding
Lab 4: Logic Circuits
LogicGates
-- A logic gate circuit simulator
Lab 5: Computer Cycling
Super Simple CPU
-- a complete, working computer that illustrates the
fetch/decode/execute cycle.
Lab 7: Low-Level Languages
Super Simple CPU
-- the same as used in Lab 5 (above)
Lab 8: Using Algorithms for Painting
Palgo
-- "painting algorithmically", a simple paint environment
where a program directs the paintbrush. Also allows purely
textual programming.
Lab 9A: Searching for the Right Sort
Stacks and queues -- difference between stacks and queues
Trees -- see how binary trees work
Lab 9B: Searching for the Right Sort
Sorting -- selection sort, bubble sort, quick sort
Searching -- sequential versus binary search
Palgo -- "painting algorithmically", a simple paint environment where a program directs the paintbrush. Also allows purely textual programming.
Lab 10: Operating Systems
Placement of jobs in memory
-- contiguous allocation of memory for jobs,
using various fitting algorithms
Scheduling of jobs
-- using FSCS, SJF and Round Robin
Lab 11: Disk Scheduling
Disk Scheduling
-- FSCS, SSTF and SCAN (elevator)
Lab 12B: Databases
Simple SQL
-- A tiny relational database program that processes SQL queries
Lab 13: Artificial Intelligence
Semantic networks
-- logic deduction
Eliza therapist
-- conversational computer program using some simple
rules for textual transformation
Lab 14: Simulating Life and Heat
Game of Life
-- the classic cellular automaton
Heat transfer
-- colorful animation of dissipation of heat
Lab 15: Networking
TCP/IP -- reliable connection, ensured delivery of packets
between two nodes in a network, allows user to damage
or destroy packets
Network router
-- illustrates how routing decisions are made
Lab 17: Limits of Computing
Comparison of several functions
-- shows how f(N) gets very large
Plotter -- a way to visualize the growth rates of functions
Traveling Salesperson Problem
-- run the algorithm on various graphs to find the
shortest complete route (if there is one).
Beware! If you animate the search and the graph is
reasonably large, the applet will take a very long time
to finish!
|