C Programming Course –-- Course Notes

Before Starting the Course

Before the first practical class it is important that you register to use the campus' unix facility (also known as tower).You can do this on the web using The electronic info desk selecting registration and then pressing REGISTER for TOW (tower) the central unix service.

It is strongly recommended that you purchase the course text "The C programming Language (Second Edition)" by Kernighan and Ritchie. This is the classic volume on the C language by the programmers who designed the language in the first place.

Course Work

For the first four weeks of the course you will be expected to complete some set course work. In addition to counting for 10% of your final mark for this course, this course work will be used to assess your ability for the final project. If you have not completed the course work satisfactorily then you will be given an easier final project which will be worth less marks. The course work relies on material learned in practical classes and lectures. If you miss a practical class or a lecture it is therefore important that you pick up the appropriate worksheet or lecture notes from the maths department office and work through it.

The course work will take the form of three programming questions. Two of these questions must be completed by every student and are worth 70% if both are completed absolutely correctly. A third question is for students who want to earn extra credit and is more challenging than the other two questions.It is worth the other 30% of the marks.

Programs should be handed in on disk or (preferably) by email to richard@manor.york.ac.uk. To send a program by email using PINE from tower (the central unix machine).

1) Start pine by typing pine then press C to compose a message.

2) Enter the email address in the appopriate box –richard@manor.york.ac.uk

3) Type Ctrl-J to attach a file.

4) Enter the name of the file you wish to attach – the source code of the program you are sending.

5) If you have entered the file name correctly then press Ctrl-X to send the file.

Written work and print outs accompanying programs should be handed in to the maths department office.  Work should be handed in/emailed by 5:00pm on the Monday after it was set. Remember, even if you haven't got your program to work, it is worth handing in non-functional code to show that you have made an attempt and you will be given some credit for any work done.


The majority of the marks for this course (90%) are for the C programming project which will be begun in week 5 and which must be handed in by mid-day on Friday of the last week of term. You will be given a choice of several projects and be asked to give a first and second preference as to which project you will have. It is expected that you will visit the course lecturer at least twice during the project to discuss your progress and any problems which might have arisen. Students who have their own ideas for projects should discuss this well before the projects begin.

Getting Extra Help

C programming is difficult, especially for the novice programmers and it is expected that most students will need some help at some point during the course. My office is in Vanbrugh X block V/X130 and I can be reached by email at richard@manor.york.ac.uk or by phone on 3088 to arrange appointments. An "office hour" will be established where students can turn up to get help with coursework.


While it is acceptable to seek help from other students, it is not acceptable to directly "copy" programs or to work together on a program and both hand in the same thing.It is usually obvious to an experienced programmer when this has been done. Feel free to ask people for advice on debugging or on how to tackle a problem but do not copy their code. This will be considered cheating and penalised accordingly.