[ANU] [DCS] [COMP2100/2500] [Description] [Schedule] [Lectures] [Labs] [Homework] [Assignments] [COMP2500] [Assessment] [PSP] [Java] [Reading] [Help]
COMP2100/2500
Lecture 30: RevisionSummary
Preparation for the final exam, and filling in unit evaluation forms.
Aims
To give us the information we need in order to make this unit better next year.
To give you the information you need about the final exam.
Feedback Survey
The purpose of the survey is to help us make this unit better next year. Some of what you experienced in this year's COMP2100 was the outcome of such surveys done in previous years: for example expanding the number of lectures and labs on recursive data structures and graphical user interfaces. If you liked or didn't like this course, if it was too hard or too easy, if it took too long, if you think it was poorly taught, this is your opportunity to say so. If you don't let us know, we have no chance to improve.
Please fill in the survey (both sides) and return to us.
This year we'll also be doing one of the university's official ANUSET forms. While these are not as useful, they are becoming an official requirement. For these we need volunteers to collect them and return them to the DCS front office (or directly to CEDAM).
Final Exam
Examination Timetable online: timetable.anu.edu.au/exams/
15 minutes reading time
4 hours working time
5 questions
20 marks per question
Answer all questions
You may bring one A4 page with notes on both sides.
Answer on the computer
What's going to be in the exam?
Everything we have covered in COMP2100 is potentially in the exam.
This includes both theoretical and practical work.
You should revise:
All lecture material
All laboratory exercises
All tutorial exercises
All assignment work
You may expect the final to concentrate more on those topics that were not examined in the midsemester exam, but not exclusively so.
Can we have copies of exams from previous years?
Yes. I have made PDFs of them available here.
Don't assume that this year's exam will be the same as last year or the year before. The unit has been different each year in several ways, and the exam will also be different. In particular, this year the final exam will be a lab exam, so it will be very different.
Calculation of final mark
See the Assessment Page.
Can I get another exam?
Generally No. These are the only exceptions:
You will be offered a supplementary exam only if:
You have obtained a final mark in the range 45-49.
You needed to score just 50% on the final exam to pass the unit.
You may be offered a special exam only if:
You have a medical certificate stating that you were too sick to sit the ordinary exam.
You complete the official request form within a very short period after the exam. (Check the examination rules on the exam timetable website for the exact details. The rules are very strict.)
Minor illness like a cold is grounds for special consideration, NOT a special exam. You make a request for special consideration, and we take that into account when determining your final mark and grade.
Getting help between now and the exam
Come to see Ian or Richard.
Ask specific questions.
Don't ask us to repeat lectures you missed.
Don't ask us about the content of the exam.
Don't contact us at all between the exam and the notification of results. (This is in the rules. It's serious.)
What did we cover in this unit?
Recursive data structures - stacks & trees (see Lecture 7, Lecture 8, Lecture 9 and Lab 2). Also binary search trees (see Homework 11) and XML parse trees (see Assignment 1). Also breadth-first traversal, Huffman coding and priority queues (see Lecture 27).
Java - (see Lecture 4, Lecture 6, Lab 1 and of course all the homeworks and the Java page).
Bash scripts (see Lecture 16, Lecture 17 and Lab 4).
Graphical user interfaces - theory & practice, model-view-controller architecture, implementation in Java Swing (see Lecture 11, Lecture 12, Lecture 13, Lab 3 and Assignment 2).
Static code analysis & code reviews (see Lecture 14 and Lecture 19).
Reading and understanding C programs (see Lecture 21, Lecture 22 and Lecture 23).
Build tools & version control (see Lecture 24 and Lab 5).
Multi-language programming and the Java Native Interface (see Lecture 26 and Lab 6).
Different programming paradigms (see Lecture 29).
The Personal Software Process - time management, disciplined development process, measurement of your process, defect management, process yield, appraisal to failure ratio, defect rates, cost of quality, commitment management, professional ethics (see Lecture 2, Lecture 3, Lecture 19, Lecture 28, Lab 1, all the homework and the PSP Page).
The project - although the specific subject matter of the project (Open Office files, XML etc) is not directly examinable, it has formed the main example for several aspects of the unit, and we may ask questions about other things that rely to some extent on understanding the project (see Lecture 5, Lecture 10, Lecture 20, Assignment 1 and Assignment 2).
Footnote on programming languages
Here's a pretty good first go at a solution to Homework 12 in Bash:
#!/bin/bash tr -cs 'A-Za-z0-9' '\n' | tr 'A-Z' 'a-z' | sort | uniq -c | sort -rn | head -5Compare that with the effort it takes to do it in Java.
The only thing missing is the requirement that words with the same frequency should be listed in alphabetical order. That's not hard to do: it just needs a second sort key to be specified on the second-last line.
[ANU] [DCS] [COMP2100/2500] [Description] [Schedule] [Lectures] [Labs] [Homework] [Assignments] [COMP2500] [Assessment] [PSP] [Java] [Reading] [Help]
Copyright © 2005, Ian Barnes, The Australian National University
Version 2005.1, Friday, 3 June 2005, 12:17:28 +1000
Feedback & Queries to
comp2100@cs.anu.edu.au