241-423 Advanced Data Structures and Algorithms Semester 2, 2013-2014 0. Preliminaries Please ask questions Who I am: Andrew Davison CoE, Wig Lab Office ad@fivedots.coe.psu.ac.th • Objective – to give some background on the course ASDA: Prelim/0 1 Overview 1. 2. 3. 4. 5. 6. ASDA: Prelim/0 Outline of the Course Meeting Time / Location Workload Course Materials Reading Materials Further Information 2 1. Outline of the Course • To introduce data structures and algorithms from an OOP viewpoint, using Java. • You must have passed 241-303 “Discrete Maths”, and a Java subject, such as 241-211 OOP. • We will use JDK 7 or Java SE 6.0 on Windows ASDA: Prelim/0 3 Main Topics • • • • • • • Intro to Algorithms: Big-Oh, sorting Generics, Collections, Iterators Lists, Queues Regular Expressions Maps, Hashing, Heaps Balanced Search Trees String Searching (maybe) ASDA: Prelim/0 4 2. Meeting Time / Location • Tuesday Friday 13:00 – 14:50 14:00 – 14:50 A202 R201 • 3 hours altogether • You can ask me to change these times, but most (all) of the other students must agree. ASDA: Prelim/0 continued 5 3. Workload (% of total score) • Mid-term Exam: 30% (2 hours) • Three exercises (each worth 10%): 30% – in weeks 6-7, 11-12, 14-15 • Final Exam: 40% ASDA: Prelim/0 (3 hours) 6 Non-Attendence Penalty • I may take registration at the start of a class. • If someone is not there, they lose 1% (unless they have a good excuse). • A maximum of 10% can be lost – deducted from your final mark ASDA: Prelim/0 7 4. Course Materials • All the handouts (and other materials, such as code examples) will be placed on-line at: http://fivedots.coe.psu.ac.th/ Software.coe/ADSA/ • Print using 6 slides/page to save trees. • I am not using VCR, since I haven't written all the slides yet. ASDA: Prelim/0 8 5. Reading Materials In the CoE library • The main textbook: Data Structures with Java W.H. Ford and W.R. Topp Pearson, 2005 http://www1.pacific.edu/ ~wford/fordtopp/javabook/ java_index.html – code, errata sheet many examples taken from here ASDA: Prelim/0 continued 9 Other Good Books • Data Structures and Algorithms in Java, Robert Lafore, Sams, 2003, 2nd ed. • Data Structures and Algorithms in Java, M.T. Goodrich and R. Tamassia, Wiley, 2005, 4th ed • PDF versions are at Aj. Somchai's website: http://java.coe.psu.ac.th/ ForMember/Books.html ASDA: Prelim/0 continued 10 in the CoE library • A Thai book that contains good examples: เรี ยนรู้โครงสร้างข้อมูลและอัลกอริ ทึมด้วย Java (ฉบับปรับปรุ ง) ผูแ้ ต่ง : เนรมิตร ชุมสาย ณ อยุธยา รหัสสิ นค้า : 9789742125165 2nd ed, 2550 http://sci.feu.ac.th/faa/dsa/dsa.html • code, errata sheet this is the first edition; avoid ASDA: Prelim/0 11 6. Further Information • A recent version of Java (i.e. JavaSE 6.0 or JDK 7) and its documentation at: http://java.coe.psu.ac.th/RefImp.html#JavaSE • Download packages from CoE: • JavaSE 6.0 SDK, WindowsFull (76.7 MB) and the 6.0 documentation (53.7 MB) ASDA: Prelim/0 continued 12 Download three things. • The Java tutorial is at: http://java.coe.psu.ac.th/ FreeOnline.html – the first entry under the heading "Sun Press" – get the 2006 zipHTML version (23.5 MB) ASDA: Prelim/0 13