Download presentation
Presentation is loading. Please wait.
Published byShavonne Marsha Ford Modified over 8 years ago
1
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2016-T2 Welcome Thomas Kuehne, Marcus Frean,
2
2 PEOPLE Co-ordinator: Alex Potanin [CO262, 463-5302] Office hours: Tuesdays 10:00a.m. – 12:00 p.m Lecturers: Thomas Kuehne, Lindsay Groves Senior Tutor: Zarinah Amin [Co343, 463-5936] Email: firstname.lastname@ecs.vuw.ac.nzfirstname.lastname@ecs.vuw.ac.nz Course URL: http://ecs.victoria.ac.nz/Courses/COMP103_2016T2 Class Rep:YOUR NAME HERE?! 2
3
3 ADMINISTRATION Prerequisite: You need to have passed COMP112, or COMP102 with a B- or better. If you did not meet this, you can take 102/112 again. 3
4
4 HELPING YOU SUCCEED 4
5
5 LECTURES Mon-Wed-Fr in HM LT205 Slides on course webpage print yourself video recordings Goals Provide a framework for your learning Provide explanations/demonstrations SLIDES NOTES TEXTBOOK 5
6
6 TUTORIALS Run by a successful former student of 103 Starting next week locations → “Timetable” at COMP 103 pages What happens quick quiz work with peers to understand tricky bits The tutor will set topical problems – you will work out answers, get feedback, discuss with the tutor and each other... Our aim: help you to understand both lectures and assignments better 6
7
7 ASSIGNMENTS Critical for your learning! 10 Assignments total of 20% out: Fridays due: Fridays (before lecture) (submitted electronically) Solutions will be available after hand-in time. Late assignments cannot be marked. 7
8
8 ASSIGNMENTS Some THEMES for the assignments Graphical editors: painting, diagrams, family trees.. Processing files of TEXT DATA: analysing data files, stories, web pages etc. Simulations: programs that implement real world behaviour Do it yourself – no pairing up You can work in the ECS labs at all sorts of hours of day and night Register on a lab computer to obtain a user login (if you haven’t already got one from 102/112) 8
9
9 HELP DESK Intended for small groups... One-on-one help with assignment work No direct solutions will be provided Close to the labs but not in them print your code & highlight aspects to discuss Where and When → “Timetable” at COMP 103 pages 9
10
10 TEXT BOOK JAVA FOUNDATIONS: Introduction to Program Design & Data Structures by Lewis, DePasquale and Chase - 2 nd or 3 rd edition is best SAME textbook as comp 102/112 COMPLEMENTS lectures and assignments (but we do not always follow the text closely) 10
11
11 WEB RESOURCES FORUM Post questions Collaborate and help each other Course staff monitor and answer when appropriate NO posting chunks of ANSWERS to assignments! all lecture slides and assignments videos links to Java reference material tips on getting Java and BlueJ working at home 11
12
12 ASSESSMENT 10 Assignments[20%] Mid-term test[20%] 45 mins, close to break Tutorials – participate![ 2%] Final Exam [58%] 2 hours, in exam period Mandatory Requirements: submit reasonable attempts for at least 7 out of 10 Assignments (may also be used for borderline cases and aegrotats) at least a D in the exam and (as always) at least ‘C-’ grade overall 12
13
13 PLAGIARISM UNACCEPTABLE We want you to LEARN, TALK to each other, learn TOGETHER, and HELP each other, but PLAGIARISM is UNACCEPTABLE! Got help from anybody other than lecturer or tutor ? STATE IT ON THE ASSIGNMENT! Copied bits of code from anywhere other than lecture slides or textbook ? STATE IT ON THE ASSIGNMENT! 13
14
14 SAFETY in the LABS Please be safe in the computer labs Read the POSTERS in the lab Listen to Roger Cliffe See student health quickly if you get problems 14
15
15 QUICK RECAP What was in comp 102/112? Classes, Objects, Fields, Methods Conditionals, Loops (if, if...else, for, while, do..while) Using variables, reading input, writing, drawing Algorithm design Using GUI’s (Graphical User Interface) Arrays, and using ArrayList Revise these concepts if necessary! 15
16
16 Some Basic Terms Algorithm: step-by-step process to solve a problem (pseudocode: part code, part English) Program: actual implementation of an algorithm in a programming language Data Structure: the way data is structured or organized (example: Array) Collection: an object that serves as a container for other objects (it aggregates them) 16
17
COLLECTIONS Many real life examples involve what we could call Collections, and this is reflected in programs written to help real life: Collections of books, music, photos, clothes,... Organized in a way to ease access and management Some STANDARD types of Collections we will use in our programs: List, Set, Bag, Stack, Queue, Trees, Map 17
18
18 Varieties of collection Different structures No structure – just a collection of values Linear structure of values – order matters Hierarchical structures Different constraints for accessing elements get, put, remove anywhere get, put, remove only at the ends, or only at top (and so on). 18
19
WHAT CAN YOU EXPECT... Using and understanding the current Java Collections Library Creating your own Collections How to add, remove, search, sort,... efficiently So this is what 103 is about: The fundamental data structures of computer science The crucial algorithms on those structures Especially the efficiency of those algorithms 19
20
20 Course Overview – Part 1 Programming with Linear collections Different Kinds of collections: Lists, Sets, Bags, Maps, Stacks, Queues, Priority Queues Using, implementing, sorting, and searching these linear collections... 20
21
21 Course Overview – Part 2 Programming with Hierarchical collections Building, traversing Tree-structured collections Re-implementing linear collections with binary search trees with partially ordered trees with hash tables 21
22
22 RECURRING THEMES Good Design Choosing appropriate implementations How do you get it right first time ? Efficiency How fast is it ? How much memory does it take ? Analysis and benchmarking 22
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.