Software Installation and Resources


This page contains information on installation and use of software for courses I teach, and where to find related documentation.  The installation instructions are primarily for your information for a personal machine, as campus machines will often already have this software installed (and you may not have privileges for installation anyway).  There is some information here that will be helpful for use of software on campus machines too, however.

Please contact me with any questions.

Links may eventually go bad - please contact me if you find this to be the case, and I will correct them.

This page will be added to as needed.


C/C++

There are many Integrated Development Environments (IDEs) available for C++.  A reasonably good free one is Microsoft Visual C++ Express.


Java

First, you will need the Java Development Kit (JDK).  Probably all you'll need is the download labeled "JDK X Update Y", where X and Y are release numbers.

The only other thing you really need to program in Java is a text editor.  You can then use the executables javac and java to compile and run your programs, respectively.  But it may be a bit easier to use some sort of Integrated Development Environment (IDE).  There are many available for Java, including Eclipse, NetBeans, JCreator, JBuilder, and many others.  A quick Google search should help you find these IDEs.

If you want a simple IDE for a quick study of Java, BlueJ may be a good choice.  It is very lightweight and easy to use.

Here are instructions for another IDE, DrJava, in case you want to use it instead:

Python

You can download Python here.  Get the most recent version with a version number less than 3.0:
- At time of writing (8/24/2009), this is version 2.6.2.
- Apparently, some machines have errors when trying to run version 2.6.2.  If this happens to you, you might consider downloading version 2.5.2 instead.
- Python version 3.0 and above is a dramatic change, making a different language that we won't really be talking about at this point, so don't download it expecting to use it in class.

IDLE: To run Python in a very simple editor (that's actually written in Python) named IDLE, find the directory where you installed Python (it's probably called "Python\VERSION_NUMBER" for whatever version you have), and go into Lib\idlelib\idle.pyw.  You should be able to double click this file to open a text editor.  You can then select Run-->Python Shell to get the interactive shell, or Run-->Run Module to run your program.

graphics.py: For a simple graphics library, you may also be interested in the graphics.py file, available at John Zelle's Teaching With Python website.  Go to the Lib directory described above, and copy graphics.py into there.  Then you'll be able to import it into your Python programs.  You can test if you did this correctly by typing "import graphics" (without the quotes) in the Python Shell (that comes up when you start IDLE) and hitting enter.  If you get an error, then something went wrong.  Otherwise you did this correctly.

graphics.py and Idle: A warning about using Idle with graphics.py: make sure you always start Idle by clicking the idle.pyw file (or a corresponding shortcut).  Do not simply right-click on a .py file and choose "Edit with Idle".  Doing so may cause Idle to freeze.

Kill Python: If, due to some error, Python seems frozen or somehow still partly running such that you can't restart it, campus computers have a batch file to kill all Python-related processes.  It's called "Kill Python.bat", and it's in "Class Programs" directory.  With a little bit of investigation of shortcuts and such, you may be able to copy this batch file onto your personal machine as well, if you're interested.


Prolog

There are two main variations of Prolog in existence.  We'll be using the "standard" Edinburgh Prolog, based on the classic textbook by Clocksin and Mellish.  The other variation is Prolog II, which has some different syntax and semantics, but is fairly similar.

I would recommend downloading SWI-Prolog.  You'll also need a text editor, like Notepad, Wordpad, or Emacs.


Scheme

The version of Scheme available on campus computers is DrScheme.  It'd probably be simplest to just use that, since other implementations occasionally have slight differences.

DrScheme supports multiple versions of Scheme, so once you install it, go to Language-->Choose Language, and select PLT-->Pretty Big (includes MrEd and Advanced) so that we are all consistent.


Visual Web Developer (ASP.NET) and SQL Server

You can download Microsoft Visual Web Developer 2008 Express and Microsoft SQL Server 2008 Express for free here.  You will need Visual Web Developer to make ASP.NET web pages, and you'll need SQL Server in order to have a database backing your website.

Depending on your system configuration, you might be asked to make a series of downloads and updates before you can install SQL Server.  Follow the instructions you see carefully, and let me know if you have any trouble.

Once you believe everything is installed correctly, you can test it very easily as follows:
- Open Visual Web Developer.
- Choose File->New Web Site
- Choose ASP.NET Web Site, and make a note where it will be stored locally, so you can delete it later.  Name it whatever you want.  Hit OK.
- In the Solution Explorer (probably on the upper-right side of the window), right click on the root, which lists the full path of your website.  For example, "C:\MySites\DBTest", or whatever you named it.
- Choose "Add New Item..." from the right-click menu.
- Choose "SQL Server Database".  Hit Add.
- Click "Yes" if you get a message about putting the database in the App_Data folder.
- If Visual Web Developer appears to finish adding the database, without errors, then things should be working correctly.

Important note about using Visual Web Developer and SQL Server on campus machines: Unfortunately, the way the campus network drives are set up, it is not possible to put a database file on them.  This means that if you create an ASP.NET website in your H drive (or any network drive) and attempt to add an SQL Server database to it, you will get an error.  Here is the workaround I have found: Go to C:\temp.  You have write access to this directory.  Create a new subdirectory in C:\temp where you will be working on your website.  Since it's on the C drive, you will be able to add a database to it without any problems.  When you're done working for the time being, be sure you copy the website to your H drive, or a thumb drive of some kind, so that you have it later.  (You never know when something in temp might get deleted.)  If you have any questions about this process, be sure you ask me, so that you don't waste time or lose your work!


Emacs

Emacs is a very powerful text editor ideally suited for programming, especially if you are not using an Integrated Development Environment (IDE).  You can read about Emacs at the GNU Emacs site, and download it here for Windows.  Click on the README file and find the most recent version in a .zip file that comes in a "single installation package" where you don't have to worry about the source code.  For example, at time of writing, this was emacs-22.1-bin-i386.zip.  Do this unless you really know what you're doing and want to go some other route.


WinSCP

"SCP" is a UNIX command meaning "secure copy".  WinSCP is a version of SCP for windows machines.  It allows you to log in to a remote machine for which you have an account (for example, the WARP cluster or an OSC machine), browse the files there, and drag them to your local machine.  Very useful if you're working with accounts on other machines.


PuTTY

PuTTY (Wiki) is a program to allow you to log in remotely to any machine for which you have an account, from your Windows machine.  The homepage of this program is here, and you can download it here.