Effective programming design and reliable implementation of algorithms. Systematic verification. The requirements of maintainable software. Tools for software construction.
This paper develops and extends the analytical and creative skills required in programming. A series of etudes - some individual, some in pairs and some in groups - require solutions that challenge your abilities as programmers. As well as finding solutions, there is an emphasis on testing and verifying them and communicating the outcome to the "client" (who, in this case, is the instructor).
|Paper title||Effective Programming|
|Points||18 points 18 points 18 points|
|Teaching period(s)||First Semester, Second Semester, Summer School|
|Domestic Tuition Fees (NZD)||$1,038.45|
|International Tuition Fees (NZD)||$4,492.80|
- COSC 242
- Schedule C
- Arts and Music, Science
- Computer Science Adviser
- More information link
- View further information about COSC 326
- Teaching staff
- Co-ordinator: Professor Michael Albert
Summer School: Professor Michael Albert
First semester: Dr Steven Mills and Dr Stefanie Zollmann
Second semester: Dr David Eyers and Dr Lech Szymanski
- Paper Structure
- This paper aims to improve and develop programming skills by setting a series of exercises
that require an analytical and creative approach to problem solving. Most, but not
all, of these exercises will involve programming tasks. Some will not use computers
at all; some will use them only for ancillary tasks. Each solution will be assessed
against the requirements, and students will be expected to go back and rework each
problem until it is completed satisfactorily. Students will be required to fully test
and debug their programs as well as learn to identify inefficiencies.
Assessment: This paper is 100% internally assessed and is pass/fail. To pass the paper students must complete a series of etudes (exercises).
- Teaching Arrangements
- This paper has no lectures. Students take part in 'town hall meetings' and 2-hour labs as indicated in the timetable below.
- No textbooks are required for this paper.
- Course outline
- View course outline for COSC326
- Graduate Attributes Emphasised
- Lifelong learning, Communication, Critical thinking, Information literacy, Research,
View more information about Otago's graduate attributes
- Learning Outcomes
- The central learning outcomes from COSC 326 relate to the strategies and mechanics
of problem solving in the context of programming. Specifically:
- Understanding a problem (simplification, clarification, generalisation and specification)
- Learning different problem-solving strategies (eg creative approaches, top down, choice of tools, etc)
- Specific computer-related techniques in problem solving (eg limitations of programs, recursion, testing, efficiency)
- Working with people (eg group management and dynamics, collaboration, record keeping and reporting)