Department of Computing

Local Navigation

Unit Outline: ITEC200

Semester 2, 2008

Convenor: Vanessa Long

Prerequisites: ITEC100(P) and admission to GDipIT or GradCertIT

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

This unit provides a thorough presentation of the fundamentals of software development as an engineering discipline. It establishes conceptual foundations, which lie in discrete mathematics, and builds upon them to provide a thorough understanding of a wide range of issues surrounding data structures and algorithms. We examine topics such as algorithmic complexity, efficiency and optimisation, formal specification, program correctness, testing methodologies, verification proofs and code refinement. The practical components of the unit are designed to provide students with a working understanding of modern approaches to professional systems development practice. In particular, they emphasise topics such as defensive programming, data abstraction, code re-use, tool-supported debugging, profiling and verification, test scaffolds and version control.

Teaching Staff

Role Name Email Room Office hours
Convenor, Tutor Vanessa Long vanessa@ics.mq.edu.au E6A330 By appointment

All emails related to ITEC200 should be sent to vanessa@ics.mq.edu.au and must include your full name and your student id number.

Classes

Each week you should complete the following:

Conceptual Questions and Practical Exercises will be set for each week to provide you with the relevant theory and hands on skills required to learn programming deeply. This course places emphasis on creating expert practitioners through learning by thinking and doing. As such the Conceptual Questions and Practical Exercises will be the main learning activity that you undertake each week. Each week's Conceptual Questions and Practical Exercises will comprise some "Preliminary" activities and some "In Class" activities. You need to attempt and submit your attempts at the Preliminary activities before the weekly class.

Weekly classes will begin by reviewing the Conceptual Questions and Practical Exercises you have submitted. A highly collaborative and student centred approach will be taken. The in-class activities will also be covered, and you will have a chance to ask questions of your peers and the class convenor. .

Required Textbook for Reading

The textbook for required readings is :Koffman and Wolfgang: Object, Abstraction, Data Structures and Design Using Java Version 5.0.

This text is available from the Coop bookshop. We will be working closely with this resource. There are many other text books on Java available, and you are welcome to purchase any of these that you like, but the HKoffman and Wolfgand text has been identified as the best resource for our purposes.

Unit Web Page

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.

Since students are experiencing problems with WebCT, the tutorial questions are posted here.

Week Conceptual Questions Coding Questions Solutions
Week 1 conc01.rtf conc01.rtf solutions to conceptual questions for week 1
solutions to coding questions for week 1
Week 2 conc02.rtf conc02.rtf solutions to conceptual questions for week 2
solutions to coding questions for week 2
Week 3 conc03.rtf conc03.rtf solutions to conceptual questions for week 3
solutions to coding questions for week 3
Week 4 conc04.rtf conc04.rtf solutions to conceptual questions for week 4
solutions to coding questions for week 4
Week 5 conc05.rtf conc05.rtf solutions to conceptual questions for week 5
solutions to coding questions for week 5
Week 6 conc06.rtf conc06.rtf solutions to conceptual questions for week 6
solutions to coding questions for week 6
Week 7 conc07.rtf conc07.rtf solutions to conceptual questions for week 7
solutions to coding questions for week 7
Week 8 conc08.rtf conc08.rtf solutions to conceptual questions for week 8
solutions to coding questions for week 8
Week 9 conc09.rtf conc09.rtf solutions to conceptual questions for week 9
solutions to coding questions for week 9
Week 10 conc10.rtf conc10.rtf solutions to conceptual questions for week 10
solutions to coding questions for week 10
Week 11 conc11.rtf conc11.rtf solutions to conceptual questions for week 11
solutions to coding questions for week 11
Week 12 conc12.rtf conc12.rtf solutions to conceptual questions for week 12
solutions to coding questions for week 12

Learning Outcomes

A student completing the unit should have solid foundations of good programming and software engineering practice.

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:

Topic List

The study schedule for this unit is as follows:

Week

Topic

Additional Materials

Week01 (04-Aug-08)

Software Engineering

Software Engineering: a preview

Week02 (11-Aug-08)

Program Correctness & Efficiency

Software Engineering Principles

Week03 (18-Aug-08)

Inheritance & Class Hierarchies

Software Architecture

Week04 (25-Aug-08)

Lists & the Collections Interface

Specification

Week05 (01-Sep-08)

Stacks

Software Verification (I)

Week06 (08-Sep-08)

Queues

Software Verification (II)

Week07 (15-Sep-08)

Recursion

Software Verification (III)

MID SEMESTER BREAK (20 September 2008 - 06 October 2008)

Week08 (13-Oct-08)

Trees

Software Process Models (I)

Week09 (20-Oct-08)

Sets & Maps

Software Process Models (II)

Week10 (27-Oct-08)

Sorting

Software Engineering Tools and Environments (I)

Week11 (3-Nov-08)

Balanced Trees

Software Engineering Tools and Environments (II)

Week12 (10-Nov-08)

Graphs

Discussion

Assessment

Task

Percentage of Marks

Due Dates

Weekly Classes

20%

The beginning of each class

Assignment 1

10%

Due on 25-Aug-08. Late penalty: 1% per day

Assignment 2

10%

Due on 15-Sep-08. Late penalty: 1% per day

Assignment 3

10%

Due on 27-Oct-08. Late penalty: 1% per day

Examination

50%

To be arranged

Total

100%

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

All online quizzes, conceptual & practical questions, and assignments should be handed in via the online WebCT system at http://online.mq.edu.au/ by the time specified in the assignment description. Refer to the unit web page for the submission deadlines. All work submitted should be readable and well presented. Late work will be accepted with penalty outlines by the unit web page. If you cannot submit on time because of illness or other circumstances, please contact the lecturer before the due date. 

Examinations

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

MacquarieUniversityprovides a range of Academic Student Support Services. Details of these services can accessedat http://www.student.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. 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