CS1141: C for Java Programmers
MW 1:05 PM - 1:55 PM, Dow 642
Note: All homework must be turned in via Canvas. These PDFs are provided
as a convenience only.
Programs are to be turned in using Submit by the appointed time, or
according to the Slip Days rules.
Linux - Most linux distros either install GCC by default (eg
Ubuntu) or provide it in their package manager (eg Debian).
Installation (if needed) should be straight-forward. You'll also want to
be sure Make is installed. Debian's build-essential package includes
everything you need (and some things you don't).
Mac OS X - Mac users will need to install XCode if they want to
use GCC. It's available free from Apple, and can be downloaded from the
Store if your OS supports same ([Mountain] Lion or Mavricks), or
Mac Developer's Center for persons still on [Snow] Leopard. Make
sure to install the Command Line Tools from the XCode preferences.
Windows - Do not develop programs for this class on Windows.
While it's possible to run GCC on Windows, some of the course projects
cannot be completed in non-Linux environments, and in all other cases
you'll most likely end up with weird bugs. If you insist on using a
Windows machine, please consider either setting up a Linux virtual
machine or ssh-ing into the school servers. I will help you configure
General C Stuff
Komodo Edit -
This is the text editor being used in lecture. It's free and reasonably
full-featured, but you're free to use something else if you like.
Notepad++ - Another
fantastic text editor. A bit speedier than Komodo Edit, but it's
Binky at Stanford - Hailed
by many as "the best 3 minute video on pointers---Ever." It may help,
it may not, but it's available. (There is also lots of other stuff from
Stanford's CS program at the same place.)
CPP Macros - A nicely readable introduction to C/C++ macros.
Includes a good discussion of pitfalls of macros. Pay special attention
to the 'decalog of a prudent macro writer' at the end of the page.
The Function Pointer
Tutorials - An introduction to using and understanding function
pointers. Note that things the author refers to as 'C++' deal with
classes. The C syntax will work fine in C++, too.
This page last updated 20 November 2013