-
Notifications
You must be signed in to change notification settings - Fork 487
/
index.html
75 lines (65 loc) · 4.54 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="description" content="Site description" />
<meta name="keywords" content="IBCM, Itty Bitty Computing Machine" />
<title>IBCM Interface: Home</title>
<link rel="stylesheet" type="text/css" href="ibcm.css" media="screen" />
</head>
<body>
<!-- Master Container: 88px Tall -->
<div id="wrap">
<div id="top">
<h2><a href="./index.html" title="Back to main page">IBCM Interface</a></h2>
<!-- Top Menu Container -->
<div id="menu">
<ul>
<li><a href="./index.html" class="current">Home</a></li>
<li><a href="./directions.html">Directions</a></li>
<li><a href="./simulator.php">Simulator</a></li>
</ul>
</div>
</div>
<!-- Main Content Container -->
<div id="content">
<!-- Left Content Container -->
<div id="left">
<div id="home" class="noscripthide">
<h2>The Itty Bitty Computing Machine</h2>
<p>The Itty Bitty Computing Machine (IBCM) is a machine language meant to provide a one-week introduction to machine language in a CS2 or CS3 course; this web site is an interface to emulate IBCM programs. IBCM was developed at, and is still used by, the University of Virginia in CS 2150, Program and Data Representation, to teach machine language.</p>
<p>The IBCM simulator, along with all the documentation and source code, is availabe on github at <a href="http://github.com/aaronbloomfield/pdr">http://github.com/aaronbloomfield/pdr</a>. All the materials are released under a <a href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International</a> License.</p>
<p>There are a number of documentation sources:</p>
<ul>
<li>A book chapter on IBCM. This is available in the <a href="https://github.com/aaronbloomfield/pdr">github repo</a>, specifically <a href="https://github.com/aaronbloomfield/pdr/raw/master/book/ibcm-chapter.pdf">here</a>.</li>
<li>The <a href="directions.html">directions page</a> for the online simulator.</li>
<li>An article on IBCM: <a href="http://dl.acm.org/citation.cfm?id=1953273">IBCM: The Itty Bitty Computing Machine: A One-Week Module To Teach Machine Language In Computing Courses</a>, published in SIGCSE 2011.</li>
</ul>
<p>Be sure to look at the browser compatability section at the bottom of the <a href="directions.html">directions page</a>. And please report any bugs you found via the <a href="https://github.com/aaronbloomfield/pdr">github repo</a> (just fill out an issue).</p>
<p>The <a href="simulator.php">simulator page</a> is a PHP script, which means that it will not work if you are viewing it as a local file (i.e., if the beginning of your URL is "file://" instead of "http://"), or if the web server hosting this page does not have PHP installed (this includes UVa's Collab web server).</p>
<h2>Mirrors</h2>
<p>The IBCM interface is hosted at the following locations, which all allow the simulator's PHP script to work properly.</p><ul>
<li><a href="http://people.virginia.edu/~asb2t/ibcm/">http://people.virginia.edu/~asb2t/ibcm/</a></li>
<li><a href="http://pegasus.cs.virginia.edu/ibcm/">http://pegasus.cs.virginia.edu/ibcm/</a></li>
<li><a href="http://libra.cs.virginia.edu/ibcm/">http://libra.cs.virginia.edu/ibcm/</a></li>
</ul>
<h2>Command-line version</h2>
<p>Two command-line versions were written that will check, compile, and execute IBCM programs. They are available in the <a href="https://github.com/aaronbloomfield/pdr">github repo</a>, in the "ibcm/" sub-directory. One of them (ibcm-parse.cpp) just parses an IBCM program to ensure it matches the desired format; this is used to, in effect, "compile" a program to ensure the syntax is correct. The second, ibcm-simulate.cpp, is used to actually compile and run IBCM programs. Run the compiled version of ibcm-simulate.cpp with a "-help" flag to see the available options.</p>
<h2>Credits</h2>
<p>This online IBCM simulator was developed by Nick Williams and Aaron Bloomfield in 2008. IBCM itself was designed by William Wulf. The HTML template for this website was taken from <a href="http://www.oswd.org">oswd.org</a>.</p>
</div>
</div>
<!-- Right Nav Container -->
<div id="right">
</div>
<!-- Separation Divider -->
<div id="clear">
</div>
</div>
<!-- Footer -->
<div id="footer">
</div>
</div>
</body>
</html>