Data Structures & Algorithms Richard Newman Clip Art Sources s www.barrysclipart.com s www.livinggraphics.com s www.rad.kumc.edu s www.graphicmaps.com.

Slides:



Advertisements
Similar presentations
1 Introduction to the Computer as an Analysis Tool OPIM 101.
Advertisements

Analysis & Design of Algorithms (CSCE 321)
Advanced Data Structures Sartaj Sahni
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
Data Structures & Algorithms What The Course Is About s Data structures is concerned with the representation and manipulation of data. s All programs.
Class 1: What this course is about. Assignments Reading: Chapter 1, pp 1-33 Do in Class 1: –Exercises on pages 13, 14, 22, 28 To hand in in Class 2: –Exercises.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
COMP152 Object-Oriented Programming and Data Structures Spring 2011.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Lecture 1 Introduction/Overview Wed. 1/31/01.
CENG 213 Data Structures Department of Computer Engineering Middle East Technical University Fall 2014 CENG 213 Data Structures 1.
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
Overview of the Course. Critical Facts Welcome to CISC 672 — Advanced Compiler Construction Instructor: Dr. John Cavazos Office.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 1.
COP 3530: Data Structures, Algorithms, & Applications Instructor: Kristian Linn Damkjer.
CS 103 Discrete Structures Lecture 01 Introduction to the Course
EECE 310 Software Engineering Lecture 0: Course Orientation.
Data Structures, Algorithms, & Applications
1 CS 233 Data Structures and Algorithms 황승원 Fall 2010 CSE, POSTECH.
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
Algorithm Design by Éva Tardos and Jon Kleinberg Slides by Kevin Wayne Copyright © 2004 Addison Wesley COS 423: Theory of Algorithms Kevin Wayne Princeton.
Course Introduction Software Engineering
Fundamentals of Algorithms MCS - 2 Lecture # 1
COMPE 574 Fundamentals of Algorithms Spring Murat KARAKAYA Department of Computer Engineering.
1 My Experiences as Faculty Member and Researcher Dr. Kalim Qureshi.
Welcome to Physics 1403!!. Class Web Page! There, you can find: 1. Posted (MS Word format): Syllabus,
Welcome to Physics 1D03.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
CSC 171 – FALL 2001 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
Introduction to Data Structures
CS/EE 3700: Fundamentals of Digital System Design Chris J. Myers Spring
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Course Introduction Andy Wang COP 4530 / CGS 5425 Fall 2003, Section 4.
CPSC 121: Models of Computation Unit 0 Introduction George Tsiknis Based on slides by Patrice Belleville and Steve Wolfman.
A compilation of Suggestions on How to Study Jeff Fineberg.
Data Structures Engr. Umbreen sabir What The Course Is About s Data structures is concerned with the representation and manipulation of data. s All programs.
IST 210: Organization of Data
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 1.
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.
Data Structures and Algorithms Dr. Manuel E. Bermudez Alter ego to Dr. Sartaj Sahni.
Data Structures, Algorithms, & Applications Instructor: Babak Alipour Slides and book: Sartaj Sahni.
Data Structures and Algorithms in Java AlaaEddin 2012.
Computer Networks CNT5106C
Feedback is very important and very much appreciated.
PROBLEM SOLVING AND PROGRAMMING ISMAIL ABUMUHFOUZ | CS 170.
Welcome to Physics 1403!!. Class Web Page! There, you can find: 1. Posted (Word format): Syllabus,
CENG 213 Data Structures1 Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
HUT – DEPARTMENT OF MATH. APPLIED MATH 1 FUNCTION.
Data Structures, Algorithms, & Applications
Data Structures, Algorithms, & Applications
Computer Engineering Department Islamic University of Gaza
Syllabus Introduction to Computer Science
ICE 245: Algorithms Instructor: Dr. Mohammad Arifuzzaman
Algorithm Design.
Data Structures, Algorithms, & Applications
EECE 310 Software Engineering
Data Structures: Introductory lecture
Data Structures, Algorithms, & Applications
Richard Anderson Autumn 2015 Lecture 1
Administrative Issues
Welcome to Physics 1D03 !.
Administrative Issues
Computer Engineering Department Islamic University of Gaza
COMP 122 – Design and Analysis of Algorithms
Presentation transcript:

Data Structures & Algorithms Richard Newman

Clip Art Sources s s s s Initial design from Sahni’s course, modified greatly by Newman for Sedgewick’s book

What The Course Is About s Data structure: representation and storage of data. s Algorithm: method for solving a problem s Programs represent data s Programs use algorithms to manipulate those data

What The Course Is About Algorithm design methods needed to develop programs that do the data manipulation. The study of data structures and algorithms is fundamental to Computer Science.

Prerequisites s Asymptotic Complexity  Big Oh, Theta, and Omega notations s C++ s Discrete Structures, Calculus

Web Site s s s Handouts, syllabus, text, source codes, exercise solutions, lectures, assignments, past exams, past exam solutions, TAs, etc. s Check twice weekly (48 hr apart)

Instructor s Dr. Richard “Dr. Nemo” Newman (nemo) s s Office hours: MWF 10:30-11:30 s Office: CSE-E346

Teaching Assistants s TA location: CSE-E309 s Md Mahmudul Hasan (mmhasan) s Office hours: M 10 th, T 9 th & 10 th s Rahul Prabhu (rprabhu) s Office hours: TBD

Assignments s Assignment guidelines s Submission procedures

Discussion Sections s Required to attend your section s TA may present a small problem that you are to do during discussion s TA may go through exercises from the book s TA will answer your questions

Goals s Devise and analyze algorithms and data structures to solve moderately hard problems s Correctly develop, document, and test programs to implement those algorithms and data structures

Roadmap s Fundamentals s Data Structures s Sorting s Searching s Graph Algorithms s Odds and Ends

Grades s 15% for quizzes s 5% for homeworks s 35% for projects s 15% for each exam (3 exams)

Grades (Rough Cutoffs) s A >= 80% s B+ >= 75% s B >= 70% s C+ >= 65% s C >= 60% s D+ >= 55% s D >= 50%

Why Study Algorithms? s We are in the information age! s Information = data with interpretation s Algorithms allow us to manipulate the data to obtain desired information s Effect of algorithm is huge – on time, on space, on power; and on information! s Impact of algorithms in all facets of science, medicine, law, engineering, art, music, business, and life

Why Study Algorithms? s Study of algorithms at least as old as Euclid ca. 300 BC s The name derives from a ca. AD 825 Arabic mathematician, Muhammed ibn al-Khwarizmi s Formalized by Church and Turing in 1930’s s Some important algorithms were discovered by undergraduates in a class just like this!

Why Study Algorithms? s Intellectual stimulation: “For me, great algorithms are the poetry of computation. Just like verse, they can be terse, allusive, dense, and even mysterious. But once unlocked, they cast a brilliant new light on some aspect of computing.” – Francis Sullivan

Why Study Algorithms? s Improve programming skills: “I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about code. Good programmers worry about data structures and their relationships.” – Linus Torvalds s “Algorithms + Data Structures = Programs” – Niklaus Wirth

Why Study Algorithms? s Unlock secrets of the universe: “Computer models mirroring real life have become crucial for most advances in chemistry today… Today the computer is just as important a tool for chemists as the test tube.” – Royal Swedish Academy of Sciences (Nobel Prize in Chemistry 2013)

Why Study Algorithms? s Everyone else is doing it! s For fun and for profit!

Next – Lecture 2 s Read Chapters 1 & 2 s Union-Find s Empirical analysis s Asymptotic analysis of algorithms s Basic recurrences