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