Administrivia- Introduction CSE 373 Data Structures.

Slides:



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

CMPT 225 Data Structures and Programming. Course information Lecturer: Jan Manuch (Jano), TASC TAs: Osama Saleh,
1-1 CMPT 225 Data Structures and Programming Instructor: Aaron Hunter Section: E300 Campus: Harbour Centre Semester: Spring 2007.
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
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.
CSE 326: Data Structures Lecture #0 Introduction Steve Wolfman Winter Quarter 2000.
CENG 213 Data Structures Department of Computer Engineering Middle East Technical University Fall 2014 CENG 213 Data Structures 1.
CSE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Dimosthenes Anthomelidis
CSE 326: Data Structures Lecture #0 Introduction Bart Niswonger Summer Quarter 2001.
CSE373: Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks/Queues Lauren Milne Summer 2015.
CSCE 3110 Data Structures and Algorithm Analysis.
Data Structures and Programming.  John Edgar2.
Data Structures Lecture-1:Introduction
METU Computer Engineering Department
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
WEEK 1 CS 361: ADVANCED DATA STRUCTURES AND ALGORITHMS Dong Si Dept. of Computer Science 1.
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Introduction CSE 1310 – Introduction to Computers and Programming
Data Structures and Programming.  Today:  Administrivia  Introduction to 225, Stacks  Course website: 
ITEC 2620A Introduction to Data Structures
BIM213 – Data Structures and Algorithms Introduction 1.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
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.
DATA STRUCTURES (CS212D) Week # 1: Overview & Review.
CS212: DATA STRUCTURES Lecture 1: Introduction. What is this course is about ?  Data structures : conceptual and concrete ways to organize data for efficient.
Introduction to Data Structures
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
UMBC CMSC 341 Intro1 CMSC 341 Course Introduction.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
CS-2851 Dr. Mark L. Hornick 1 CS-2852 Data Structures Dr. Mark L. Hornick Office: L341 Phone: web: people.msoe.edu/hornick/
Introduction to Data Structures and Algorithms CS 110: Data Structures and Algorithms First Semester,
ITEC 2620M Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: ec2620m.htm Office: Tel 3049.
Mathematical Background and Linked Lists. 2 Iterative Algorithm for Sum Find the sum of the first n integers stored in an array v : sum (v[], n) temp_sum.
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
Data Structures and Algorithm Analysis Introduction Lecturer: Ligang Dong, egan Tel: , Office: SIEE Building.
90-723: Data Structures and Algorithms for Information Processing Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 1: Introduction Data.
CSE373: Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks/Queues Linda Shapiro Winter 2015.
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
Review I. Final exam Date TBD. Don ’ t be late! Open book, open notes No calculators or any electronics Worth 50% of final grade.
Data Structures and Algorithms in Java AlaaEddin 2012.
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
Data Structures By Dr. Mehedi Masud ِAssociate Professor, Computer Science Dept. College of Computers and Information Systems Taif University 1.
CC 215 DATA STRUCTURES Dr. Manal Helal - Fall 2014 Lecture 1 AASTMT Engineering and Technology College 1.
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2013.
CSE373: Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks/Queues Linda Shapiro Spring 2016.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
Introduction toData structures and Algorithms
CS16: Introduction to Algorithms and Data Structures
CENG 707 Data Structures and Algorithms
COMP9024: Data Structures and Algorithms
March 27 – Course introductions; Adts; Stacks and Queues
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
Lecture 1: Welcome to CSE 373
Data Structures (CS212D) Overview & Review.
Introduction CSE 373 Data Structures.
CENG 213 Data Structures Nihan Kesim Çiçekli
Introduction to CS II Data Structures
Ben Lerner Summer Quarter 2007 Lecture 1
Week # 1: Overview & Review
Data Structures (CS212D) Overview & Review.
Administrivia- Introduction
Administrivia- Introduction
DS.I.1 CSE 373: Data Structures and Algorithms Autumn Quarter 2000
CSCE156: Introduction to Computer Science II
Presentation transcript:

Administrivia- Introduction CSE 373 Data Structures

12/26/03CSE 373 WI 04- Introduction2 Staff Instructor ›Linda G. Shapiro, TA’s ›Gaurav Bhaya, ›Matthew Milcic,

12/26/03CSE 373 WI 04- Introduction3 Linda G. Shapiro Professor of Computer Science and Engineering Professor of Electrical Engineering Adjunct Professor of Medical Education and Biomedical Informatics Research: Computer Vision & Content-Based Image Retrieval

12/26/03CSE 373 WI 04- Introduction4 Web Page All info is on the web page for CSE 373 › ›also known as

12/26/03CSE 373 WI 04- Introduction5 Office Hours Linda Shapiro – 634 CSE (Allen Center) ›MWF 9:30-10:30 or by appointment Gaurav Bhaya – to be announced Matthew Milcic – to be announced Third TA - to be announced

12/26/03CSE 373 WI 04- Introduction6 CSE 373 List Subscribe by going to the class web page. list is used for posting announcements by instructor and TAs. It is your responsibility to subscribe. It will turn out to be very helpful for assignments hints, corrections etc.

12/26/03CSE 373 WI 04- Introduction7 Computer Lab Math Sciences Computer Center › Project can be done in Java or C++ ›We ordered most of the texts in Java, but there should be some in C++.

12/26/03CSE 373 WI 04- Introduction8 Textbook Data Structures and Algorithm Analysis in Java (or in C++), by Weiss See Web page (syllabus) for errata and source code

12/26/03CSE 373 WI 04- Introduction9 Grading Assignments and programming projects 50% Midterm 20% ›Approximately Feb. 13 (not definite yet) Final 30% ›2:30-4:20 p.m. Wednesday, March 17, 2004

12/26/03CSE 373 WI 04- Introduction10 Class Overview Introduction to many of the basic data structures used in computer software ›Understand the data structures ›Analyze the algorithms that use them ›Know when to apply them Practice design and analysis of data structures. Practice using these data structures by writing programs. Data structures are the plumbing and wiring of programs.

12/26/03CSE 373 WI 04- Introduction11 Goal You will understand ›what the tools are for storing and processing common data types ›which tools are appropriate for which need So that you will be able to ›make good design choices as a developer, project manager, or system customer

12/26/03CSE 373 WI 04- Introduction12 Course Topics Introduction to Algorithm Analysis Lists, Stacks, Queues Search Algorithms and Trees Hashing and Heaps Sorting Disjoint Sets Graph Algorithms

12/26/03CSE 373 WI 04- Introduction13 Reading Chapters 1 and 2, Data Structures and Algorithm Analysis in Java/C++, by Weiss ›Very important sections: Section on proofs Section 1.3 on recursion ›Most of Chapter 2 will be seen in Lecture 4

12/26/03CSE 373 WI 04- Introduction14 Data Structures: What? Need to organize program data according to problem being solved Abstract Data Type (ADT) - A data object and a set of operations for manipulating it ›List ADT with operations insert and delete ›Stack ADT with operations push and pop Note similarity to Java classes ›private data structure and public methods

12/26/03CSE 373 WI 04- Introduction15 Data Structures: Why? Program design depends crucially on how data is structured for use by the program ›Implementation of some operations may become easier or harder ›Speed of program may dramatically decrease or increase ›Memory used may increase or decrease ›Debugging may be become easier or harder

12/26/03CSE 373 WI 04- Introduction16 Terminology Abstract Data Type (ADT) ›Mathematical description of an object with set of operations on the object. Useful building block. Algorithm ›A high level, language independent, description of a step-by-step process Data structure ›A specific family of algorithms for implementing an abstract data type. Implementation of data structure ›A specific implementation in a specific language

12/26/03CSE 373 WI 04- Introduction17 Algorithm Analysis: Why? Correctness: ›Does the algorithm do what is intended. Performance: ›What is the running time of the algorithm. ›How much storage does it consume. Different algorithms may correctly solve a given task ›Which should I use?

12/26/03CSE 373 WI 04- Introduction18 Iterative Algorithm for Sum Find the sum of the first num integers stored in an array v. sum(v[ ]: integer array, num: integer): integer{ temp_sum: integer ; temp_sum := 0; for i = 0 to num – 1 do temp_sum := v[i] + temp_sum; return temp_sum; } Note the use of pseudocode

12/26/03CSE 373 WI 04- Introduction19 Programming via Recursion Write a recursive function to find the sum of the first num integers stored in array v. sum (v[ ]: integer array, num: integer): integer { if num = 0 then return 0 else return v[num-1] + sum(v,num-1); } base case recursive case

12/26/03CSE 373 WI 04- Introduction20 Pseudocode In the lectures algorithms will be presented in pseudocode. ›This is very common in the computer science literature ›Pseudocode is usually easily translated to real code. ›This is programming language independent Pseudocode should also be used for homework

12/26/03CSE 373 WI 04- Introduction21 Proof by Induction Basis Step: The algorithm is correct for the base case (e.g. n=0) by inspection. Inductive Hypothesis (n=k): Assume that the algorithm works correctly for the first k cases, for any k. Inductive Step (n=k+1): Given the hypothesis above, show that the k+1 case will be calculated correctly.

12/26/03CSE 373 WI 04- Introduction22 Program Correctness by Induction Basis Step: sum(v,0) = 0. Inductive Hypothesis (n=k): Assume sum(v,k) correctly returns sum of first k elements of v, i.e. v[0]+v[1]+…+v[k-1] Inductive Step (n=k+1): sum(v,n) returns v[k]+sum(v,k) which is the sum of first k+1 elements of v.

12/26/03CSE 373 WI 04- Introduction23 Algorithms vs Programs Proving correctness of an algorithm is very important ›a well designed algorithm is guaranteed to work correctly and its performance can be estimated Proving correctness of a program (an implementation) is fraught with weird bugs ›Abstract Data Types are a way to bridge the gap between mathematical algorithms and programs