Presentation is loading. Please wait.

Presentation is loading. Please wait.

INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Marcus Frean School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2013-T2.

Similar presentations


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

1 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Marcus Frean School of Engineering and Computer Science, Victoria University of Wellington COMP 103 2013-T2 Welcome

2 2 PEOPLE  Co-ordinator: Marcus Frean [Co227, 463-5672] Office hours: 9-11am Fridays  Lecturer: Thomas Kuhne [Co233, 463-5443] Office hours: TBA....  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_2013T1  Class Rep:YOUR NAME HERE? 2

3 3 ADMINISTRATION  Prerequisite:  You should have PASSED comp 102 (or have been granted a prerequisite waiver)  If you failed comp 102, you can take it again (comp102 and comp103 offered both trimesters, but not summer)  If you got a ‘C’ in comp 102 you’re likely to find comp 103 very difficult 3

4 4 HELPING YOU SUCCEED 4

5 103 timetable 5 Lectures: Mon-Thurs-Fri 10am, in same room. Tutorials and Help desk: Being finalised this week. this  is “Weekly timetable”, on the course website’s side-bar

6 6 LECTURES  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 6

7 7 TUTORIALS  Taken by a variety of students  Starting next week  various locations  What happens:  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 7

8 8 ASSIGNMENTS  Critical for your learning!  10 Assignments, total 20%  Assignments out: Thursdays in lecture  Assignments due: Friday of the following week, before 10am (submitted electronically)  There’s a hard deadline of 10am, because late assignments cannot be accepted once solutions are made available! 8

9 9 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 bits of REAL world  Do it yourself – NO pairing like comp102!  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) 9

10 10 HELP DESK  Intended for small groups, of about 1...  One-on-one help with assignment work.  Close to the labs but not in them: print out your code, highlight what you want to discuss.  Day/Time/Venue: To be announced 10

11 11 TEXT BOOK  JAVA FOUNDATIONS: Introduction to Program Design & Data Structures - by Lewis, DePasquale and Chase - 2 nd edition is best  SAME textbook as comp 102  COMPLEMENTS lectures and assignments (but we do not always follow the text closely) 11

12 12 WEB RESOURCES  FORUM:  Post questions  Collaborate and help each other  Tutors and Lecturers monitor and answer when appropriate  NO posting chunks of ANSWERS to assignments!  all the lecture notes and assignments  videos (soon)  links to Java reference material  tips on getting Java and BlueJ working at home  previous tests and exams 12

13 13 ASSESSMENT  10 Assignments[20%]  Two Tests[15 + 15 = 30%] 45 mins, on Friday 9 th August, and Friday 20 th September.  Final Exam [50%] 3 hours, during exam period  Mandatory Requirements:  Submit reasonable attempt for at least 7 out of 10 Assignments (all submitted assignments may be used for borderline cases and aegrotats)  At least ‘C’ grade overall to PASS 13

14 14 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! 14

15 15 SAFETY in the LABS  Computer Labs are the most dangerous labs in the university  More people are injured at computer labs than in any other science lab!  Your computer at home is probably even more dangerous! AAAAAaaaaargh! OOS is rampant and debilitating  Read the POSTERS in the lab  See student health quickly if you get problems 15

16 16 QUICK RECAP  What was in comp 102?  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 to get a head-start! 16

17 17 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”) 17

18 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 18

19 19 COLLECTIONS  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). 19

20 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 20

21 21 Course Overview – Part 1 Programming with Linear collections  Different Kinds of collections:  Lists, Sets, Bags, Maps, Stacks, Queues, Priority Queues  Implementing, using, sorting, and searching these Linear collections... 21

22 22 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 22

23 23 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 23


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

Similar presentations


Ads by Google