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 | 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.
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:
- Foundation skills of literacy, numeracy and information technology;
- Self-awareness and interpersonal skills;
- Communication skills;
- Critical analysis skills;
- Problem-solving skills;
- Creative thinking skills.
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 |
|
10% |
Due on 25-Aug-08. Late penalty: 1% per day |
|
|
10% |
Due on 15-Sep-08. Late penalty: 1% per day |
|
|
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:
- You must perform satisfactorily in the examination in order to pass this unit.
- You must submit a reasonable attempt to all the assignments to pass this unit.
- You must submit conceptual & practical questions every week, and actively participate in the weekly classes to pass this unit.
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.