Effective Programming

Summer School, 2019

Teaching Team

  • Hamza Bennani
  • Murray Tannock


This paper aims to improve and develop your programming skills by setting a series of exercises, called études, which require an analytical and creative approach to problem solving. Most, but not all, of them will involve programming tasks. Some will not use computers at all, while others will use computers only for ancillary tasks. Each solution will be assessed against the requirements and you will be expected to go back and rework each étude until it is completed satisfactorily. You will be required to fully test and debug your programs as well as learn to identify inefficiencies.

The main objectives of this course are to develop and foster general skills relating to computer related techniques, understanding a problem, problem solving strategies and working with people. Most of the études will require working in pairs or in groups, although some exercises are individual work. There are no lectures, but weekly town hall meetings will be used to discuss or propose solutions, give hints, and reflect on the things you've learned.

To pass COSC326 you must complete all of the études. The individual point values for each one are really just a rough indication of their (expected) lengths (one point equalling one lab).

The course structure and objectives are set out in more detail in the manifesto.

Academic Integrity

In COSC326 we place high value on the virtue of academic integrity, and view academic misconduct as a very serious matter. For further information, please see our statement on academic integrity and academic misconduct. Here is a student guide to Academic Integrity published by the University.

Submission details

Please send all COSC326 related materials to not to any personal address. This includes all submissions of work, questions etc.

When submitting programs you must submit source code (i.e., .java, .py, or similar files). If for some reason you're using a language other than Java, Python or C, please also include a readme or similar on how to compile and run.

When submitting reports, please submit plain text or (preferred) PDF files. Under no circumstances should you submit .doc, .docx, .odt or similar file types. You should think of your reports as being documents sent to a client answering questions that the client has raised -- we may bounce them back if they are too informal, too technical, or poorly presented.

If you have made significant use of any external resources in preparing your code or report, those resources must be identified, and acknowledged. Formal citation is not necessary, but enough information to enable me to find the resource is required.

If a submission is accepted we will reply with an email that includes the phrase "complete and correct", or a very close variant. When you receive such an email you can assume the submission has been accepted. Conversely, if that phrase does not appear, then your submission has not been accepted and a resubmission is required. If you are at all in doubt, then check back with us before assuming either that you've finished, or that you haven't (last semester a couple of students sent me resubmissions of études that we'd actually already accepted).

Class Reps


Timetable - Summer School, 2019

Town hall meetings: 11:00-12:00 on Tuesdays and Fridays in Ōwheo G34.

Laboratories: 09:00-11:00 Mondays to Fridays, in Ōwheo Lab F.

NOTE: The first lab time (09:00am on Monday January 7) will be an extended Town Hall in G34. It is important that you attend this session as we will be organising groups and pairs as well as introducing your first tasks.

Assessment: check your marks.

Étude Marker Name Type Points  
1 Hamza Etude 1: PB Pair 1
2 Hamza Etude 2: DC Group 3  
3 Hamza Etude 3: Dates Individual 2  
4 Hamza Etude 4:GUI Pair 2  
5 Hamza Etude 5: TP Individual 1  
6 Murray Etude 6: VP Group 2
7 Murray Etude 7: FS Group 2
8 Murray Etude 8: Arithmetic Individual 2  
9 Hamza Etude 9: Lights Pair 2  
10 Murray Etude 10: Carpets Group 3  
11 Hamza Etude 11: Counting UP Pair 2  
12 Hamza Etude 12: Coroutine Individual 1
13 Murray Etude 13: Word Chains Pair 1  
14 Murray Etude 14: SuperSizeIt Group 1
  • Presentations on Feb 12th
15 Hamza Etude 15: Evaluation Individual 0
  • Will be done on Feb 15th

Page maintained by Hamza.                     Last updated:  14th Feb 2019   04:08