introduction to data structures and algorithms thomas kuehne school of engineering and computer...
TRANSCRIPT
![Page 1: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/1.jpg)
INTRODUCTION TO
DATA STRUCTURES AND ALGORITHMS
Thomas KuehneSchool of Engineering and Computer Science, Victoria
University of Wellington
CO
MP 1
03
2015-T2 Welcome
Thomas Kuehne, Marcus Frean,
![Page 2: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/2.jpg)
2
PEOPLE Co-ordinator: Marcus Frean [Co353, 463-
5672]Office hours: TBA
Lecturers: Thomas Kuehne, Marcus Frean
Senior Tutor: Zarinah Amin [Co343, 463-5936]
Email: [email protected]
Course URL:http://ecs.victoria.ac.nz/Courses/COMP103_2015T2
Class Rep: YOUR NAME HERE?!
2
![Page 3: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/3.jpg)
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.
(COMP102 is offered both trimesters, but not over the summer.)
3
![Page 4: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/4.jpg)
4
HELPING YOU SUCCEED4
![Page 5: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/5.jpg)
5
LECTURES Mon-Thur-Fr in MC LT101
Slides printouts provided in class also on course webpage I’m looking into video – should be fine
Goals: Provide a framework for your learning Provide explanations/demonstrations
SLIDES NOTES TEXTBOOK
5
![Page 6: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/6.jpg)
6
TUTORIALS Run by a successful former student
of 103 Starting next week various locations
What happens: Quick quiz work with peers to understand the 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
![Page 7: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/7.jpg)
7
ASSIGNMENTS Critical for your learning! 10 Assignments total of 20%
out: Fridays (in lecture) due: Fridays (before lecture)
(submitted electronically)
Solutions will be available after hand-in time.
Late assignments cannot be marked.
7
![Page 8: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/8.jpg)
8
ASSIGNMENTSSome 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 bits of REAL world
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
![Page 9: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/9.jpg)
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 themprint your code & highlight aspects to discuss
Where and When: to be announced
9
![Page 10: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/10.jpg)
10
TEXT BOOK JAVA FOUNDATIONS:
Introduction to Program Design & Data Structuresby Lewis, DePasquale and Chase
- 2nd or 3rd edition is best SAME textbook as comp 102/112 COMPLEMENTS lectures and assignments
(but we do not always follow the text closely)
10
![Page 11: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/11.jpg)
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 notes and assignments videos (soon) links to Java reference material tips on getting Java and BlueJ working at
home
11
![Page 12: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/12.jpg)
12
ASSESSMENT
10 Assignments [20%] Mid-term test [20%] 45 mins, close to
break Tutorials – get there! [ 2%] Final Exam [58%] 2 hours, in exam
period
Mandatory Requirements: Submit reasonable attempt for
at least 7 out of 10 Assignments (may be used for borderline cases and aegrotats)
At least ‘C-’ grade overall to PASS… …and at least a D in the exam
12
![Page 13: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/13.jpg)
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
![Page 14: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/14.jpg)
14
SAFETY in the LABS Please be safe in the computer labs
More people are injured at computer labsthan in any other science lab
Read the POSTERS in the lab Listen to Roger Cliffe See student health quickly if you get
problems
14
![Page 15: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/15.jpg)
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
![Page 16: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/16.jpg)
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 repository for other objects (like a “container”)
16
![Page 17: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/17.jpg)
COLLECTIONS Big chunks of real life 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
use items
Some STANDARD types of Collections we use in our programs: List, Set, Bag, Stack, Queue, Trees, Map
17
![Page 18: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/18.jpg)
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
![Page 19: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/19.jpg)
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
![Page 20: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/20.jpg)
20
Course Overview – Part 1Programming with Linear collections
Different Kinds of collections: Lists, Sets, Bags, Maps, Stacks, Queues,
Priority Queues Using, implementing, sorting, and
searching these linear collections...
20
![Page 21: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/21.jpg)
21
Course Overview – Part 2Programming with Hierarchical
collections
Building, traversing Tree-structured collections
Re-implementing linear collections with binary search trees with partially ordered trees with hash tables
21
![Page 22: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2015-T2](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c0131a28abf838ccccae/html5/thumbnails/22.jpg)
22
RECURRING THEMES Good Design Choosing appropriate
implementationsHow do you get it right first
time?
Efficiency How fast is it?How much memory does it
take?Analysis and benchmarking
22