Working Remotely

A guide to accessing a Linux enviornment on your personal computer can be found here

A guide to installing a C compiler, lc3sim, and logisim 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.

A simple framework for printf() style debugging may be foune here.

LC-3 Programming

Information about using Logisim on a Mac is found here

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.

A detailed manual, with examples for each instruction, is found here.

Instruction diagrams for LC3 instructions is found here.

An example of LC3 assembly code along with the associated symbol table and hex/binary generated by the LC3 compiler is found here.

An overview of options for implementing IO on the LC3 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.

Undesrtanding the LC3 runtime stack by Fritz Sieker is here.

This link presents a detailed layout of the LC3 stack during the execution of the printNum subroutine in P7.

Iterative Factorial implemented in C and LC3.

Stack Frame Examples implemented in LC3 with and without PUSH/POP.

State Machines

The simple state machine example shown in lecture is here.

State machine example implemented as a Mealy or Moore machine. Logisim implementation here

Sign Arrow state machine in logisim Moore version 1 | Moore version 2 | Mealy version

16 bit memory example in logisim 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.

A practice sheet on number conversion is here.

An example of floating-point addition is here.

A floating-point addition worksheet 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.

Engineering methodology presented in class is here.

C Operator Precedence here.

GCC Compiler Docs here

C Reference here

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.