Department of Computing

Local Navigation

Unit Outline: COMP125

Semester 2, 2008

Convenor : Ros Ballantyne

Prerequisites: COMP115(P) or COMP155(P) or admission to BCom-ActStudor Advanced Program BSc or equivalent UAI

Students should read this unit outline carefully at the start of semester. It contains important information about the unit. If anything in it is unclear, please consult one of the teaching staff in the unit.

About This Unit

COMP125 studies programming as a systematic discipline and provides an introduction to computer architecture. Programming skills are extended to include elementary data structures and abstract data types. There is a strong emphasis on problem solving and algorithms, including aspects of correctness, complexity and computability. Programming will be done in the language C++.

Teaching Staff

Role

Name

Email

Room

Office hours

Convenor, Lecturer

Ros Ballantyne

ros AT ics.mq.edu.au

E6A313

Thurs 1-4

Lecturer

Yan Wang

yanwang AT ics.mq.edu.au

E6A339

Tuesday 4-5, Thursday 4-5

All emails related to COMP125 should be sent to comp125-admin@ics.mq.edu.auand must include your full name and your student id number.

Classes

Lectures will be clearly marked CORE or More on Programming in C++. The exam will also be clearly divided into CORE and other. Students who wish to get a bare pass in this unit should focus on understanding IN DEPTH the CORE material.

Each week you should attend 3 hours of lectures, a two hour mixed class of tutorial and practical. For details of days, times and rooms consult the timetables webpage.

Note that tutorial+practical mixed classes commence in week 2.

You should have selected a tutorial+practical mixed class at enrolment. You should attend the tutorial+practical mixed class that you are enrolled in. If you do not have a class, or if you wish to change one, you should see the enrolment operators in the E7B courtyard during the first two weeks of the semester. Thereafter you should go to the Student Centre.

Please note that you will be required to attend most of the mixed classes and hand in prepared work each week. Failure to do so may result in you failing the unit or being excluded from the exam.

Required and Recommended Texts

The textbook for C++ programming used this semester is:

This textbook is available as a shrink-wrapped package from the University Co-op Bookshop. Note that this is the book used in COMP115 Introduction to Computer Science.

There is also a companion website by the publisher at www.course.com. This site contains links to example codes, review material, on-line quizzes and more.

Additional reading that you may find useful for this unit:

Unit Web Page

The web page for this unit can be found at http://www.comp.mq.edu.au/units/comp125/index.html. Note that the majority of the unit materials is found here (and NOT on blackboard). Only submission of assignments/tutorials requires you to log in to Blackboard to access it.

The unit will make use of discussion boards hosted within Blackboard. Please post questions there, they will be monitored by the staff on the unit.

Learning Outcomes

A student completing the unit should have:

  1. Improved problem solving skills and enhanced ability to think algorithmically.
  2. Significant experience with a modern programming language such as Eiffel, Java or C++.
  3. An understanding of the importance of documentation, testing, readability and modularity of programs.
  4. An understanding of the concepts of interface and implementation of routines. Familiarity with some basic abstract data types such as stacks and queues, and an understanding of the distinction between the interface and the implementation of such data types.
  5. Awareness of some important, well known algorithms, and a basic knowledge of the concepts of algorithm correctness and complexity.
  6. An understanding of recursion and linked lists (although not necessarily pointer-based implementations of the latter).
  7. An understanding of the basics of computer architecture, including data representation and program execution.

In addition to the discipline-based learning objectives, all academic programs at Macquarie seek to develop students' generic skills in a range of areas. One of the aims of this unit is that students develop their skills in the following:

Teaching and Learning Strategy

COMP125 is taught via lectures, and tutorial-practical sessions in the laboratory. Lectures are used to introduce new material, give examples of the use of programingmethods and techniques and put them in a wider context. While lectures are largely one to many presentations, you are encouraged to ask questions of the lecturer to clarify anything you might not be sure of. Tutorials are small group classes which give you the opportunity to interact with your peers and with a tutor who has a sound knowledge of the subject. You will be given problems to solve each week prior to the tutorial; preparing solutions is important because it will allow you to discuss the problems effectively with your tutor and maximise the feedback you get on your work. Practical classes give you an opportunity to practice your programming skills under the supervision of a practical demonstrator. Each week you will be given a number of problems to work on; it is important that you keep up with these problems as doing so will help you understand the material in the unit and prepare you for the work in assignments.

Each week you should:

Lecture notes will be made available each week but these notes are intended as an outline of the lecture and are not a substitute for attending the lecture, your own notes or the textbook. The material written in the lecture notes will be smaller than what will be developed in the lectures.

Topic List

Week

Topic

Reading

1

Problems and algorithms

Malik Ch. 2-9 (Review)

2

Classes

Ch.12

3

Modelling data with arrays,vectors and classes

Ch.11

4

Stacks and Queues

Ch.19

5

Recursion

Ch.17

6

Sorting Searching and Complexity

Ch 10

7

Review, Mid-term test

Ch 14

Break

8

Introduction to Pointers and Dynamic Arrays

Ch.14

9

Pointers and linked lists

Ch.18

10

Software engineering

Lecture Notes

11

Introduction to Computer Architecture

Lecture Notes

12

13

Review

HELP101

100 level tutors are available outside of tutorial hours to answer questions; all tutors schedule time on the HELP101 desk in the 100 level laboratory. If you have a general question, any of the tutors may be able to help you; if your question is specific to an assignment, you might need to find one of the tutors in your unit. A timetable is displayed on the noticeboard next to the HELP101 desk.

Relationship Between Assessment and Learning Outcomes

  1. Improved problem solving skills and enhanced ability to think algorithmically:all assessment tasks involve problems solving and analysis and many of the problems involve algorithmic solutions.
  2. Significant experience with a modern programming language such as Eiffel, Java or C++:All programming is done in C++.
  3. An understanding of the importance of documentation, testing, readability and modularity of programs:these aspects are taking into account in the marking of the three assignments.
  4. An understanding of the concepts of interface and implementation of routines...:All written assignments involve interpreting interface specifications and developing implementations. Various abstract data types will form the basis of the three assignments as well as a number of tutorial problems. The exam will cover these concepts in detail.
  5. Awareness of some important, well known algorithms, and a basic knowledge of the concepts of algorithm correctness and complexity:At least one assignment will involve using an algorithms such as binary search. Complexity and correctness will be addressed in tutorials. Both will feature in the exam.
  6. An understanding of recursion and linked lists :one assignment will involve writing programs featuring linked lists.
  7. An understanding of the basics of computer architecture, including data representation and program execution:Computer architecture will feature in tutorial problems and in the final exam.

Assessment

Task

Planned Date

Total Marks

Tutorial Exercises

Weekly

4%

Practical Exercises

Weekly

4%

Mid-term Test

Week 6

6%

Assignment 1: Basic C++

Due Week 4

5%

Assignment 2: Classes

Due Week 8

6%

Assignment 3: Linked Lists

Due Week 11

5%

Final Examination

TBA

70%

Your final grade will depend on your performance in each part separately. In particular:

All assignments should be handed in via the online Blackboard system at http://learn.mq.edu.au/ by the time specified in the assignment description. Tutorial questions should be submitted via Blackboard before 9am on the Monday of each week.

All work submitted should be readable and well presented. These code-formatting guidelines should be followed.

Late work will be accepted with a penalty of 10% of the marks for the assignment per day submitted late. Hence, an assignment submitted five days late will get at most half the marks. If you cannot submit on time because of illness or other circumstances, please contact the lecturer before the due date.

Examinations

The university examination period in Second Half year 2008 is from 19 November- 5 December.

You are expected to present yourself for examination at the time and place designated in the University Examination Timetable. The timetable will be available in Draft form approximately eight weeks before the commencement of the examinations and in Final form approximately four weeks before the commencement of examinations.

You are advised that it is Macquarie University policy not to set early examinations for individuals or groups of students. All students are expected to ensure that they are available until the end of the teaching semester, that is the final day of the official examination period.

The only exception to not sitting an examination at the designated time is because of documented illness or unavoidable disruption. In these circumstances you may wish to consider applying for Special Consideration. Information about unavoidable disruption and the special consideration process is available on the web (PDF).

If a Supplementary Examination is granted as a result of the Special Consideration process the examination will be scheduled after the conclusion of the official examination period. For details of the Special Consideration policy specific to the Department of Computing, see the Department's policy page.

Requests for special consideration will only be considered if the following requirements have been met:

Plagiarism

Please refer to the Department of Computing Plagiarism Policy for the definition of plagiarism, advice on avoiding it and the penalties in place if you are found to have submitted plagiarised work.

University Policy on Grading

Academic Senate has a set of guidelines on the distribution of grades across the range from fail to high distinction. Your final result will include one of these grades plus a standardised numerical grade (SNG).

On occasion your raw mark for a unit (i.e., the total of your marks for each assessment item) may not be the same as the SNG which you receive. Under the Senate guidelines, results may be scaled to ensure that there is a degree of comparability across the university, so that units with the same past performances of their students should achieve similar results.

It is important that you realise that the policy does not require that a minimum number of students are to be failed in any unit. In fact it does something like the opposite, in requiring examiners to explain their actions if more than 20% of students fail in a unit.

Student Support Services

MacquarieUniversityprovides a range of Academic Student Support Services. Details of these services can accessed at http://www.student.mq.edu.au.

The Department of Computing provides a First Year Liaison Officer to help deal with non-unit related issues that you might have as a first year student at Macquarie. If you are falling behind in your work or having problems that interfere with your studies, please ask to see the Liaison officer: RosBallantyne, email ros at ics.mq.edu.au, telephone 98509513.

Staff-Student Liaison Committee

The Department has established a Staff-Student Liaison Committee at each level (100, 200, 300) to provide all students studying a Computing unit the opportunity to discuss related issues or problems with both students and staff.

For each meeting, an agenda is issued and minutes are taken. These are posted on the web at:

Details of the regular meeting dates will be posted on the unit home page. Anyone with an interest in Computing units may attend. This includes staff involved in the teaching and administration of the units, and all students currently taking a Computing unit at that level. There are formal Liaison Committee representatives for each unit who attend to present the views of the student body; all students are welcome and are encouraged to attend.

The meetings are usually held in the Department of Computing Meeting Room, E6A357.

To forward agenda items or get in touch with your representative, send an email to comp125liaison@ics.mq.edu.au.

If you have exhausted all other avenues, then you should consult the Director of Teaching (Dr Steve Cassidy) or the Head of Department (Assoc. Prof. Tony Sloane). You are entitled to have your concerns raised, discussed and resolved.

Copyright & Site information

  • CRICOS Provider No 00002J, ABN 90 952 801 237
  • Authorised by: HOD