This course is intended for students who wish to develop their programming skills. It can be taken by students with little or no prior experience of programming; however, most students will have some previous computing experience.
The material covers an introduction to the basic components of a modern computer system, the working environment provided by such a system including some simple utilities provided by the operating system (Linux), the principles of simple program design, construction and testing and their exploitation in the context of the simpler features of the ANSI C programming language.
Note: A large part of the course focuses on the C programming language; almost all the practical work involves programming in C.
This is a predicted timetable of lectures. As with weather forecasting, the predictions are more reliable at shorter timescales. As the course progresses, various teaching materials will be linked to this table. By the end of the semester, the table will provide an accurate record of the whole course.
Lectures are:
Mondays 2:00 pm, William Robertson Building, G.11
Tuesdays 11:10 am, William Robertson Building, G.11
Thursdays 11:10 am, William Robertson Building, G.11
| Lecture | Day | Date | Who | Title | Slides | Notes |
| Week 1 | ||||||
| 1 | Mon | 22/09/2008 | AE | Introduction to CP1 | Prac 0 | |
| 2 | Tue | 23/09/2008 | AE | The Informatics computing environment | Unix emacs | |
| 3 | Thu | 25/09/2008 | AE | Lab session, Room 5.05 Appleton Tower | ||
| Week 2 | ||||||
| 4 | Mon | 29/09/2008 | AE | Lab session Room 5.04, Appleton Tower | ||
| 5 | Tue | 30/09/2008 | BF | The C programming language | ||
| 6 | Thu | 2/10/2008 | BF | More on C: straight-line code | ||
| Week 3 | ||||||
| 7 | Mon | 06/10/2008 | BF | Case Study 1: Square bashing | ||
| 8 | Tue | 07/10/2008 | BF | Conditional execution | Prac 1 | |
| 9 | Thu | 09/10/2008 | BF | Loops | ||
| Week 4 | ||||||
| 10 | Mon | 13/10/2008 | BF | Case Study 2: Triangulation | ||
| 11 | Tue | 14/10/2008 | BF | Functions | ||
| 12 | Thu | 16/10/2008 | AE | Parameters, & and * | ||
| Week 5 | ||||||
| 13 | Mon | 20/10/2008 | AE | Case Study 3: Coin Change | Code | |
| 14 | Tue | 21/10/2008 | AE | Simple character-by-character I/O | ||
| 15 | Thu | 23/10/2008 | AE | Revision lecture | ||
| Week 6 | ||||||
| 16 | Mon | 27/10/2008 | AE | Structured data: arrays | ||
| 17 | Tue | 28/10/2008 | AE | Case Study 4: Pattern Matching | Code | |
| 18 | Thu | 30/10/2008 | AE | Iteration, arrays and the correctness issue | Prac 2 | |
| Week 7 | ||||||
| 19 | Mon | 03/11/2008 | AE | Structured data | ||
| 20 | Tue | 04/11/2008 | AE | Searching and Sorting | ||
| 21 | Thu | 06/11/2008 | AE | Expressions and strings | ||
| Week 8 | ||||||
| 22 | Mon | 10/11/2008 | AE | Libraries and separate compilation | ||
| 23 | Tue | 11/11/2008 | JRL | Intro to Practical 3 | Prac 3 | |
| 24 | Thu | 13/11/2008 | JRL | Case Study 5: Word Lists | Code | |
| Week 9 | ||||||
| 25 | Mon | 17/11/2008 | JRL | Programming techniques: recursion and flags | ||
| 26 | Tue | 18/11/2008 | JRL | Syntax of programming languages | ||
| 27 | Thu | 20/11/2008 | JRL | Files in C | ||
| Week 10 | ||||||
| 28 | Mon | 24/11/2008 | JRL | Programming languages: a comparison | ||
| 29 | Tue | 25/11/2008 | JRL | Case Study 6: Maze running | Code | |
| 30 | Thu | 27/11/2008 | - | Available for revision | ||
| Week 11 | ||||||
| 31 | Mon | 1/12/2008 | - | Available for revision | ||
| 32 | Tue | 2/12/2008 | - | Available for revision | ||
| 33 | Thu | 4/12/2008 | - | Available for revision | ||
Accessing Informatics DiCE Service from University open-access labs
C Compiler for Windows: Programming at home
|
Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 650 2690, Fax: +44 131 651 1426, E-mail: hod@inf.ed.ac.uk Please contact our webadmin with any comments or corrections. Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh |