CSCE 210 Data Structures and Algorithms

Slides:



Advertisements
Similar presentations
PROGRAMMING LANGUAGE (JAVA) UNIT 42 BY ROBERT BUTTERFIELD TELEPHONE Data Structures and Algorithms.
Advertisements

Exam Review 3 Chapters 10 – 13, 15 CSC212 Section FG CS Dept, CCNY.
Prof. Amr Goneid, AUC1 Analysis & Design of Algorithms (CSCE 321) Prof. Amr Goneid Department of Computer Science, AUC Part R4. Disjoint Sets.
Analysis & Design of Algorithms (CSCE 321)
Cpt S 122 – Data Structures Course Introduction
Review. What to know You are responsible for all material covered in lecture, the readings, or the programming assignments There will also be some questions.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
Overview CS113, Fall 2000 Gene Itkis. The Promise Heavy Fast-paced Challenging Rewarding.
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
TDDB57 DALG-C, DALG Exam Requirements Jan Maluszynski - HT 2006DALG-C.1 TDDB57 – DALG-C Examination Requirements.
Graphs & Exam Review 3 Chapter 10 – 13 CS211 CS Dept, MHC.
Review for Test 2 i206 Fall 2010 John Chuang. 2 Topics  Operating System and Memory Hierarchy  Algorithm analysis and Big-O Notation  Data structures.
Course Review COMP171 Spring Hashing / Slide 2 Elementary Data Structures * Linked lists n Types: singular, doubly, circular n Operations: insert,
Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.
CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++
Data Structures Lecture-1:Introduction
METU Computer Engineering Department
Instructor: Dr. Sahar Shabanah Fall Lectures ST, 9:30 pm-11:00 pm Text book: M. T. Goodrich and R. Tamassia, “Data Structures and Algorithms in.
Prof. Amr Goneid, AUC1 CSCE 210 Data Structures and Algorithms Prof. Amr Goneid AUC Part 1. Data Modeling and ADTs.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
COMPE 226 Data Structures 2015 Fall Murat KARAKAYA Department of Computer Engineering.
Lecture 10: Class Review Dr John Levine Algorithms and Complexity March 13th 2006.
Computer Science Department Data Structures and Algorithms Lecture 1.
Java Collections An Introduction to Abstract Data Types, Data Structures, and Algorithms David A Watt and Deryck F Brown © 2001, D.A. Watt and D.F. Brown.
Final Review Dr. Yingwu Zhu. Goals Use appropriate data structures to solve real- world problems –E.g., use stack to implement non-recursive BST traversal,
ECE 250 Algorithms and Data Structures Douglas Wilhelm Harder, M.Math. LEL Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Data Structures (Second Part) Lecture 1 Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
COMP2012 Object-Oriented Programming and Data Structures Fall 2015.
Prof. amr Goneid, AUC1 CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 1. Introduction.
December 4, Algorithms and Data Structures Lecture XV Simonas Šaltenis Aalborg University
CS Data Structures II Review & Final Exam. 2 Topics Review Final Exam.
Prof. Amr Goneid, AUC1 CSCI 210 Data Structures and Algorithms Prof. Amr Goneid AUC Part 5. Dictionaries(2): Hash Tables.
Final Exam Review CS Total Points – 60 Points Writing Programs – 50 Points Tracing Algorithms, determining results, and drawing pictures – 50.
Elementary Data Organization. Outline  Data, Entity and Information  Primitive data types  Non primitive data Types  Data structure  Definition 
Final Exam Tuesday, December 22nd 2:00 - 3:50pm room 102 Warren Weaver Hall.
Review for Final Exam – cs411/511 Definitions (5 questions, 2 points each) Algorithm Analysis (3 questions, 3 points each) General Questions (3 questions,
Prof. amr Goneid, AUC1 CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 13. Abstract Data Types (ADT’s)
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 29 April 2004.
Design and Analysis of Algorithms (09 Credits / 5 hours per week) Sixth Semester: Computer Science & Engineering M.B.Chandak
Course Preliminaries Course Objectives Course Objectives Students’ Learning Outcomes Students’ Learning Outcomes Grading Policy Grading Policy Course Resources.
Prof. Amr Goneid, AUC1 Analysis & Design of Algorithms (CSCE 321) Prof. Amr Goneid Department of Computer Science, AUC Part R3. Priority Queues.
CISC220 Fall 2009 James Atlas Dec 07: Final Exam Review.
Data Structures and Algorithms in Java AlaaEddin 2012.
 Saturday, April 20, 8:30-11:00am in B9201  Similar in style to written midterm exam  May include (a little) coding on paper  About 1.5 times as long.
Final Exam Review CS Total Points – 20 Points Writing Programs – 65 Points Tracing Algorithms, determining results, and drawing pictures – 50.
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To introduce the basic concepts of linked lists ❏ To introduce the basic concepts.
Data Structures By Dr. Mehedi Masud ِAssociate Professor, Computer Science Dept. College of Computers and Information Systems Taif University 1.
Prof. Amr Goneid, AUC1 CSCI 210 Data Structures and Algorithms Prof. Amr Goneid AUC Part 5. Dictionaries(2): Hash Tables.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
COMP9024: Data Structures and Algorithms Course Outline Hui Wu Session 1, 2016
CSC 172 DATA STRUCTURES. MIDTERM REVIEW MIDTERM EXAM 75 min 6 – 10 questions a lot like the quiz questions.
Algorithm homework help For More Detail help.aspx - Phone:-
Final Exam Review COP4530.
Final Exam Review CS 3358.
CSCE 210 Data Structures and Algorithms
CENG 707 Data Structures and Algorithms
COMP9024: Data Structures and Algorithms
Midterm Review.
CSCI 210 Data Structures and Algorithms
CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone:
Exam Hints.
Final Review.
Review for Midterm Neil Tang 03/04/2010
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.
Final Exam Review COP4530.
Review CSE116 2/21/2019 B.Ramamurthy.
Final Review Dr. Yingwu Zhu.
EE 312 Final Exam Review.
CSCE156: Introduction to Computer Science II
Presentation transcript:

CSCE 210 Data Structures and Algorithms Prof. Amr Goneid AUC Part 0. Course Outline Prof. Amr Goneid, AUC

Course Resources Instructor: Prof. Amr Goneid E-mail: goneid@aucegypt.edu Office: Rm 2152 SSE Textbook: "ADTs, Data Structures and Problem Solving with C++" by Larry Nyhoff, 2nd Edition, Pearson Prentice Hall, 2005 Reference: "Problem Solving, Abstraction, and Design using C++" by Friedman and Koffman, Fourth Edition, Addison Wesley, 2005 Lab: To be assigned soon Web Site: www.cse.aucegypt.edu/~csci210/ Prof. Amr Goneid, AUC

Course Goals To introduce concepts of Data Models, Data Abstraction and ADTs in problem solving and S/W development To deepen the experience in Object Oriented Programming as an efficient software development methodology. To gain experience in the design of algorithms for problem solving and to introduce the concepts of algorithm analysis To gain experience in the design and implementation of various ADTs and their applications to practical problems Prof. Amr Goneid, AUC

Course Contents Revision and Expansion on CSCI 110 Material R1. ADTs as Classes (Revision of some CSCI 110 material) R2. Elementary Data Structures (Revision of some CSCI 110 material) R3. Dictionaries(1): Key Tables and Lists (Revision of some CSCI 110 material) Prof. Amr Goneid, AUC

Course Contents Data Modeling and ADT’s Simple Containers: Stacks and Queues Introduction to the Analysis of Algorithms Trees Dictionaries(2): Binary Search Trees Dictionaries(3): Hash Tables Priority Queues Sorting Sorting (1): Elementary Algorithms Sorting (2): (n log n) Algorithms The Set Data Structure: Disjoint Sets Graphs Prof. Amr Goneid, AUC

Course Contents R1 ADTs as Classes (Revision of some CSCE 110 material) Class Definition: Private & Public Members Constructors & Destructor Data and Function Members Accessors & Mutators Polymorphism and Overloading Example: Rational Numbers Class Example: Simple String Class Prof. Amr Goneid, AUC

Course Contents R2 Elementary Data Structures (Revision of some CSCE 110 material) Static and Dynamic Data Structures Static Arrays Pointers Run-Time Arrays The Linked List Structure Some Linked List Operations Variations on Linked Lists Prof. Amr Goneid, AUC

Course Contents(continued) R3 Dictionaries(1):Key Tables and Lists The Key Table ADT Key Table The Key Table Class Definition Key Table Class implementation Example Application The Linked List ADT Linked List The Linked List Class Definition Linked List Class implementation Prof. Amr Goneid, AUC

Course Contents Part 1 Data Modeling and ADTs Data Modeling Abstract Data types (ADTs) A Classification of Abstract Structures Another Classification Special Data Structures OOP and Classes Examples on Modeling Prof. Amr Goneid, AUC

Course Contents(continued) Part 2 Simple Containers: Stacks and Queues Introduction to the Stack data structure Designing a Stack class using dynamic arrays Linked Stacks Some Applications of Stacks Introduction to the Queue data structure Designing a Queue class using dynamic arrays Linked Queues An Application of Queues Prof. Amr Goneid, AUC

Course Contents(continued) Part 3 Introduction to the Analysis of Algorithms Algorithms Analysis of Algorithms Time Complexity Bounds and the Big-O Types of Complexities Rules for Big-O Examples of Algorithm Analysis Prof. Amr Goneid, AUC

Course Contents(continued) Part 4 Trees Binary Trees Tree Traversal Prof. Amr Goneid, AUC

Course Contents(continued) Part 5 Dictionaries(2): Binary Search Trees The Dictionary Data Structure The Binary Search Tree (BST) Search, Insertion and Traversal of BST Removal of nodes from a BST Binary Search Tree ADT Template Class Specification Other Search Trees (AVL Trees) Prof. Amr Goneid, AUC

Course Contents(continued) Part 6 Dictionaries(3): Hash Tables Hash Tables as Dictionaries Hashing Process Collision Handling: Open Addressing Collision Handling: Chaining Properties of Hash Functions Template Class Hash Table Performance Prof. Amr Goneid, AUC

Course Contents(continued) Part 7 Priority Queues Definition of Priority Queue The Binary Heap Insertion and Removal A Priority Queue Class Prof. Amr Goneid, AUC

Course Contents(continued) Part 8a Sorting(1): Elementary Algorithms General Selection Sort Bubble Sort Insertion Sort Prof. Amr Goneid, AUC

Course Contents(continued) Part 8b Sorting(2): (n log n) Algorithms General Heap Sort Merge Sort Quick Sort Prof. Amr Goneid, AUC

Course Contents(continued) Part 9 The Set Data Structure: Disjoint Sets What are Disjoint Sets? Tree Representation Basic Operations Parent Array Representation Simple Find and Simple Union Disjoint Sets Class Some Applications Prof. Amr Goneid, AUC

Course Contents(continued) Part 10 Graphs Basic Definitions Paths and Cycles Connectivity Other Properties Representation Examples of Graph Algorithms: Graph Traversal Shortest Paths Minimum Cost Spanning Trees Prof. Amr Goneid, AUC

Summary Parts R1,R2,R3 are revisions of CSCE110 material Part No. Subject Book Chapter R1 ADTs as Classes 4 R2 Elementary Data Structures 2 , 3, 6 R3 Dictionaries(1): key Tables and Lists 6 1 Data Modeling and ADTs 2 , 3 2 Simple Containers: Stacks and Queues 7 , 8 3 Introduction to the Analysis of Algorithms 10 Trees 12 5 Dictionaries(2): Binary Search Trees Dictionaries(3): Hash Tables 7 Priority Queues 13 8a Sorting(1): Elementary Algorithms 8b Sorting(2): (n log n) Algorithms 9 The Set Data Structure: Disjoint Sets 16 Graphs Parts R1,R2,R3 are revisions of CSCE110 material Prof. Amr Goneid, AUC

Lab Assignments Hands-on experience will be gained through programming projects that cover the course material. Design documents are required for all the problems given. Design Document: The basic items in the design document will include: Problem Definition Requirement Specifications Solution Strategy S/W Design for the whole problem: Structured (Top-Down) Design in the form of modules (C++ functions) in which each module is associated with a given subproblem. Prof. Amr Goneid, AUC

Lab Assignments S/W Design for Each Module: Functional Specifications: the purpose of the module and what it is supposed to do (What to do) Data Specifications: the data resources needed by the module to achieve it functionality (with what) Precondition: the state of processing or data before the module is executed (state before) Postcondition: the state of processing or data after the module is executed (state after) Algorithm Specification: the algorithm or methodology used by the module (How to do it) Prof. Amr Goneid, AUC

Coursework Grading 30% Programming Assignments. 5 % Quizzes, class participation and attendance 20% Midterm Exam (1) 20% Midterm Exam (2) 25% Final Exam Prof. Amr Goneid, AUC

Course Outcomes After completing the CSCE 210, students should be able to: Demonstrate knowledge and understanding of Data Models, Data Abstraction and ADTs and their role in problem solving and S/W development. Choose the appropriate data structure for modeling a given problem. Design and implement various ADTs in a high level language (C++) using Object Oriented Concepts. Topics include Linked lists, Simple Containers (Stacks, Queues), Dictionaries (Key Tables and Lists, Binary Search Trees, Hash tables), Priority Queues and Heaps, Disjoint Sets and Graphs. Prof. Amr Goneid, AUC

Course Outcomes Compare alternative implementations of data structures with respect to performance. Demonstrate experience in the design of algorithms for solving problem that use the above data structures. Demonstrate knowledge of common applications for each data structure in the topic list. Practice basic algorithm analysis using complexity bounds (Big-Oh, Big-Theta and Big-Omega). Applications include Quadratic Sorting methods and Divide & Conquer recursive sorting (n log n) examples (Merge Sort and Quick Sort). Prof. Amr Goneid, AUC