UFCETS-20-1

Programming in C



Quick Jump: Worksheets ,   Lectures ,   C Reference ,   Self-Tests , AssignmentsBooks, Downloads


As the course progresses you'll find various useful material here.
If you have any issues with this material please let me know.
The environment is 2N24 should be fine, any problems please let someone know!

Most of the notes on this site are in Adobe PDF format.  All Notes are only accessible on the UWE campus

Where are we?

Coming up to the first assignment.


If you want to review your progress try the interactive tests from  the Brian Brown course.


Worksheets

Week one:      Click here!
Week two:    Worksheet 1  Starting with Linux (pdf)
                                        Nigel's Command Line basics
                    Worksheet 2  Hello World (pdf)
                                        Emacs reference card
                                        Emacs crib sheet
                                        Nigel's Emacs hints
Week three:   Worksheet 3  GVD The Gnu Visual Debugger (pdf)
Worksheet 4 Random number problems (pdf)
Worksheet 5 Introduction to Digital IO (pdf) (MARCO VERSION) (NEW)

Marco

The hardware we are using to connect to the rack this year is an Amplicon PCI230.
The documentation for the board is here.

We are using the comedi library to interface with this board.  Online documentation can be found here. You
should also have a copy on your lab machine.

Optional Extra Worksheets & Tutorials.

Nigel Gunton's Setting up RCS (Revision Control).  (pdf)

The Linux  Journal has a good article on LC-lint (now known as splint)

Remember there's already a make tutorial here.


Lecture Notes


Assignments

New!The 2011/2012 first assignment


(OLD) The second assignment (MARCO) for 2010




Reference Material

Make Reference Material

A tutorial on using make
 

C Reference Material

Local resources (only available at UWE)

An article outlining common C errors

A good tutorial on pointers is available here. Pointers are an area of C that confuses most people at some time.  Also available is a description of the standard ANSI C libraries .  (Both of these are from the BURKS CD).

If you are starting to think about your programming style, excellent! Here is a C programming style guide (pdf) . This is for interest. Whilst you may find it useful, you are not expected to read it.

A text file tutorial on C

For those interested in advanced algorithms, " Numerical Recipes in C ", is available as pdf's

A local copy of

An Introduction to C Programming, v2.7 © Copyright Brian Brown, 1984-2001. All rights reserved.

Remote resources (available outside UWE)

A local list of C resources & tutorials on the Internet (duplicating http://www.lysator.liu.se/c/c-www.html )

How stuff works - C Programming

Steve Holmes @ University of Strathclyde's C Programming online course

A Unix heavy course from Steve Marshall

1001 Tutorials list of C Tutorials

Rob Miles @ Hull - Introduction to C

Books

The Library is often a good place to look for books :) Otherwise, Blackwells should have copies of recommended texts.
The links from this page point to amazon UK.

Brian "Beej" Hall's book on C is FREE! (A4 Double Sided PDF)

You do NOT need to buy books to support this module (CSI).  If you want to, Rob's recommended text:
Tony Royce, "C Programming", Macmillan, 1996
would be a good buy,  but  (if you are CSI) you should already have bought that!

Royce is strongly recommended. You WILL need a C text .  If you prefer a different book, that's fine - just
ensure it is not too MS-Windows orientated.

Other useful C Books.

Kernighan B.W., & Ritchie. D, "The C Programming language" ,  2nd edition, Prentice Hall, 1988

Sedgewick, R, "Algorithms in C", 2nd editon, Addison Wesley 2001.

Downloads

A tar ball of the debugger we use, GVD.  To install tar zxvf <filename>, cd into the directory and run ./doinstall as root.


Ian Johnson
October 2012