archive-edu.com » EDU » H » HWS.EDU Total: 727 Choose link from "Titles, links and description words view": Or switch to
"Titles and links view". |

- The Most Complex Machine

Machine offers an introductory survey of the field of computer science It is meant for people who are genuinely curious about how computers work and how they can be programmed to perform so many different types of complex tasks If you would like to know more about the book you can read The Preface The Table of Contents Short chapter summaries And in case you are interested in purchasing it you can order it through your local bookstore or you can contact the publisher A K Peters Ltd 289 Linden St Wellesley MA 02181 The publisher s Web site is at http www akpeters com Java Software and Labs It s difficult to learn computer science just by reading about it Students and other readers of The Most Complex Machine should have the opportunity to get some hands on experience to help them over the conceptual hurdles I have written a set of programs and lab worksheets that can help to provide that experience The labs are based on a set of Java applets and they can be used over the World Wide Web You can access the labs on line by visiting my TMCM Java page at http math hws edu TMCM java While these applets are coordinated with material from the book all the information needed for using them is available on line and they can be used independently of the book The applets deal with various aspects of computer science such as logic circuits Turing machines sorting algorithms computer graphics and programming Macintosh Software and Labs The original versions of my software and labs were written for Macintosh computer Although these were written for older versions of the Macintosh they will still run on modern Macs even on MacOS X if you use the OS 9 subsystem

Original URL path: http://math.hws.edu/TMCM.html (2016-02-07)

Open archived version from archive - TMCM Labs and Software

to read this material to do the labs since the lab worksheets include instructions for using the applets The labs and applets are available for downloading So is source code for the applets The applets are also available as Java applications which can be run without a Web browser For more details see the downloading and information page You ll also find information there about how to use the applets on your own Web pages The Labs Introductory Lab The Web Java and DataReps This lab is mainly an introduction to the use of the World Wide Web and to the idea of Java applets A simple applet DataReps serves as an example of an applet It also serves to demonstrate how several different types of data are represented in a computer xLogicCircuits Lab 1 Logic Circuits Explores logic circuits created out of AND OR and NOT gates The relationship between circuits and Boolean algebra is also covered xLogicCircuits Lab 2 Memory Circuits Shows how circuits that contain feedback loops can be used as memory circuits and how a RAM random access memory can be constructed and used xComputer Lab 1 Introduction to xComputer Introduces the xComputer a simple model computer and investigates how it operates in a fetch and execute cycle to carry out machine language instructions stored in its memory xComputer Lab 2 Assembly Language Programming Covers assembly language programming for the xComputer including labels and indirect addressing xComputer Lab 3 Subroutines Introduces the idea of a subroutine and shows how subroutines can be implemented by hand in the assembly language of xComputer even though that language does not offer direct support for subroutines xTuringMachine Lab Introduction to Turing Machines This lab is meant to illustrate the basic operation of Turing machines and to show that even the extremely simple operations performed by Turing machines are sufficient for performing complex computations Publishing on the Web This lab will cover some of the basics of Web publishing concentrating on the Composer utility in Netscape Communicator This lab is not closely related to The Most Complex Machine and it does not use any applets However it does sort of fit in with the theme of real computers and their impact on society which is covered in Chapter 5 of the text This lab is somewhat specific to Hobart and William Smith Colleges xTurtle Lab 1 Introduction to Programming Covers the basics of the xTurtle programming language including loops if statements variables and built in turtle graphics commands xTurtle Lab 2 Thinking about Programs Investigates how preconditions and postconditions can be used to help develop working programs that perform complex tasks Also introduces the idea of subroutines xTurtle Lab 3 Subroutines and Recursion Continues with subroutines in general and recursive subroutines in particular Recursion is used to produce nifty pictures xSortLab Lab Sorting and the Analysis of Algorithms Uses the xSortLab applet to investigate several different algorithms for sorting lists of numbers xTurtle Lab 4 Multiprocessing Shows how multiprocessing can be

Original URL path: http://math.hws.edu/TMCM/java/index.html (2016-02-07)

Open archived version from archive - The xSortLab Applet

progress The lower message area displays a detailed comment on each step in the sort The upper area displays more general messages about major phases in the sort The lower message area is not used when the sort is being run at Fast speed To the right of the bars is a column of controls The first of these is a pop up menu that can be used to select the sorting method Again doing this in the middle of a sort will abort the current sort Next comes a checkbox that can be used to determine whether or not the sort is done at Fast speed When this box is not checked you get to see a cute animation of moving bars also a longer delay is inserted between steps when you run the sort with the Go button The Go and Step buttons are used for executing a sort The Start Again button gives you a new randomized list of 16 bars Two basic operations are used in sorting comparing two items to see which is bigger and copying an item from one place to another The number of comparisons and the number of copies used in the current sort are displayed below the controls Timed Sort Mode If you switch to the Timed Sort panel you ll see a large message area with some instructions This panel is used to obtain statistics about the running times of various running algorithms The interesting question is how the running time depends on the number of items being sorted There is a text input box at the top of the panel where you can specify the size of the array that is to be sorted You can also specify the number of arrays to be sorted The point is that a small array takes so little time to sort that the time cannot be measured accurately So you should sort a number of arrays all of the same size You can measure the total time it takes to sort them all The time required to sort one array can be obtained by dividing the total time by the number of arrays You probably want to adjust the number of arrays so that the total time is at least a couple of seconds Note Your computer must have enough memory to store all the numbers you want to sort If you are running the applet at all you probably have enough memory to work with at least one million items If you ask for more numbers than you have room for you should just a message telling you that you don t have enough memory However most systems that I have tried this on have crashed This is a bug You are warned Stick to a reasonable number of items At the bottom of the panel are a pop up menu that you can use to choose the sort method and a Go button that you can click to start the

Original URL path: http://math.hws.edu/TMCM/java/xSortLab/index.html (2016-02-07)

Open archived version from archive - The xTuringMachine Applet

L for left and R for right You can edit the Write Move and New State columns The columns labeled Reading and Write can contain the symbols 0 1 x y and z They can also contain the character which is used to represent a blank cell The Reading column might also contain other which represents a default value that means any other symbol for which no explicit rule is given If the Reading column contains other then the Write column can contain same which tells the machine to write the same character that it read Just above the rule table is a rule maker with a Make Rule button that can be used to add new rules to the table The blue rectangle between the machine and the rule maker is a palette that is used in making and editing rules changing the contents of the tape and changing the current state of the machine This is explained in the next two sections When the machine is running at Moderate speed or slower after each step the applet displays the next applicable rule in the rule maker box so you can see why the machine takes the action it does If there is no applicable rule in a give situation the machine will stop and will display the message No Rule Defined You could then use the rule maker to make the missing rule If the machine moves outside the applet as it is computing the machine along with its tape will jerk back about 1 4 of the width of the applet By the way if you somehow lose the machine off the edge of the applet clicking the Run or Step button will make it reappear Using the Mouse It is possible to work with the xTuringMachine applet using only the mouse and completely avoiding the keyboard Here s how Before you can edit any item it must be hilited The currently hilited item if any is surrounded by a bright blue green outline You can always hilite an editable item by clicking on it Whenever an item is hilted the palette will display a list of legal values for that item The palette is the blue rectangle just below the machine You can choose one of these values by clicking on it You can also type the value you want As long as the Turing machine is not running you can edit the current state of the machine and the contents of the tape Click on the machine or on one of the tape s cells then select a value from the palette When you enter a symbol for the tape the hilite moves one cell to the right You can edit the Write Move and New State columns of the rule table at any time even while the machine is running Click on the item you want to change then select a value from the palette The rule maker is somewhat more complicated The rule

Original URL path: http://math.hws.edu/TMCM/java/xTuringMachine/index.html (2016-02-07)

Open archived version from archive - xComputer Intro

applet below is set up to load some sample programs These programs contain some basic instructions for using the applet Select a program from the pop up menu at the top of the screen Read the comments in the program Then click on the Translate button to translate the program into machine language and load it into the computer s memory You will then be able to run the program

Original URL path: http://math.hws.edu/TMCM/java/xComputer/index.html (2016-02-07)

Open archived version from archive - TMCM Java -- Downloading and Info

files that they are supposed to read This is a security feature of applets but it can be annoying at times To deal with this problem you might also want to download the Lab and Tutorial Examples archives below http math hws edu TMCM java download tmcm java web site zip for Windows http math hws edu TMCM java download tmcm java web site tar gz for Linux UNIX You can take a look at the README file for this archive The README file explains in detail how to use the applets on your own web pages and how to run the applets as stand alone applications Applet Jar Files Software The seven applets are packaged as jar files These files can be run as standalone applications and they can be used for putting the applets on your own web pages The jar files are part of the complete web archive that you can download in the previous section of this page See the README file from that archive for complete information about how to use them You can also download individual jar files using the following links DataReps jar xLogicCircuits jar xComputer jar xTuringMachine jar xTurtle jar xSortLab jar xModels jar On some computers you can run one of these files simply by double clicking on it If you have a recent version of Java from Sun Microsystems you can try commands of the following form on the command line java jar xLogicCircuits jar If you are using Microsoft s version of Java in Internet Explorer in Windows then you can use the jview command in a command window to run the programs The command takes a form such as jview cp xLogicCircuits jar tmcm xLogicCircuitsFrame Here tmcm xLogicCircuitsFrame is the name of the Java class within the jar file that actually defines the programs Similar names are used in the other jar files Lab and Tutorial Examples Here are two archives that make it easy to run the Labs examples and Information Tutorial examples outside of a Web browser One advantage of this is that you will be able to load and save files The Labs examples and applets from the The Labs section of the main page http math hws edu TMCM java download TMCM Labs zip for Windows http math hws edu TMCM java download TMCM Labs tar gz for Linux UNIX You can view the README file from the Labs archive for more information The Information Tutorial examples and applets from the The Applets section of the main page http math hws edu TMCM java download TMCM Applet Tutorials zip for Windows http math hws edu TMCM java download TMCM Applet Tutorials tar gz for Linux UNIX You can view the README file from this archive for more information PDF File for Printing The following PDF file contains copies of all the lab worksheets and applet information pages from http math hws edu TMCM java Except that where an applet should appear on a page

Original URL path: http://math.hws.edu/TMCM/java/DownloadingAndInfo.html (2016-02-07)

Open archived version from archive - Java Components for Math Project

The configurable applets cover a range of mostly calculus and pre calculus topics including graphs of functions families of functions composition of functions tangent lines parametric curves and Riemann sums To use these applets on your own pages you will need the archive file jcm1 0 config jar To see the applets and documentation on how to use them follow this link Configurable Applets Documentation The JCM Java Components for Mathematics system is defined in the Java package edu hws jcm which has four sub packages edu hws jcm data edu hws jcm awt edu hws jcm draw and edu hws jcm functions These packages in turn contain about 80 source code files The components defined in this system can be assembled into useful applets with relatively little programming The following documentation is available Programming Information discusses the major Java classes in the system and explains how to use them Basic Applets a series of sample applets with well commented source code meant partly as a JCM programming tutorial Javadoc Documentation full API documentation in javadoc format generated from the source code Source Code browse the source code for the JCM classes and configurable applets directly Download You can download a copy of this entire web site onto your own computer Alternatively you could choose to download just the JCM source code or just the jar files that you need if you want to use the sample applets on your own Web pages If you have trouble downloading these by clicking on the links try right clicking and then selecting a save command from the pop up menu Download the entire web site in either of two formats http math hws edu javamath jcm1 web site zip JCM Web site in a ZIP archive http math hws edu javamath jcm1 web site tar gz JCM Web site in a gzip compressed tar archive Download the JCM source code including the sources for the configurable applets but not the basic applets http math hws edu javamath jcm1 source zip source code in a ZIP archive http math hws edu javamath jcm1 source tar gz source code in a gzip compressed tar archive Download a JAR archive of compiled Java classes http math hws edu javamath config applets jcm1 config jar JAR file with the configurable applets About 235K in size http math hws edu javamath basic applets jcm1 basic jar JAR file with the basic applets This archive omits the JCM classes that are not used in any of the basic applets About 150K in size Users We would be very happy to hear from people who are using these applets on their Web pages or who are writing their own applets that use the JCM system For now here are a few examples Note added April 2012 This is old code mostof the examples that used to be here no longer exist The first example is a project that used code based on the JCM Calculus Applets a web site

Original URL path: http://math.hws.edu/javamath/ (2016-02-07)

Open archived version from archive - xFunctions xPresso Educational Mathematics Applet

The pop up menu is not available on the function input screens On other Web pages that use xFunctions there might also be examples in this pop up menu Selecting one of the examples will take you to one of the utility screens and load data for some example into that screen Below you ll find brief instructions for each of the seven utilities However much of the interface for the utilities is pretty self explanatory Expression Function Input Screen When you click the New Expr button on the main screen you will be taken to an input screen where you can define a function as an expression such as x 2 2 x 1 You can also define split functions which have different expressions on different parts of their domains To define a function set the name of the function in the input box the top of the screen or just accept the name that is already provided there To define a function using just one expression just fill in the box labeled Let y If you want to limit the domain of the function you can enter a condition such as x 1 and x 1 in the box labeled provided The condition can use the relational operators and and it can use the logical operators and or and not You can use any expression as part of the condition such as abs sin x 0 5 You can define a function by up to four cases by filling in more of the boxes labeled or y and provided For example Let y x 2 provided abs x 1 or y x 3 provided x 1 or y 1 provided x 1 Click the Test button to see the graph of your function The limits on the axes here do not limit the domain of the function They are only used to determine what part of the graph will be shown by default on the Main Screen Click the Done button to define the function and go back to the Main Screen You must click either the Done or Cancel button to get out of the Expression Function Input Screen Graph Function Input Screen Functions don t have to be defined by expressions They can also be defined by graphs and by tables of values From the Main Screen click the New Graph button to go to the Graph Function Input Screen where you can define a function as a graph Technically the graphs used here are Bezier functions which are made up of segments Each segment is a piece of a cubic polynomial which is completely determined by the two points at the ends of the segments and by the slopes at those two points It is possible to make graphs that have discontinuities corners and cusps A new function is just a line segment on the x axis with a point at each end You can double click the graph to introduce new points Each point has a handle shown as a black point nearby You can click and drag the points and the handles to modify the graph Other operations are described in the Brief Instructions at the top right of the screen If you want fine control over the x value of a new endpoint enter the x value in the box labeled at x and either press return or click the Insert New Point button Note that the x and y limits in the lower right do not affect the shape of the graph just how the xy values on the graph are interpreted Click the Done or Cancel button to return to the main screen Table Function Input Screen Use the Graph Function Input Screen if you want to set the general shape of a graph by hand If you have a list of xy points on the graph enter them as a table in the Table Function Input Screen You get to this screen by pressing the New Table button on the Main Screen Just enter the pairs of xy values one by one in the boxes labeled Input x and Input y You can press tab after entering the x value and press return after entering the y value The points will be shown in a list in the upper right corner of the screen If you click on a point in the list it will be copied to the input boxes so you can edit it There is a button for deleting the selected point from the list Just knowing some points on the graph doesn t tell you what the whole function looks like You have to specify what happens between the points You have three choices A Step Function has a constant value between two consecutive points from your list For a Piecewise Linear Function the points are connected by line segments A Smooth Function is continuous and differentiable at all points It s actually a Bezier function defined by cubic polynomials between the points specified in your list A preview of the graph is shown in the lower right but not until there are at least two points The limits on the axes are increased if necessary and or can set them yourself Click the Done or Cancel button to get back to the Main Screen Multigraph Utility The Multigraph Utility Screen let s you draw up to eight functions in different colors on the same set of axes You can select the number 1 to 8 of the function to be graphed with a pop up menu near the lower left of the screen Each curve is a different color shown in a colored patch next to the pop up menu Enter the function and press return or click Graph to graph the function Right clicking on the graph will zoom in on a point Click with the middle mouse button or hold down the ALT key and left click to zoom out Animate Utility

Original URL path: http://math.hws.edu/xFunctions/ (2016-02-07)

Open archived version from archive