In this page you will find information about the projects.
You are to submit your projects through the department's turn-in system. Proceed as follows:
You will find that there are several excellent short introductions to C++. A very pragmatic one that has been of some use to students can be found here. An excellent description of low-level programming in C++ is given in an upcoming paper by Dr. Stroustrup (a draft is available here). Excellent material in general can be found on Dr. Stroustrup's web site.
Check with the class handouts (slides) for details about the infrastructure needed for the machine problems (MIPS emulator, cross compiler, etc.).
Note: You run a particular executable (say program mp0test) on the gxemul emulator by invoking the following command line command: gxemul -E testmips mp0test. Call gxemul with the -h argument to know what other parameters you can pass.
A description of a successful installation of gxemul on cygwin on Windows here by our TAs Soohyun Cho and Seung-Jin Sul; Thanks!
This first machine problem is easy and should get you used the machine problem environment, such as the emulator, the compilers, and so on.
The handout for MP0 is available here, and the source code that you need to work with is contained in this gzipped tar file.
To set up the source code on your machine, copy the file mp0_2006B_source.tar.gz to the directory of your choice. To get the source files, on the TAMU Department's Sun's you would issue the following commands: gunzip mp0_2006B_source.tar.gz, followed by tar xvf mp0_2006B_source.tar. The result will be a directory called MP0_2006B, which contains the makefile, several .C, .S, and .H files, and an include directory with some more .H files. You are now ready to go.
The handout for MP1 is available here.
The source code that you need to work with has been posted and is is contained in this gzipped tar file.
To set up the source code on your machine, copy the file mp1_2006B_sources.tar.gz to the directory of your choice. To get the source files, on the TAMU Department's Sun's you would issue the following commands: gunzip mp1_2006B_sources.tar.gz, followed by tar xvf mp1_2006B_sources.tar. The result will be a directory called MP1-2006B, which contains the makefile, several .C, .S, and .H files, and an include directory with some more .H files. You are now ready to go.
Note: Some browsers take it upon themselves to rename .tar.gz files to .tar.tar files, and then fail to open the files. If you happen to work with such a browser (Internet Explorer, for example) simply rename the file back to the .tar.gz extension after download.
Note: The updated version of the MP2 source files have been posted. Check out the link.
The second machine problem is available here, and the source code that you need to work with is contained in this gzipped tar file.
See the instructions above for setting up the source code on your machine.
The handout for the third machine problem is available here.