March 27 – Course introductions; Adts; Stacks and Queues

Slides:



Advertisements
Similar presentations
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2010.
Advertisements

CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Administrivia- Introduction CSE 373 Data Structures.
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
CSE373: Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks/Queues Lauren Milne Summer 2015.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
Data Structures and Programming.  Today:  Administrivia  Introduction to 225, Stacks  Course website: 
CSCA48 Course Summary.
ITEC 2620A Introduction to Data Structures
COMPE 226 Data Structures 2015 Fall Murat KARAKAYA Department of Computer Engineering.
Data Structures (Second Part) Lecture 1 Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
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.
1 WELCOME TO COMPUTER SCIENCE 1027b COMPUTER SCIENCE FUNDAMENTALS II Lecturers: Eric Schost (001) John Barron (002)
CS-2851 Dr. Mark L. Hornick 1 CS-2852 Data Structures Dr. Mark L. Hornick Office: L341 Phone: web: people.msoe.edu/hornick/
ITEC 2620M Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: ec2620m.htm Office: Tel 3049.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
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.
Data Structures and Algorithms in Java AlaaEddin 2012.
Data Structures By Dr. Mehedi Masud ِAssociate Professor, Computer Science Dept. College of Computers and Information Systems Taif University 1.
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2013.
COMP9024: Data Structures and Algorithms Course Outline Hui Wu Session 1, 2016
CS16: Introduction to Algorithms and Data Structures
CSc 120 Introduction to Computer Programing II
CENG 707 Data Structures and Algorithms
Computer Network Fundamentals CNT4007C
Computer Engineering Department Islamic University of Gaza
CS101 Computer Programming I
CSc 020: Programming Concepts and Methodology II
Computer Networks CNT5106C
September 29 – Stacks and queues
Midterm Review.
Chapter 15 Lists Objectives
CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone:
CENG 213 Data Structures Dr. Cevat Şener
March 29 – Testing and Priority QUeues
CMPT 238 Data Structures Instructor: Tina Tian.
Course Overview CSE8313 Object-Oriented Analysis and Design
October 30th – Priority QUeues
March 31 – Priority Queues and the heap
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
Cse 373 April 26th – Exam Review.
Lecture 1: Welcome to CSE 373
Data Structures (CS212D) Overview & Review.
Lecture 1: Introduction
Computer Networks CNT5106C
Lecture 3: Queues, Testing, and Working with Code
Introduction to Data Structures
Introduction CSE 373 Data Structures.
ITEC 2620M Introduction to Data Structures
ITEC 2620M Introduction to Data Structures
Implementing Hash and AVL
CSE1311 Introductory Programming for Engineers & Scientists
Spring 2016 Richard Anderson Lecture 1
Data Structures (CS212D) Overview & Review.
ITEC 2620M Introduction to Data Structures
Administrivia- Introduction
CS 336/536: Computer Network Security Fall 2014 Nitesh Saxena
Principles of Imperative Computation
Administrivia- Introduction
Computer Networks CNT5106C
COP3530- Data Structures Introduction
Instructor: Dr. Michael Geiger Spring 2019 Lecture 34: Exam 3 Preview
CS Computer Science II: Data Structures and Abstraction Fall 2009
CMPT 238 Data Structures Instructor: Tina Tian.
Presentation transcript:

March 27 – Course introductions; Adts; Stacks and Queues Cse 373 March 27 – Course introductions; Adts; Stacks and Queues

Welcome! Administrative Minutiae Course Objectives Review of Stacks and Queues Abstract Data Types (ADT)

Waitlist/overload Please fill out the survey (will also post link on the course website) https://catalyst.uw.edu/webq/survey/csea dv/328147 Fill this out as quickly as possible

Course info Evan McCarty (ejmcc@uw.edu) Office hours (CSE 214) Mondays: 11:00 – 11:50 Wednesdays: 3:30 – 4:20 By appointment or over email

Course Staff TAs are posted on the course website, along with their office hours TAs for sections will be posted by Wednesday Office hours will start this Friday

Homework Homework will be assigned on Wednesdays after class and due the following Wednesday at midnight via canvas HW 1 out this Wednesday (3/29)! Late Policy : 15% per day late Max 3 days

Homework Implementation is only part of the problem Write-up/written questions also important Separate submissions on canvas (more on Wednesday Regrade requests

Homework Academic honesty Reasonable effort and office hours High level discussion Fully understand submission Reasonable effort and office hours

Lectures Lecture slides will be posted online after class Questions are strongly encouraged All material fair game for exams Weiss textbook

Sections Conducted by TAs Practice problems Analysis and Implementation Supplementary instruction

Exams Midterm exam (20%) 2:30 – 3:20; Friday, April 28 Final Exam (30%) 2:30-4:20; Tuesday, June 6 Exam review in lecture before exams

PRE-HW1 To do Set up the JDK Install Eclipse (not required, but recommended)

Data Structures and algorithms Understand and recognize behavior of key data structures Understand and solve common data structure problems Analyze operations and algorithms Implement data structures and understand design trade-offs

CSE 143 Object-oriented Programming Classes and Inheritance Methods, variables and conditions Loops and recursion Linked lists and simple trees Basic Sorting and Searching Concepts of Analysis O(n) v O(n2) Client v. Implementer

CSE 373 Design decisions Critical thinking Implementations Debugging and Testing Abstract Data Types

Abstraction Software engineering v. Computer Science Applicable across languages and implementations Behavior focus How can you recognize an ADT?

Definitions Abstract Data Type (ADT) Operations and expected behavior Data Structure Specific organization of data Can be analyzed Implementation Language specific application

Design Decisions Between an ADT and its implementation, there are design decisions Constraints of the problem Memory v. Speed One function v. another Generality v. Specificity

Design Decisions Linked List v Array Overhead Memory use Adding to middle Traversal Insertion

Design Decisions Shopping list? What sorts of behavior do shoppers exhibit? What constraints are there on a shopper? What improvements would make a better shopping list?

Design Decisions Shopping list? Stack? What sorts of behavior does the ‘stack’ support? What constraints are there on a stack user? (Is there a change in certainty?) What improvements would make a better stack? (What problems might arise in a stack?)

Stack ADT Important to know exactly what we expect from a stack. Push(Object a) returns null; (other options?) Pop() returns Object a: where a is the element on ‘top’ of the stack; also removes a from the stack Top() returns Object a: where a is the element on ‘top’ of the stack without removing that element from the stack How long will these operations take? That depends on the Data Structure and Implementation

Stack ADT Array implementation Unique problems? What if the array is full? What if we alternate push() and pop()?

Stack ADT Array implementation Unique problems? End of Array Unique solutions? Resizing (costly!) Circular Array (?) Why use at all?