Links to resources that will be helpful will appear here during the course of the semester. During this course students are expected to use many software tools. Below is a list of those tools in the order that they will be introduced in the course.

Software Tools Used in CS 453 in Order of Introduction

  1. Class web page at http://www.cs.colostate.edu/~cs453. You are already here. The syllabus states that students are responsible for checking the webpage each day. Announcements will be on the main page.

  2. ssh will be used to log onto the CS linux machines remotely. The list of available machines is at the Department Facilities page, the Workstations link. If you do not have a CS department account, then you need to contact systems at sna@cs.colostate.edu or by going to the south side of the fourth floor in the Computer Science building.

  3. RamCT is the CSU provided course interaction tool where students in 453 will (1) view lecture and recitation video recordings at the EchoCenter link, (2) check their grades, and (3) participate in forum discussions on the Discussion Board.

  4. The checkin utility will be used to submit all assignments. If it is a homework assignment HW1-HW4, you can scan in a handwritten version of the assignment. Submit a pdf for the homework assignments by typing the following on a CS linux machine (replace HW1 with PA1 or HW2, etc. as appropriate):
        ~cs453/bin/checkin HW1 HW1.pdf
        
    For the programming assignments you will be submitting a tar ball whose contents will be specified in each assignment writeup. Distance students need to email their CS linux account names to cs453@cs.colostate.edu by Tuesday January 29th for checkin to work.

  5. JLex and JavaCUP are lexer and parser generator tools. We will be introducing these tools in class and in recitation during the first week. See Recitation 1 for an example. These are command line tools and they will be provided as .jar files.

  6. Makefiles will be used in many of the recitations and most of the programming assignments. We will be providing the Makefiles for you, but sometimes you will have to make edits to the Makefile. Read about the basics at a Makefile tutorial.

  7. Subversion and Eclipse are next. Some form of revision control is required in CS 453. If you can produce a commit log, then it works. We will be teaching subversion in recitation. Eclipse is not required. We mostly use it for its debugging capabilities. Subversion and Eclipse are introduced in recitation in week 2.

  8. Arduino software environment (week 3). We use the AVR-G++ tool chain. These are non-trivial to install, so it might be easier to install the Arduino environment and then press shift while the Arduino IDE is compiling and loading the program onto the Meggy Jr. You will need to do some compilation of C++ programs that use the Meggy Jr Simple library for PA1. The CS linux machines have this whole tool chain installed. By following the Meggy build instructions, you should be able to do any compilation you need on the command line. IF you want to download to your own device and you are not on campus, then you will have to install this software on your machine.

  9. MJSIM.jar (week 4) is a simulator for the subset of AVR assembly code we are using in our projects. mjsim was written specifically for this class, and we can update some issues as you find them. We use mjsim to do command line simulation of the AVR programs your compiler generates for grading. mjsim also has a GUI mode that has a MeggyJr emulator. mjsim is written in Java and provided as a .jar file.

MeggyJava

The Meggy Jr Device

Other