Department of Computing

Local Navigation

Unit Outline: COMPXXX

Semester 1, 2007

Convenor: A. Lecturer

Prerequisites: COMP115(P) or COMP155(P) or admission to BCom-ActStud or 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++.

Unit rationale (why is this unit significant and any relevant relationships to other units in the program).

Teaching Staff

Role Name Email Room Office hours
Convenor, Lecturer A. Lecturer a.lecturer@ics.mq.edu.au E6A123 Monday 3-4, Friday 4-5
Lecturer A. N. Other a.other@ics.mq.edu.au E6A124 Monday 3-5

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

Classes

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

Note that Practicals commence in week 1, and Tutorials commence in week 2 .

You should have selected a tutorial and a practical at enrolment. You should attend the tutorial and practical 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 tutorials 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://online.mq.edu.au/pub/COMP125. Note that the majority of the unit materials are publicly available while some material requires you to log in to WebCT to access it.

The unit will make use of discussion boards hosted within WebCT. 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:

Convenors should select and perhaps specialise one or more items from the following list:

Teaching and Learning Strategy

COMP125 is taught via lectures, tutorials and practical sessions in the laboratory. Lectures are used to introduce new material, give examples of the use of programing methods 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 only and are not a substitute for your own notes or the textbook.

Topic List

Week

Topic

Reading

1

Problems and algorithms

Malik Ch. 2-9 (Review)

2

Recursion

Ch. 17

3

Classes

Ch. 12

4

Modelling data with arrays and classes

Ch. 11

5

Searching, sorting, complexity

Ch. 10

6

Software engineering

7

Stacks and queues (STL)

Ch. 19, Appendix H

8

Introduction to pointers

Ch. 14

9

Pointers and linked lists

Ch. 18

10

Advanced topics

Ch. 13, 15

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 (although not necessarily pointer-based implementations of the latter): 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.
Task Planned Date Total Marks
Tutorial Exercises Weekly 4%
In-class Quizzes (3) Weeks 4, 8, 12 6%
Assignment 1: C++ classes Due Week 4 5%
Assignment 2: C++ application Due Week 7 10%
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 WebCT system at http://online.mq.edu.au/ by the time specified in the assignment description. Tutorial questions should be submitted via WebCT before 9am on the Monday of each week.

All work submitted should be readable and well presented. Also include code formatting guidelines...

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 First Half year 2007 is from 13-29 June.

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.

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

Macquarie University provides 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: Ros Ballantyne, 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. Bernard Mans). 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