COMP Analysis of Algorithms & Data Structures

Similar documents
Algorithms and Data Structures (NWI-IBC027)

CS 101 Computer Science I Fall Instructor Muller. Syllabus

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

GACE Computer Science Assessment Test at a Glance

Data Structures and Algorithms

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

(Sub)Gradient Descent

Math 181, Calculus I

WSU Five-Year Program Review Self-Study Cover Page

Multimedia Application Effective Support of Education

Business Computer Applications CGS 1100 Course Syllabus. Course Title: Course / Prefix Number CGS Business Computer Applications

Foothill College Summer 2016

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

Course Content Concepts

Stochastic Calculus for Finance I (46-944) Spring 2008 Syllabus

Syllabus for CHEM 4660 Introduction to Computational Chemistry Spring 2010

MGMT 5303 Corporate and Business Strategy Spring 2016

ITSC 1301 Introduction to Computers Course Syllabus

Spring 2014 SYLLABUS Michigan State University STT 430: Probability and Statistics for Engineering

The Evolution of Random Phenomena

MTH 141 Calculus 1 Syllabus Spring 2017

Computer Science 1015F ~ 2016 ~ Notes to Students

Class Mondays & Wednesdays 11:00 am - 12:15 pm Rowe 161. Office Mondays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

Design and Creation of Games GAME

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

Biology 1 General Biology, Lecture Sections: 47231, and Fall 2017

BUS Computer Concepts and Applications for Business Fall 2012

PSYCHOLOGY 353: SOCIAL AND PERSONALITY DEVELOPMENT IN CHILDREN SPRING 2006

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Syllabus: CS 377 Communication and Ethical Issues in Computing 3 Credit Hours Prerequisite: CS 251, Data Structures Fall 2015

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

Math 96: Intermediate Algebra in Context

CTE Teacher Preparation Class Schedule Career and Technical Education Business and Industry Route Teacher Preparation Program

CS/SE 3341 Spring 2012

Course Syllabus Chem 482: Chemistry Seminar

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

CS177 Python Programming

Physics Experimental Physics II: Electricity and Magnetism Prof. Eno Spring 2017

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

Bittinger, M. L., Ellenbogen, D. J., & Johnson, B. L. (2012). Prealgebra (6th ed.). Boston, MA: Addison-Wesley.

BADM 641 (sec. 7D1) (on-line) Decision Analysis August 16 October 6, 2017 CRN: 83777

Course Syllabus for Math

AGN 331 Soil Science Lecture & Laboratory Face to Face Version, Spring, 2012 Syllabus

Physics XL 6B Reg# # Units: 5. Office Hour: Tuesday 5 pm to 7:30 pm; Wednesday 5 pm to 6:15 pm

RTV 3320: Electronic Field Production Instructor: William A. Renkus, Ph.D.

Answers To Hawkes Learning Systems Intermediate Algebra

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

RANKING AND UNRANKING LEFT SZILARD LANGUAGES. Erkki Mäkinen DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF TAMPERE REPORT A ER E P S I M S

MAT 122 Intermediate Algebra Syllabus Summer 2016

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

CS Course Missive

Intensive English Program Southwest College

Answer Key Applied Calculus 4


General Physics I Class Syllabus

Syllabus Foundations of Finance Summer 2014 FINC-UB

Exploration. CS : Deep Reinforcement Learning Sergey Levine

TABLE OF CONTENTS TABLE OF CONTENTS COVER PAGE HALAMAN PENGESAHAN PERNYATAAN NASKAH SOAL TUGAS AKHIR ACKNOWLEDGEMENT FOREWORD

Principles Of Macroeconomics Case Fair Oster 10e

SOUTHERN MAINE COMMUNITY COLLEGE South Portland, Maine 04106

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

Prerequisite: General Biology 107 (UE) and 107L (UE) with a grade of C- or better. Chemistry 118 (UE) and 118L (UE) or permission of instructor.

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

COMS 622 Course Syllabus. Note:

Nutrition 10 Contemporary Nutrition WINTER 2016

Course Description. Student Learning Outcomes

ACADEMIC CALENDAR 2017/18

PSYC 2700H-B: INTRODUCTION TO SOCIAL PSYCHOLOGY

BIODIVERSITY: CAUSES, CONSEQUENCES, AND CONSERVATION

Integrated M.Sc.-Ph.D. Programs in Life Sciences and Physical Science

Phys4051: Methods of Experimental Physics I

ENME 605 Advanced Control Systems, Fall 2015 Department of Mechanical Engineering

MTH 215: Introduction to Linear Algebra

Introduction to Information System

COURSE WEBSITE:

Co-Professors: Cylor Spaulding, Ph.D. & Brigitte Johnson, APR Office Hours: By Appointment

Backwards Numbers: A Study of Place Value. Catherine Perez

FINN FINANCIAL MANAGEMENT Spring 2014

Business Finance 3400 Introduction to Real Estate Autumn Semester, 2017

University of Massachusetts Lowell Graduate School of Education Program Evaluation Spring Online

CSC200: Lecture 4. Allan Borodin

SYLLABUS. EC 322 Intermediate Macroeconomics Fall 2012

University of Waterloo Department of Economics Economics 102 (Section 006) Introduction to Macroeconomics Winter 2012

CHEMISTRY 104 FALL Lecture 1: TR 9:30-10:45 a.m. in Chem 1351 Lecture 2: TR 1:00-2:15 p.m. in Chem 1361

Odysseyware Login Macon County

A BEGINNERS GUIDE TO SUCCESSFUL ONLINE SURVEYS

Macroeconomic Theory Fall :00-12:50 PM 325 DKH Syllabus

Spring 2015 Natural Science I: Quarks to Cosmos CORE-UA 209. SYLLABUS and COURSE INFORMATION.

GAT General (Analytical Reasoning Section) NOTE: This is GAT-C where: English-40%, Analytical Reasoning-30%, Quantitative-30% GAT

Math Techniques of Calculus I Penn State University Summer Session 2017

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

Music in World Cultures, MHL 143 (34446)

Instructor. Darlene Diaz. Office SCC-SC-124. Phone (714) Course Information

Lecture 1: Machine Learning Basics

CIS Introduction to Digital Forensics 12:30pm--1:50pm, Tuesday/Thursday, SERC 206, Fall 2015

UCC2: Course Change Transmittal Form

ECO 3101: Intermediate Microeconomics

PHY2048 Syllabus - Physics with Calculus 1 Fall 2014

Transcription:

COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Lecture 1 - Jan. 3, 2018 University of Manitoba Picture is from the cover of the textbook CLRS. 1 / 14

Introduction Introduction 1 / 14

Introduction In a Glance... Algorithms are Practical Diverse Fun (really!) 2 / 14

Introduction In a Glance... Algorithms are Practical Diverse Fun (really!) Let s learn & play algorithms and enjoy 2 / 14

Introduction Instructor B.Sc. in Computer Science (2002-2006) University of Tehran (Iran) 3 / 14

Introduction Instructor B.Sc. in Computer Science (2002-2006) University of Tehran (Iran) M.Sc. in Computer Science (2006-2008) Concordia University (Canada) 3 / 14

Introduction Instructor B.Sc. in Computer Science (2002-2006) University of Tehran (Iran) M.Sc. in Computer Science (2006-2008) Concordia University (Canada) PhD in Computer Science (2008-2014) University of Waterloo (Canada) 3 / 14

Introduction Instructor B.Sc. in Computer Science (2002-2006) University of Tehran (Iran) M.Sc. in Computer Science (2006-2008) Concordia University (Canada) PhD in Computer Science (2008-2014) University of Waterloo (Canada) Visiting Researcher (2014-2015) LIAFA, Paris (France) 3 / 14

Introduction Instructor B.Sc. in Computer Science (2002-2006) University of Tehran (Iran) M.Sc. in Computer Science (2006-2008) Concordia University (Canada) PhD in Computer Science (2008-2014) University of Waterloo (Canada) Visiting Researcher (2014-2015) LIAFA, Paris (France) Postdoctoral Fellow, Associate (2015-2017) MIT (USA) 3 / 14

Formalities Formalities 3 / 14

Formalities Logistics Lecture: Mondays, Wednesdays, and Fridays, 10:30-11:20am EITC E2 Rm: 165 (Jan. 03, 2018 - Apr. 06, 2018) 4 / 14

Formalities Logistics Lecture: Mondays, Wednesdays, and Fridays, 10:30-11:20am EITC E2 Rm: 165 (Jan. 03, 2018 - Apr. 06, 2018) Webpage: http://www.cs.umanitoba.ca/ kamalis/comp3170/comp3170.html 4 / 14

Formalities Logistics Lecture: Mondays, Wednesdays, and Fridays, 10:30-11:20am EITC E2 Rm: 165 (Jan. 03, 2018 - Apr. 06, 2018) Webpage: http://www.cs.umanitoba.ca/ kamalis/comp3170/comp3170.html 4 / 14

Formalities Logistics Lecture: Mondays, Wednesdays, and Fridays, 10:30-11:20am EITC E2 Rm: 165 (Jan. 03, 2018 - Apr. 06, 2018) Webpage: http://www.cs.umanitoba.ca/ kamalis/comp3170/comp3170.html Piazza: https://piazza.com/umanitoba.ca/winter2018/comp3170/home 4 / 14

Formalities Logistics Lecture: Mondays, Wednesdays, and Fridays, 10:30-11:20am EITC E2 Rm: 165 (Jan. 03, 2018 - Apr. 06, 2018) Webpage: http://www.cs.umanitoba.ca/ kamalis/comp3170/comp3170.html Piazza: https://piazza.com/umanitoba.ca/winter2018/comp3170/home Office hours: 13:00-14:00 on Mondays, 10:3011:30 am on Tuesdays or by appointment You can post your questions (if you prefer anonymously) on Piazza so that all your classmates see the solution You should have received an email with respect to Piazza 4 / 14

Formalities Textbook Required textbook: Introduction to Algorithms, third edition, by Cormen, Leiserson, Rivest, and Stein, MIT Press, 2009. Optional textbooks: Algorithms and Data Structures, by Mehlhorn and Sanders, Springer, 2008. The Algorithm Design Manual, second edition, by Skiena, Springer, 2008. Advanced Data Structures, by Brass, Cambridge, 2008. 5 / 14

Formalities Grading There will be: Six assignments (each 5 percent) Two quizzes (each 5 percent) A midterm exam (20 percent) A final exam (40 percent) 6 / 14

Formalities Grading There will be: Six assignments (each 5 percent) Two quizzes (each 5 percent) A midterm exam (20 percent) A final exam (40 percent) Theorem The focus of this course is on learning, practising, and discovering. 6 / 14

Formalities Grading There will be: Six assignments (each 5 percent) Two quizzes (each 5 percent) A midterm exam (20 percent) A final exam (40 percent) Theorem The focus of this course is on learning, practising, and discovering. Corollary Having fun in the process is important. 6 / 14

Formalities Grading (cntd.) Six assignments: 30 percent of the final mark 10 percent extra for bonus questions. submit only pdf files (preferably use L A TEX) 7 / 14

Formalities Grading (cntd.) Six assignments: 30 percent of the final mark 10 percent extra for bonus questions. submit only pdf files (preferably use L A TEX) Quizzes, Midterm & Final exams: respectively 10, 20 & 40 percent of the final mark. there will be extra for bonus questions in midterm and final. all are closed-book. sample exams will be provided for practice for midterm and final. 7 / 14

Formalities Important Dates (tentative) 8 / 14

Basic Concepts Prerequisites What I have learned from previous courses? Basic sorting algorithms, e.g., quick sort and merge sort 9 / 14

Basic Concepts Prerequisites What I have learned from previous courses? Basic sorting algorithms, e.g., quick sort and merge sort Asymptotic notations, e.g., big O, Ω, etc. 9 / 14

Basic Concepts Prerequisites What I have learned from previous courses? Basic sorting algorithms, e.g., quick sort and merge sort Asymptotic notations, e.g., big O, Ω, etc. Basic abstract data types (ADTs) and data structures Stacks, queues, dictionaries, binary search trees, hash tables, graphs. 9 / 14

Basic Concepts Prerequisites What I have learned from previous courses? Basic sorting algorithms, e.g., quick sort and merge sort Asymptotic notations, e.g., big O, Ω, etc. Basic abstract data types (ADTs) and data structures Stacks, queues, dictionaries, binary search trees, hash tables, graphs. The difference between an ADT and a data structure? (wait for two slides) 9 / 14

Basic Concepts Prerequisites What I have learned from previous courses? Basic sorting algorithms, e.g., quick sort and merge sort Asymptotic notations, e.g., big O, Ω, etc. Basic abstract data types (ADTs) and data structures Stacks, queues, dictionaries, binary search trees, hash tables, graphs. The difference between an ADT and a data structure? (wait for two slides) Basic algorithm families Greedy algorithms, dynamic programming algorithms, divide & conquer (d&c) 9 / 14

Basic Concepts Prerequisites What I have learned from previous courses? Basic sorting algorithms, e.g., quick sort and merge sort Asymptotic notations, e.g., big O, Ω, etc. Basic abstract data types (ADTs) and data structures Stacks, queues, dictionaries, binary search trees, hash tables, graphs. The difference between an ADT and a data structure? (wait for two slides) Basic algorithm families Greedy algorithms, dynamic programming algorithms, divide & conquer (d&c) Analysis techniques E.g., how to analyse time complexity of a d&c algorithm? 9 / 14

Basic Concepts Prerequisites What I have learned from previous courses? Basic sorting algorithms, e.g., quick sort and merge sort Asymptotic notations, e.g., big O, Ω, etc. Basic abstract data types (ADTs) and data structures Stacks, queues, dictionaries, binary search trees, hash tables, graphs. The difference between an ADT and a data structure? (wait for two slides) Basic algorithm families Greedy algorithms, dynamic programming algorithms, divide & conquer (d&c) Analysis techniques E.g., how to analyse time complexity of a d&c algorithm? Solving recursions, Master theorem, etc. 9 / 14

Basic Concepts Algorithms 9 / 14

Basic Concepts Algorithms What is an algorithm? 10 / 14

Basic Concepts Algorithms What is an algorithm? Definition An algorithm is a computational procedure formed by a sequence of instructions (steps) to solve a problem 10 / 14

Basic Concepts Algorithms What is an algorithm? Definition An algorithm is a computational procedure formed by a sequence of instructions (steps) to solve a problem The problem has an input and often requires an output 10 / 14

Basic Concepts Algorithms What is an algorithm? Definition An algorithm is a computational procedure formed by a sequence of instructions (steps) to solve a problem The problem has an input and often requires an output Transition from one step to another can be deterministic or randomized The algorithm is deterministic if it never uses randomization; otherwise, it is a randomized algorithm 10 / 14

Basic Concepts Algorithms What is an algorithm? Definition An algorithm is a computational procedure formed by a sequence of instructions (steps) to solve a problem The problem has an input and often requires an output Transition from one step to another can be deterministic or randomized The algorithm is deterministic if it never uses randomization; otherwise, it is a randomized algorithm Solving the problem requires the algorithm to terminate. Time complexity concerns the number of steps that it takes for the algorithm to terminate (often on the worst-case input) 10 / 14

Basic Concepts Abstract Data Type What is an Abstract Data Type (ADT) Definition An abstract data type is formed by I) a set of values (data items) and II) a set of operations allowed on these items Stack is an ADT. Data items can be anything and operations are push and pop An ADT is abstract way of looking at data (no implementation is prescribed) An ADT is the way data looks from the view point of user 11 / 14

Basic Concepts Data Structure What is a Data Structure Definition A data structure is a concrete representation of data, including how data is organized, stored, and accessed on a computer A linked-list is a data structure Data structures are implementations of ADTs A data structure is the way data looks from the view point of implementer 12 / 14

Basic Concepts ADTs vs Data Structures ADTs: Stacks, queues, priority queues, dictionaries Data structures array, linked-list, binary-search-tree, binary-heap hash-table-using-probing, hash-table-using-chaining, adjacency list, adjacency matrix, etc. 13 / 14

Topics Course topics 14 / 14