Effective Programming

University of Otago

Course Description

  • Course Name

    Effective Programming

  • Host University

    University of Otago

  • Location

    Dunedin, New Zealand

  • Area of Study

    Computer Programming, Computer Science

  • Language Level

    Taught In English

  • Prerequisites


  • Course Level Recommendations


    ISA offers course level recommendations in an effort to facilitate the determination of course levels by credential evaluators.We advice each institution to have their own credentials evaluator make the final decision regrading course levels.

    Hours & Credits

  • Credit Points

  • Recommended U.S. Semester Credits
    3 - 4
  • Recommended U.S. Quarter Units
    4 - 6
  • Overview

    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).

    Teaching Arrangements
    This paper has no lectures. Students take part in weekly 'town hall meetings'. There are also two two-hour labs per week.

    Course 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).

    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)

Course Disclaimer

Courses and course hours of instruction are subject to change.

Eligibility for courses may be subject to a placement exam and/or pre-requisites.

Some courses may require additional fees.

Credits earned vary according to the policies of the students' home institutions. According to ISA policy and possible visa requirements, students must maintain full-time enrollment status, as determined by their home institutions, for the duration of the program.

Please reference fall and spring course lists as not all courses are taught during both semesters.

Availability of courses is based on enrollment numbers. All students should seek pre-approval for alternate courses in the event of last minute class cancellations

Please note that some courses with locals have recommended prerequisite courses. It is the student's responsibility to consult any recommended prerequisites prior to enrolling in their course.