Presentation is loading. Please wait.

Presentation is loading. Please wait.

INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2016-T2.

Similar presentations


Presentation on theme: "INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2016-T2."— Presentation transcript:

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


Download ppt "INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2016-T2."

Similar presentations


Ads by Google