COMP 261 Lecture 1 Course Overview. The Team Alex Potanin Zohar Levi Tony Daniel Kelsey Harry Gareth Paul Vahid.

Slides:



Advertisements
Similar presentations
Graph Searching CSE 373 Data Structures Lecture 20.
Advertisements

Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013.
Chapter 8, Part I Graph Algorithms.
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
CS171 Introduction to Computer Science II Graphs Strike Back.
Lectures on Network Flows
CSE 589 Applied Algorithms Spring 1999 Course Introduction Depth First Search.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
ITEC200 – Week 12 Graphs. 2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Graphs CS-240/341. Uses for Graphs computer networks and routing airline flights geographic maps course prerequisite structures tasks for completing a.
Overview CS113, Fall 2000 Gene Itkis. The Promise Heavy Fast-paced Challenging Rewarding.
CS 206 Introduction to Computer Science II 11 / 05 / 2008 Instructor: Michael Eckmann.
COMP171 Data Structures and Algorithm Huamin Qu Lecture 1 (Sept. 1, 2005)
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Frank Carrano, © 2012.
Graphs Chapter 28 Copyright ©2012 by Pearson Education, Inc. All rights reserved.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
CSCE 3110 Data Structures and Algorithm Analysis.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
1 GRAPHS - ADVANCED APPLICATIONS Minimim Spanning Trees Shortest Path Transitive Closure.
COMP 261 Lecture 1 Course Overview.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Data Structures Lecture 1: Introduction Azhar Maqsood NUST Institute of Information Technology (NIIT)
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Marcus Frean School of Engineering and Computer Science, Victoria University of Wellington COMP T2.
CSCA48 Course Summary.
Computer Science 112 Fundamentals of Programming II Introduction to Graphs.
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
© Xiaoying Gao, Peter Andreae Introduction to Computer Program Design COMP T2. Xiaoying (Sharon) Gao Computer Science Victoria University of Wellington.
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Marcus Frean School of Engineering and Computer Science, Victoria University of Wellington COMP T2.
Review for Final Andy Wang Data Structures, Algorithms, and Generic Programming.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
© Xiaoying Gao, Peter Andreae Introduction to Computer Program Design COMP T2. Xiaoying (Sharon) Gao Computer Science Victoria University of Wellington.
CS Data Structures II Review & Final Exam. 2 Topics Review Final Exam.
Peter Andreae Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington2012 COMP 103.
Data Structures for Programmers Vamshi Ambati
COMP261 Lecture 6 Dijkstra’s Algorithm. Connectedness Is this graph connected or not? A Z FF C M N B Y BB S P DDGG AA R F G J L EE CC Q O V D T H W E.
Minimum Spanning Trees Featuring Disjoint Sets HKOI Training 2006 Liu Chi Man (cx) 25 Mar 2006.
Week 12 - Monday.  What did we talk about last time?  Topological sort and cycle detection in directed graphs  Connectivity  Strong connectivity.
Weighted Graphs Computing 2 COMP s1 Sedgewick Part 5: Chapter
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP T2.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
1/16/20161 Introduction to Graphs Advanced Programming Concepts/Data Structures Ananda Gunawardena.
© 2006 Pearson Addison-Wesley. All rights reserved 14 A-1 Chapter 14 Graphs.
COMP1927 Course Introduction 16x1
Graphs Upon completion you will be able to:
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
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 
Graphs Chapter 28 © 2015 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures and Abstractions with Java, 4e Frank Carrano.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Data Structures By Dr. Mehedi Masud ِAssociate Professor, Computer Science Dept. College of Computers and Information Systems Taif University 1.
Graphs David Kauchak cs302 Spring Admin HW 12 and 13 (and likely 14) You can submit revised solutions to any problem you missed Also submit your.
Week 11 - Wednesday.  What did we talk about last time?  Exam 2  And before that:  Graph representations  Depth first search.
COMP 103 Course Review. 2 Menu  A final word on hash collisions in Open Addressing / Probing  Course Summary  What we have covered  What you should.
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP T2.
COMP 261 Lecture 1 Course Overview.
COMP 261 Lecture 2 Graphs 1 of 3.
Lecture 11 Graph Algorithms
Minimum Spanning Trees
CC 215 Data Structures Graph Searching
Definition In simple terms, an algorithm is a series of instructions to solve a problem (complete a task) We focus on Deterministic Algorithms Under the.
Graphs Chapter 11 Objectives Upon completion you will be able to:
Chapter 9: Graphs Basic Concepts
CSE 373 Data Structures Lecture 16
Important Problem Types and Fundamental Data Structures
Chapter 14 Graphs © 2011 Pearson Addison-Wesley. All rights reserved.
Lecture 10 Graph Algorithms
Presentation transcript:

COMP 261 Lecture 1 Course Overview

The Team Alex Potanin Zohar Levi Tony Daniel Kelsey Harry Gareth Paul Vahid

Menu What's the course about? Course Organisation and Administration Data Structures for Graphs

Goal 1 To build up a toolbox of algorithms for a range of tasks. –Graph algorithms Searching for paths (video games, AI, Google maps/ car navigation, network routing) Discovering Network properties –Graphics / image algorithms. –Parsing –Indexing: tries, quad-trees, B-trees, –File structures,

Goals 2 & 3 To be able to program with tricky algorithms –Reading (and writing) pseudocode (writing good pseudocode is harder than you think) –Implementing and testing code with tricky algorithms –Modifying standard algorithms to deal with real problems To understand and use algorithm complexity to sensibly choose algorithms for a task

How does the course work? Lectures (Video Recorded): Mondays at 11am - 11:50am COLT122 Tuesdays at 11am - 11:50am HULT323 Thursdays at 11am - 11:50am HULT323 Some lectures will be used for more tutorial-like sessions –talking about the assignments –going over previous material –dealing with questions and problems

Tutorials Check the course outline! Sign up for one, Exercises, discussion, assignment elaboration and discussion Starting next (second) week

How does the course work? Helpdesk: –Online, via forum, and individual help (as in COMP103 last year (?)) –Physical presence in lab: 242B Monday to Friday (during lecture weeks only at this stage) Starts on Monday in second week Textbook: –Algorithms and Data Structures, compiled by Alex Potanin, Pearson (some copies may be around, especially second hand) –Wikipedia pages: extremely good resource on algorithms.

How does the course work? Tests and Exams: –Terms test: 45 mins, Mon 18 April, in lecture (across two theatres!), 20% –Exam exam period 50% Assignments –5 assignments, roughly every 2-3 weeks. –6% each –Deadlines: Due mostly 10:30am Monday (Assign 5: Friday) Strict! (in order for the markers to be able to mark promptly) 20 marks off for first 24 hours late, 40 marks off for next 24 hours, 0 marks more than 2 days late. 3 "late days" for the whole course, so use wisely Further extensions need good cause and negotiation IN PERSON MARKING!!! 10%-100% PENTALTY IF YOU MISS IT!

Assignments Assig 1: Displaying Auckland Road Map. –data structures: graphs, tries, quad-trees Assig 2: Finding paths, articulation points, and capacity in Road Maps. –A* search, DFS articulation points, Network Flow algorithms. Assig 3: Graphics: rendering polygons –z-buffer based rendering algorithms Assig 4: Parsing robot control programs –recursive descent parsing Assig 5: Indexing very large data sets –B+ trees, low-level file structures.

Is it hard? COMP 261 is definitely challenging, but most students found it rewarding. It requires you to construct programs, mostly from scratch the first assignment is slightly big. Critical strategy: Do not leave the assignment until the last minute!!!

Prerequisites: What’s assumed? COMP 103 Abstract collection types: sets, bags, lists, stacks, queues, priority queues, binary trees, general trees –Programming in Java with Collections –Array and linked data structures for sets, lists, hashtables, heaps, and trees. –The meaning of big-O notation and complexity analysis and the ability to do simple analysis of complexity –Searching, sorting, and tree traversal algorithms A pass in COMP 103 is required

Prerequisites: What’s assumed? MATH 161 / ENGR 123 –A graph as a collection of vertices/nodes and edges –connectedness, paths, and other simple properties of graphs –Minimum spanning tree problem. –Simple combinatorics. Basic 2D geometry. The graphics algorithms component uses vectors and matrices - it helps to have done MATH 151 / ENGR 121 The ability to find things out by yourself. COMP 261 does NOT “spoon feed”, like 102 & 103. Any admin / organisation Questions?

Graphs (Reminder from MATH161 / ENGR12X) Collection of nodes (“vertices”) Collection of edges (pairs of nodes, connections between nodes) Useful for representing huge variety of situations in world –places/objects with connections airports & flights, intersections & roads, network switches and cables …. –entities with relationships social networks, biological models web pages …. –states and actions games, plans, …..

Graph Variants Directed or Undirected: Are the edges symmetric or not? Facebook or Twitter? Single or multi-graph: Can there be two edges between a pair of nodes? Do the edges have information attached? weights or labels Bipartite graphs Two kinds of nodes Edges between types Is the graph known, or is it constructed as you traverse it (“Implicit” graph) A B C E D I H G J F

Graph Algorithms Traversals Shortest paths Minimum Spanning Tree Articulation points Network Flow ….. A B C E D I H G J F