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

Slides:



Advertisements
Similar presentations
COMP171 Data Structures and Algorithms Spring 2009.
Advertisements

COMP171 Data Structures and Algorithms Spring 2009.
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2010.
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
COMP152 Object-Oriented Programming and Data Structures Spring 2011.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Marcus Frean School of Engineering and Computer Science, Victoria University of Wellington COMP T2.
COMP Introduction to Programming Yi Hong May 13, 2015.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
COMPE 226 Data Structures 2015 Fall Murat KARAKAYA Department of Computer Engineering.
© Xiaoying Gao, Peter Andreae Introduction to Computer Program Design COMP T2. Xiaoying (Sharon) Gao Computer Science Victoria University of Wellington.
Introduction. 2COMPSCI Computer Science Fundamentals.
Course ‘Data structures and algorithms – using Java’ Teaching materials and presentation experience Anastas Misev Institute of Informatics Faculty of Natural.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Welcome CSCI 1100/1202 Intro to Computer Science Winter 2002.
Data Structures (Second Part) Lecture 1 Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
1 WELCOME TO COMPUTER SCIENCE 1027b COMPUTER SCIENCE FUNDAMENTALS II Lecturers: Eric Schost (001) John Barron (002)
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Marcus Frean School of Engineering and Computer Science, Victoria University of Wellington COMP T2.
COMP2012 Object-Oriented Programming and Data Structures Fall 2015.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
© Xiaoying Gao, Peter Andreae Introduction to Computer Program Design COMP T2. Xiaoying (Sharon) Gao Computer Science Victoria University of Wellington.
Peter Andreae Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington2012 COMP 103.
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP T2.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2001 Sections Ms. Susan Mitchell.
JAVA COLLECTIONS LIBRARY School of Engineering and Computer Science, Victoria University of Wellington COMP T2, Lecture 2 Thomas Kuehne.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Data Structures and Algorithms in Java AlaaEddin 2012.
COMP 103 wrapping up and some exam tips 2015-T2 Lecture 32 Marcus Frean School of Engineering and Computer Science, Victoria University of Wellington 
JAVA COLLECTIONS LIBRARY School of Engineering and Computer Science, Victoria University of Wellington COMP T2, Lecture 2 Marcus Frean.
Principles of Imperative Computation Lecture 1 January 15 th, 2012.
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2013.
COMP9024: Data Structures and Algorithms Course Outline Hui Wu Session 1, 2016
EGR 115 Introduction to Computing for Engineers Course Overview and Introduction Monday 29 Aug EGR 115 Introduction to Computing for Engineers Slide 1.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Advanced Higher Computing Science
CENG 707 Data Structures and Algorithms
Using the Java Collection Libraries COMP 103 # T2
Introduction to Computer Science COMP T1 .
Computer Engineering Department Islamic University of Gaza
COMP 261 Lecture 1 Course Overview.
CS101 Computer Programming I
COMP9024: Data Structures and Algorithms
CSc 020: Programming Concepts and Methodology II
EGR 115 Introduction to Computing for Engineers
March 27 – Course introductions; Adts; Stacks and Queues
CENG 213 Data Structures Dr. Cevat Şener
JAVA COLLECTIONS LIBRARY
National 5 Computing Science Specimen Question Paper
CS5040: Data Structures and Algorithms
CSC 111 Course orientation
COMP 103 Sorting with Binary Trees: Tree sort, Heap sort Alex Potanin
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
Binary Search Trees (I)
Lecture 1: Welcome to CSE 373
Introduction to General Biology BI 101
Introduction CSE 373 Data Structures.
Introduction to CS II Data Structures
Introduction to Microbiology BI 234
Computer Graphics Course Introduction.
Principles of Imperative Computation
WELCOME TO EE457 COMPUTER SYSTEMS ORGANIZATION
Presentation transcript:

INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP T2 Welcome  Thomas Kuehne, Marcus Frean,

2 PEOPLE  Co-ordinator: Alex Potanin [CO262, ] Office hours: Tuesdays 10:00a.m. – 12:00 p.m  Lecturers: Thomas Kuehne, Lindsay Groves  Senior Tutor: Zarinah Amin [Co343, ]   Course URL:  Class Rep:YOUR NAME HERE?! 2

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 HELPING YOU SUCCEED 4

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

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

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