Working Remotely

For those of you interested in working from home or another off-campus computer, the information on remote access to our systems from a Windows machine is here.

For Macs, the 'ssh' and 'scp' commands are native, so all you need is an X-server. Some versions of Macs come with an X-server, for others you must download it here. If you want to use the Apple development tools and compilers instead, you must download the XCode package, which can be found here.

Linux Operating System

The Computer Science Department maintains some useful general help information for students new to using Linux:

CSU Computer Science information is found here.

A useful Linux command reference card is found here.

LC-3 Programming

The animation for the LC-3 is found here.

An overview of LC-3 commands is found here.

The reference sheet for LC-3 commands is found here.

Fritz Sieker's version of the LC-3 tools for Linux and Mac are found here.

A tutorial on how to convert C code to LC-3 assembly by Fritz Sieker is here.

State Machines

The simple state machine example shown in lecture is here.

Number Representation

Website for ASCII conversion is found here.

Website for IEEE floating-point conversion is found here.

Website for two’s complement math is found here.

The practice sheet on number conversion presented in lecture is here.

The example of floating-point addition presented in lecture is here.

C Programming

One of hundreds of C programming tutorials on the web can be found here.

Information on the C standard library, organized by include file, can be found here.

Cheat sheet for C debugger can be found here.

Instructions for downloading tools to work remotely (via ssh) from a Windows system are here.

Engineering methodology presented in class is here.

Peer Instruction

Peer instruction sessions are held during lectures, generally on Fridays. The format will be described in detail at the time of each session, but it generally consists of each student answering questions individually and in a group. The premise is that groups perform better than individuals! We organize peer session by assigning students to groups.

Groups for peer instruction are posted here.

iClicker Registration

Register your iClicker on Canvas. The remote ID is the number found on the back of your iClicker remote. If you cannot read the ID on your iClicker, there is a kiosk in the bookstore where you can retrieve it. Here is a list of iClickers that appear not to be registered. If your iClicker is on this list, please try to register again, then send me email:

Unregistered Remotes:
  • #26382937
  • #330E5865
  • #3B705912
  • #3CB7E76C
  • #45185B06

Piazza Forums

This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, teaching assistants, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com. Piazza will be accessed via the Module tab on Canvas.

Other useful tools...

- Questions to almost any C programming question you can think of can be found here.

- Very thorough site on the subtle differences between C and Java is here.

- Stack Overflow is great for finding a variety of answers to your question from people with ranges of expertise levels, found here, or by adding "stackoverflow" to your Google search.

- w3schools is great for web-development related languages and resources, found here.

- Microsoft software can be downloaded by students for a reduced price through the Dream Spark program, found here.