Accessibility Skip to Global Navigation Skip to Local Navigation Skip to Content Skip to Search Skip to Site Map Menu

COSC326 Effective Programming

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
Paper code COSC326
Subject Computer Science
EFTS 0.1500
Points 18 points
Teaching period(s) First Semester, Second Semester
Domestic Tuition Fees (NZD) $1,018.05
International Tuition Fees (NZD) $4,320.00

^ Top of page

Prerequisite
COSC 242
Schedule C
Arts and Music, Science
Contact
Adviser of Studies: Dr Willem Labuschagne or Department Administrator: Kaye Saunders
Teaching staff
Lecturers:
Summer School: Professor Michael Albert
First semester: Dr Richard O'Keefe
Second semester: To be advised
Paper Structure
This paper aims to improve and develop programming skills by setting a series of exercises which 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 études (exercises).
Teaching Arrangements
This paper has no lectures. Students take part in weekly 'town hall meetings'. There are also two 2-hour labs per week.
Textbooks
No text books are required for this paper.
Course outline
View course outline for COSC326
Graduate Attributes Emphasised
Lifelong learning, Communication, Critical thinking, Information literacy, Research, Self-motivation, Teamwork, lifelong learning, communication, critical thinking, information literacy, research, self-motivation, teamwork.
. 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 (e.g. creative approaches, top down, choice of tools, etc.)
  • Specific computer related techniques in problem solving (e.g. limitations of programs, recursion, testing, efficiency)
  • Working with people (e.g. group management and dynamics, collaboration, record keeping and reporting)
Eligibility

^ Top of page

Timetable

First Semester

Location
Dunedin
Teaching method
This paper is taught On Campus
Learning management system
None

Tutorial

Stream Days Times Weeks
Attend
X1 Tuesday 11:00-12:50 9-15, 18-22
Thursday 10:00-10:50 9-15, 17-22
Friday 11:00-12:50 9-14, 17-22

Second Semester

Location
Dunedin
Teaching method
This paper is taught On Campus
Learning management system
None

Tutorial

Stream Days Times Weeks
Attend
X1 Monday 16:00-17:50 28-34, 36-41
Wednesday 16:00-17:50 28-34, 36-41
Thursday 10:00-10:50 28-34, 36-41

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
Paper code COSC326
Subject Computer Science
EFTS 0.1500
Points 18 points
Teaching period(s) First Semester, Second Semester, Summer School
Domestic Tuition Fees Tuition Fees for 2018 have not yet been set
International Tuition Fees Tuition Fees for international students are elsewhere on this website.

^ Top of page

Prerequisite
COSC 242
Schedule C
Arts and Music, Science
Contact
Computer Science Adviser
Teaching staff
Co-ordinator: Professor Michael Albert

Lecturers:
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.
Textbooks
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, Self-motivation, Teamwork
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)

^ Top of page

Timetable

First Semester

Location
Dunedin
Teaching method
This paper is taught On Campus
Learning management system
None

Tutorial

Stream Days Times Weeks
Attend
X1 Tuesday 11:00-12:50 9-13, 15-22
Thursday 10:00-10:50 9-13, 15-22
Friday 11:00-12:50 9-12, 15-22

Second Semester

Location
Dunedin
Teaching method
This paper is taught On Campus
Learning management system
None

Tutorial

Stream Days Times Weeks
Attend
X1 Monday 16:00-17:50 28-34, 36-41
Wednesday 16:00-17:50 28-34, 36-41
Thursday 10:00-10:50 28-34, 36-41

Summer School

Location
Dunedin
Teaching method
This paper is taught On Campus
Learning management system
None

Computer Lab

Stream Days Times Weeks
Attend
X1 Monday 09:00-10:50 2-7
Tuesday 09:00-10:50 2-5, 7
Wednesday 09:00-10:50 2-7
Thursday 09:00-10:50 2-7
Friday 09:00-10:50 2-7

Seminar

Stream Days Times Weeks
Attend
A1 Tuesday 11:00-11:50 2-5, 7
Friday 11:00-11:50 2-7