Program Design: Organising and Structuring Programming Tasks Prerequisites
This course is part of the Scientific Computing series.
This course does NOT discuss sophisticated programming techniques designed to improve the speed, efficiency or memory use of a program, nor does it deal with the algorithmic aspects of programming. It is NOT suitable for those people who already know how to program and are seeking to learn more sophisticated programming techniques.
This course provides an introduction to organising your programming task(s) and using your knowledge of those tasks to produce an appropriate structure for your computer program. The aim of the course is to equip attendees with the concepts, mindset and outlook appropriate to designing programs whose structure reflects that of the task(s) the program is supposed to carry out, regardless of the programming language in which the final program is written.
Exercises will be done on paper, without the use of a computer and without reference to the syntax or keywords of specific programming languages.
As this course is part of the Scientific Computing series of courses, the examples, exercises and techniques used in this course will be more appropriate for scientific programming than for other programming tasks.
- Knowledge of a high-level programming language such as C/C++, Python, Perl, Java, Fortran or Visual Basic.
- Experience of writing programs that perform scientific computing tasks.
- Although not a prerequisite, familiarity with object oriented programming (OOP) would be an advantage.
Number of sessions: 1
# | Date | Time | Venue | Trainer |
---|---|---|---|---|
1 | Tue 10 Feb 2015 14:15 - 17:00 | 14:15 - 17:00 | Balfour Macintosh Room | Bruce Beckles |
- General types of program structure
- Analysing your programming task
- Sub-dividing your programming task
- Turning your programming task into a program structure
- Structuring your program
- Useful programming conventions
A mixture of presentations and pencil-and-paper exercises.
- This is course is UNSUITABLE for those with little or no programming experience.
- This course DOES NOT discuss in any detail the algorithmic aspects of computer programming.
- Attendees of this course may also be interested in the "Python: Unit Testing" and "Programming: How to Help Programs Debug Themselves" courses.
One half day session
Booking / availability