Compass
Compass
Explorations in Computer Science
by R. Mark Meyer
Applets

(The lab numbers refer to labs in "Explorations in Computer Science." These lab numbers are the same as the chapter numbers refer to chapters in "Computer Science Illuminated" by Nell Dale and John Lewis. If there is more than one lab per book chapter, the labs are given letters such as Lab 12a and Lab 12b. Both refer to material in Chapter 12 of the textbook.)

Lab 1: Introduction applet

Introduction -- tell us about yourself and practice taking screenshots
Lab 2: Binary Values and Number Systems

Number systems -- conversions between base 10 and some other bases

Binary addition -- convert numbers to binary and add them
Lab 3: Data Representation

Negative binary numbers -- sign-magnitude form and 2's complement form

Real number representations -- scientific notation in decimal and in binary

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

Text compression using a keyword table -- 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: Computing Components

Super Simple CPU -- a complete, working computer that illustrates the fetch/decode/execute cycle.
Lab 7: Low-Level Programming Languages

Super Simple CPU -- the same as used in Lab 5 (above)
Lab 8: High Level Programming

Palgo -- "painting algorithmically", a simple paint environment where a program directs the paintbrush. Also allows purely textual programming.
Lab 9: Abstract Data types

Sorting -- selection sort, bubble sort, quick sort

Searching -- sequential versus binary search
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: File Systems and Directories

Disk Scheduling -- FSCS, SSTF and SCAN (elevator)
Lab 12: Information Systems

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: Simulation

Game of life -- the classic cellular automaton

Heat transfer -- colorful animation of dissipation of heat
Lab 15: Networks

Tcpip -- 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

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!