CS0004 Computer Programming: Skills and Concepts (INF-1-CP1)
U01510 Computer Programming for Music Technology.

News

12/09/08   Welcome!
Welcome to Computer Programming: Skills and Concepts 1 (INF-1-CP1), code-shared as Computer Programming for Music Technology. This web page is the first port-of-call for information on the course. News items will be posted here. E-mail will also be used to keep you up-to-date. The course is given in Semester 1 and runs till December. The exam is in December.
First lecture: Monday 22nd 2pm William Robertson Building G.11

Contents

  1. People - Lecturers, tutors and tutorial groups, class reps
  2. Module description
  3. Course Guide
  4. Lecture timetable and course material
  5. Tutorials
  6. Assessed practicals
  7. Practical files
  8. Case Studies
  9. Past Papers
  10. Useful Links
  11. Accessing Informatics DiCE Service from University open-access labs
  12. Summary: Ten things you need to know about CP1

People

Course Organiser:
Aristides Efthymiou

Lecturers:
Aristides Efthymiou
Bjoern Franke
John Longley

Tutors and tutorial groups:
See the relevant section of the ITO database.

Class rep:
<Jamie Aaron William Stephen>

Return to top

Module description

Aims and Objectives

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.

Syllabus

Introduction:
The scope of Computer Science. Elements of a modern computer system and computing environment. UNIX, its file system and programming utilities.

Program design and development:
Specification, problem decomposition. Reasoning about and testing programs.

Programming in ANSI C:
Expressions, types, variables, assignment, conditionals, iteration, arrays, strings, files, functions.

Structured programming:
Functional and procedural abstraction, headers and libraries, names and scope.

Return to top

Course Guide

Download as PDF

Return to top

Lecture timetable and course material

For the course syllabus please consult the Course Guide.

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 PDF Prac 0
2 Tue 23/09/2008 AE The Informatics computing environment PDF 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 PDF  
6 Thu 2/10/2008 BF More on C: straight-line code PDF  
 
Week 3  
7 Mon 06/10/2008 BF Case Study 1: Square bashing PDF  
8 Tue 07/10/2008 BF Conditional execution PDF Prac 1
9 Thu 09/10/2008 BF Loops PDF  
 
Week 4  
10 Mon 13/10/2008 BF Case Study 2: Triangulation PDF  
11 Tue 14/10/2008 BF Functions PDF  
12 Thu 16/10/2008 AE Parameters, & and * PDF  
 
Week 5  
13 Mon 20/10/2008 AE Case Study 3: Coin Change PDF Code
14 Tue 21/10/2008 AE Simple character-by-character I/O PDF  
15 Thu 23/10/2008 AE Revision lecture    
 
Week 6  
16 Mon 27/10/2008 AE Structured data: arrays PDF  
17 Tue 28/10/2008 AE Case Study 4: Pattern Matching PDF Code
18 Thu 30/10/2008 AE Iteration, arrays and the correctness issue PDF Prac 2
 
Week 7  
19 Mon 03/11/2008 AE Structured data PDF  
20 Tue 04/11/2008 AE Searching and Sorting PDF  
21 Thu 06/11/2008 AE Expressions and strings PDF  
 
Week 8  
22 Mon 10/11/2008 AE Libraries and separate compilation PDF  
23 Tue 11/11/2008 JRL Intro to Practical 3 PDF Prac 3
24 Thu 13/11/2008 JRL Case Study 5: Word Lists PDF Code
 
Week 9  
25 Mon 17/11/2008 JRL Programming techniques: recursion and flags PDF  
26 Tue 18/11/2008 JRL Syntax of programming languages PDF  
27 Thu 20/11/2008 JRL Files in C PDF  
 
Week 10  
28 Mon 24/11/2008 JRL Programming languages: a comparison PDF  
29 Tue 25/11/2008 JRL Case Study 6: Maze running PDF 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    

Return to top

Tutorials

See the relevant part of the ITO database  


Practicals

Return to top

Associated practical files

Return to top

Case Studies

Return to top

Past Papers

See the School's archive.

Return to top

Useful Links

Return to top


Home : Teaching : Courses 

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