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

Slides:



Advertisements
Similar presentations
Cpt S 122 – Data Structures Course Introduction
Advertisements

COMP171 Data Structures and Algorithms Spring 2009.
Using MyMathLab Features You must already be registered or enrolled in a current class.
CS 197 Computers in Society Fall, Welcome, Freshmen!
COMP171 Data Structures and Algorithms Spring 2009.
Lecture 1: IntroductionIntro to IT COSC1078 Introduction to Information Technology Lecture 2 Overview James Harland
CMSC 132: Object-Oriented Programming II
CS 331 / CMPE 334 – Intro to AI CS 531 / CMPE AI Course Outline.
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
1 Foundations of Software Design Lecture 1: Course Overview Intro to Binary and Boolean Marti Hearst SIMS, University of California at Berkeley.
COMP171 Data Structures and Algorithm Huamin Qu Lecture 1 (Sept. 1, 2005)
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
COMP152 Object-Oriented Programming and Data Structures Spring 2011.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
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.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
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.
JAVA COLLECTIONS LIBRARY School of Engineering and Computer Science, Victoria University of Wellington COMP T2, Lecture 2 Marcus Frean.
© 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.
Java Collections An Introduction to Abstract Data Types, Data Structures, and Algorithms David A Watt and Deryck F Brown © 2001, D.A. Watt and D.F. Brown.
Course Web Page Most information about the course (including the syllabus) will be posted on the course wiki:
Instructor Information: Dr. Radwa El Shawi Room: Week # 1: Overview & Review.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
DATA STRUCTURES (CS212D) Week # 1: Overview & Review.
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.
1 Principles of Computer Science I Note Set 1 CSE 1341.
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)
COMP2012 Object-Oriented Programming and Data Structures Fall 2015.
CMSC 2021 CMSC 202 Computer Science II for Majors Fall 2002 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
CS-2851 Dr. Mark L. Hornick 1 CS-2852 Data Structures Dr. Mark L. Hornick Office: L341 Phone: web: people.msoe.edu/hornick/
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
CSE 3358 NOTE SET 1 Data Structures and Algorithms.
© 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
2011-T2 Lecture 21 School of Engineering and Computer Science, Victoria University of Wellington  Marcus Frean, Lindsay Groves, and Peter Andreae, VUW.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
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.
COMP 261 Lecture 1 Course Overview. The Team Alex Potanin Zohar Levi Tony Daniel Kelsey Harry Gareth Paul Vahid.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
COM621 – Interactive Web Development 2015/2016 Module Co-Ordinator: Dr. Pratheepan Yogarajah Room:
COMP9024: Data Structures and Algorithms Course Outline Hui Wu Session 1, 2016
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP T2.
Using the Java Collection Libraries COMP 103 # T2
Introduction to Computer Science COMP T1 .
Computer Engineering Department Islamic University of Gaza
COMP9024: Data Structures and Algorithms
JAVA COLLECTIONS LIBRARY
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
Presentation transcript:

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

2 PEOPLE  Co-ordinator: Marcus Frean [Co227, ] Office hours: 9-11am Fridays  Lecturer: Thomas Kuhne [Co233, ] Office hours: TBA....  Senior Tutor: Zarinah Amin [Co343, ]   Course URL:  Class Rep:YOUR NAME HERE? 2

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

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 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 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 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 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 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 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 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 ASSESSMENT  10 Assignments[20%]  Two Tests[ = 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 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 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 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 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

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

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