www.monash.edu.au 1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf of Monash University pursuant to Part VB of the Copyright Act 1968 (the Act). The material in this communication may be subject to copyright under the Act. Any further reproduction or communication of this material by you may be the subject of copyright protection under the Act. Do not remove this notice. www.monash.edu.au FIT2004 Algorithms & Data Structures Introductory Information Prepared by: Bernd Meyer July 2008 www.monash.edu.au 3 Timetable Synopsis • Lectures – Monday 11am (25/S9) – Wednesday 1pm (11/H2) – Practicals/Labs (pracs, see allocate+) – fortnightly (2 hours+1 hour marking) starting Wk 4 • Tutorials (tutes, see allocate+) – Wk 2 and Wk 3 then fortnightly (1 hour) starting Wk 2 www.monash.edu.au 4 Overview of Syllabus • Specification & Verification – Abstract Data Types – Correctness • Data Structures – particularly dynamic data structures • Standard Algorithms – for Sequences (Strings), Lists, Trees, Graphs • Algorithm Design Principles – Divide & Conquer, Dynamic Programming, Plane Sweep • Complexity Analysis www.monash.edu.au 5 Preliminary Timetable FIT2004 www.monash.edu.au 6 This is NOT a Programming Class Note 1 • Code is only used to illustrate concepts • You need to be able to program! (see literature: D. Bailey’s book) www.monash.edu.au 7 Note 2 • If you didn’t learn Java • You can solve the pracs and assignments in ‘C’. • you won’t be penalized, but don’t expect too much help. • If you want to use any other language, ask me. www.monash.edu.au 8 Time Requirements • 2 x 1 hour lectures • 0.5 x 1 hour tutorial (compulsory) • 0.5 x 2 hour practical (compulsory) • 0.5 x 1 hour presentation of assignment solutions (usually, during 3rd hour of practical) … plus preparation at home (nominally 8 hrs!) … read, read, read … try to implement algorithms www.monash.edu.au 9 People Involved • Lecturer – A/Prof Bernd Meyer, Building 63 (136) Bernd.Meyer@infotech.monash.edu.au • Head Tutor – Dhananjay.Thiruvady, Building 63 (137) Dhananjay.Thiruvady@infotech.monash.edu.au • Tutors & Demonstrators – Timothy Dolley – Minh Dinh www.monash.edu.au 10 Course Materials • Found at the unit’s MOODLE site, including: – Introductory Notes – Lecture Notes – Practicals (Lab) Notes – Tutorial Sheets • Remember to: – Set your e-mail forward if you need it!!! http://moodle.med.monash.edu.au/ www.monash.edu.au 11 Textbooks - Mark Allen Weiss: Data Structures and Algorithm Analysis in Java. 2nd Edition. Addison-Wesley. (exact title, there is a different book with a very similar title!!!) - Michael Goodrich and Roberto Tamassia. Data Structures and Algorithms in Java, 3rd or 4th Edition. John Wiley. • Also Recommended – Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. Introduction to Algorithms. 2nd Edition. The MIT Press & Mc Graw Hill. – Robert Sedgewick. Algorithms in Java, 3rd Edition. Addison-Wesley. (Library online holding available) – Duane A. Bailey. Java Structures. McGraw Hill. www.monash.edu.au 12 Tutorials • 1 hour/fortnight compulsory • Start in Week 2 • Notes made available during the semester – may be downloaded from WWW / Moodle • You must prepare tutorials beforehand! www.monash.edu.au 13 Practicals • 2 hrs/fortnight compulsory (marking afterwards: 1 hr) • Locations and Times see Allocate+ • Conducted by “Lab Demonstrators” • Start in Week 4 – Organize your computer account before the first prac if you do not already have one (http://www.its.monash.edu.au/faq/register.html) • Notes available in first practical class – may be downloaded from the WWW www.monash.edu.au 14 Practicals Marks • 2 hrs/fortnight compulsory (marking afterwards: 1 hr) • For repeat students: prac marks can be rolled over if you achieved >= ‘D’ average • Marks a preliminary up to the Revision Week • Marks are preliminary up to the Revision Week. Read the marking policy on Moodle! www.monash.edu.au 15 Prac Requirements • Computer account: – username, Authcate password, Novell password – Where? > http://www.its.monash.edu.au/faq/ > ITS Helpdesk – Bring student ID card www.monash.edu.au 16 Software used in Pracs “Java” programming language Free Implementations and Documentation available at – http://java.sun.com/j2se/ – and various other places “BlueJ” development environment (educational IDE) Free versions and Documentation are available at – http://www.bluej.org www.monash.edu.au 17 Missed Pracs and Tutorials • If you miss a prac, you will be marked ABSENT, unless you do the TWO following things: 1. attend another prac the same week (with the approval of the Head Tutor), AND 2. email to head tutor – NAME: – ID NUMBER: – DATE OF REPLACEMENT PRAC: – REGULAR PRAC: (time and room) – REPLACEMENT PRAC: (time and room) www.monash.edu.au 18 Missed Pracs and Tutorials (cont) If you had an illness or emergency, then If you 1. Obtain a Certificate 2. Hand in a Special Consideration Form (see university web pages for SC policy) Then Your mark will be changed from ABSENT to SICK www.monash.edu.au 19 Missed Pracs and Tutorials (cont) • At the end of the semester: – provided you attended at least 75% of the pracs – your marks are taken only out of those pracs that you attended. www.monash.edu.au 20 Self-Assessment and Practice • Use TRAKLA2 – Electronic exercise system • http://ville.cs.utu.fi/fit2004/ • See Moodle web site www.monash.edu.au 21 Assessment • Prac Class Assessment: 30% – 6 pracs, 10 marks each – Hurdle 1: 50% of the prac mark – Hurdle 2: attempt at least 4 pracs • Final exam: 70% – Hurdle 3: 50% of the exam mark www.monash.edu.au 22 Marks and Hurdles • To pass FIT2004 – Your marks must average to at least 50% – You must pass each individual hurdle Failure to meet a hurdle will result in a maximum mark of 44N www.monash.edu.au 23 Plagiarism and Cheating • Monash University takes plagiarism and cheating very seriously. There are severe penalties for them. • See http://www.infotech.monash.edu.au/resources/ student/assignments/policies.html • Plagiarism is legitimately using someone else's work, but not acknowledging it. Cheating is pretending that someone else's work is your own, in order to gain an unfair advantage. • It is OK to work together on your assignments, but each person must write the entire assignment alone and be able to explain and modify it on request. www.monash.edu.au 24 Staff Consultations • Bernd Meyer – Thursday 4-6 pm – Rm 136, Bldg 63 – 990 52240 – bernd.meyer@infotech.monash.edu.au www.monash.edu.au 25 Language and Learning Officer • Amanda Everaert – Amanda.Everaert@CeLTS.monash.edu.au • Individual/group consultations and courses • LLS offices, 1st Floor, Union Building (Western extension) • http:/www.celts.monash.edu.au/ www.monash.edu.au 26 Student Responsibilities • During lectures: minimize noise/distractions – Do not talk in lectures – Do not pack up early – Use rear door if you must arrive late or leave early – Turn off your mobile phone • Lecture attendance – Catch up on missed lectures