BIM213 – Data Structures and Algorithms Introduction 1.

Slides:



Advertisements
Similar presentations
Analysis & Design of Algorithms (CSCE 321)
Advertisements

COMP171 Data Structures and Algorithms Spring 2009.
CSCE 210 Data Structures and Algorithms
COMP171 Data Structures and Algorithms Spring 2009.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Th. 9/3/2009.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
Data Structures & Algorithms What The Course Is About s Data structures is concerned with the representation and manipulation of data. s All programs.
Administrivia- Introduction CSE 373 Data Structures.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2005 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 9/7/05.
Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.
Chapter 1 Introduction Definition of Algorithm An algorithm is a finite sequence of precise instructions for performing a computation or for solving.
Data Structures Lecture-1:Introduction
Data Structures & Agorithms Lecture-1: Introduction.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
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.
BIL528 – Bilgisayar Programlama II Introduction 1.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
Introduction and Course Information. Content Course Presentation Muzaffer DOĞAN - Anadolu University2.
Data Structures Lecture 1: Introduction Azhar Maqsood NUST Institute of Information Technology (NIIT)
1 CS 233 Data Structures and Algorithms 황승원 Fall 2010 CSE, POSTECH.
CSCA48 Course Summary.
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.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Review Midterm.
Instructor Information: Dr. Radwa El Shawi Room: Week # 1: Overview & Review.
CSC – 332 Data Structures Dr. Curry Guinn. Quick Info Dr. Curry Guinn –CIS 2045 – –
DATA STRUCTURES (CS212D) Week # 1: Overview & Review.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
Data Structures and Algorithms – using JAVA Boro Jakimovski University of Sts Cyril and Methodius, Skopje.
Data Structures Lecture 1: Introduction. Course Contents Data Types   Overview, Introductory concepts   Data Types, meaning and implementation  
Introduction and Course Information. Content Course Presentation Creating a Sample Project Muzaffer DOĞAN - Anadolu University2.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
1 BIM304: Algorithm Design Time: Friday 9-12am Location: B4 Instructor: Cuneyt Akinlar Grading –2 Midterms – 20% and 30% respectively –Final – 30% –Projects.
BIL527 – Bilgisayar Programlama I Introduction 1.
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 29 April 2004.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 23 Algorithm Efficiency.
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.
Course Introductions.  Introduction to java  Basics of Java  Classes & Objects  Java Collections and APIs  Algorithms and their analysis  Recursion.
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.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
CMPT 238 Data Structures Instructor: Tina Tian. General Information Office: RLC 203A Office Hour: Tue and Fri 12:30 - 2:00PM.
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2013.
BIM313 – Advanced Programming Techniques Course Information 1.
Week 15 – Monday.  What did we talk about last time?  Tries.
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
CSCE 210 Data Structures and Algorithms
CENG 707 Data Structures and Algorithms
Syllabus Introduction to Computer Science
CMPT 238 Data Structures Instructor: Tina Tian.
Week 15 – Monday CS221.
Computer Science 102 Data Structures CSCI-UA
Cse 373 April 26th – Exam Review.
Introduction to Data Structure
structures and their relationships." - Linus Torvalds
Data Structures (CS212D) Overview & Review.
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.
structures and their relationships." - Linus Torvalds
Introduction CSE 373 Data Structures.
CMPT 438 Algorithms Instructor: Tina Tian.
Data Structures (CS212D) Overview & Review.
Administrivia- Introduction
Administrivia- Introduction
structures and their relationships." - Linus Torvalds
CMPT 238 Data Structures Instructor: Tina Tian.
Presentation transcript:

BIM213 – Data Structures and Algorithms Introduction 1

Contents Information about the course Data Structures Algorithms 2

Course Information 3

About the course Lecturer:Cüneyt AKINLAR Office Phone:6553 Web Page: Teaching Assistant:Ahmet Murat TÜRK Mehmet ÖZCAN Course Web Page: Class Hours and Location: 09:00-12:00, FRI on B7 Office Hours:14:00-17:00, TUE Prerequisites:- BIM101 – Computer Programming I - BIM102 – Computer Programming II Textbooks:Data Structures & Problem Solving Using Java, Mark Allen Weiss, 4 th Edition, Pearson,

5 Course Outline Iterative algorithms and their analysis –Case Study: Iterative Sorting Algorithms Recursive algorithm design & analysis Lists – ArrayList & LinkedList Stacks, Queues Trees Search Trees –Binary Search Trees –AVL Trees –Splay Trees Tries & Hash Tables

Course Contents Week 1Introduction, Algorithm Analysis and Asymptotic (Big- O, Omega, Theta) Notations Week 2Iterative Sorting Algorithms: Bubble Sort, Selection Sort, Insertion Sort Week 3Introduction to Divide-and-Conquer (Recursive) Algorithms Week 4Lists and Array Implementation: ArrayList Week 5Religional Holliday Week 6First Midterm Week 7Linked Lists 6

Course Contents (continued) Week 8Stacks and Queues Week 9Trees Week 10Binary Search Trees Week 11AVL Trees Week 12Second Midterm Week 13Splay Trees, Lower Bound on Comparison Based Search Week 14Hash Tables Week 15Review & Course Recap Week 16Final Exam 7

Grading Plan 1 st MT: 20%, 2 nd MT: 20%, Homework: 20%, Final: 40%. Curve will be applied to the grades If your grade is below 80%, you cannot get the grade AA, but it is not certain that if you pass 80% then you get AA. If your grade is below 35%, you certainly fail, but this does not mean that you’ll get at least DD if you pass 35%. 8

Sample Grading Plan Grade Letter Grade ≥ 80AA ≥ 75AB ≥ 70BA ≥ 65BB ≥ 60BC Grade Letter Grade ≥ 55CB ≥ 50CC ≥ 45CD ≥ 40DC ≥ 35DD < 35FF 9

Attendances You don’t have to attend the classes but recent experiences show that the students who attend the classes are more successful All students are responsible for visiting the website of the course at least two times in each week Announcements, assignments, grades, and project subjects will be published on the website. 10

Data Structures & Algorithms 11

12 What’s this course about? An algorithm (program) is a well-defined computational procedure that –takes some values (data) as “input” –produces some result as “output” Programs receive, manipulate, and output data –Need to organize data according to problem being solved –Data structures are methods for organizing data ALGORITHM Input (DATA)Output (Results)

13 Data Structures (DS): What, How, and Why? Data structures are methods for organizing data Formal definition of DS: Abstract Data Type (ADT) –A “toolkit” of operations for manipulating data –E.g. A list with operations insert and delete –E.g. A stack with operations push and pop –E.g. A queue with operations enqueue and dequeue

14 Data Structures (DS): What, How, and Why? Program design depends crucially on data organization, i.e., how data is structured for use by the program –Implementation of some operations becomes easier or harder –Speed of program may dramatically decrease or increase –Memory used may increase or decrease We will see examples of these throughout the course

15 Course Goals for Data Structures Study different implementation techniques for some fundamental ADTs Learn how to choose the “best” one Learn how to modify standard ADTs for specific problems, and create new ADTs

16 Data Structures are used… Everywhere –Systems (Operating Systems, Computer Networks) –Graphics –Databases –Theory –Artificial Intelligence –Information Retrieval –… Maybe the most important class in your curriculum –Guaranteed good and important stuff

17 E.g. 1: Tree of Files and Folders Nodes: Files/folders Edges: contains / docsProgram Files games classes BIM201 BIM213 PPT Project1 hw1.txthw2.txt main.cppproject.sln

18 E.g. 2: Queue of People Front of the queue: Next person to be served Rear of the queue Next person will join the queue from the rear Queue of people waiting to pay bills

19 E.g. 3: Representing Expressions a = x*y + w-z; a + * x y - w z Nodes: Symbols/Operators Edges: Relationships

20 E.g. 4: Balanced Search Trees Veli ID: 5 GPA: 2.0 Ali ID: 10 GPA: 3.0 Cem ID: 15 GPA: 2.5 Hasan ID: 20 GPA: 2.8 Mehmet ID: 25 GPA: 3.4 Taner ID: 30 GPA: 3.2 Ayse ID: 35 GPA: 2.9 Index Nodes: (Key/Value) pairs, Edges: Relationships

21 E.g. 5: Transportation Networks Eskisehir Bozuyuk Inegol Sivrihisar Bilecik Sakarya Polatli Afyon Kutahya Bursa 60 Nodes: Cities Edges: Roads

22 Algorithms and their Analysis What is an algorithm? –A sequence of steps (a “program”) that accomplishes a task –Independent of Programming Language Many different algorithms may correctly solve a given task –But choice of a particular algorithm may have enormous impact on time and memory used –Time versus space tradeoffs are very common

23 Types of Algorithms Iterative Algorithms Recursive (Divide & Conquer) Algorithms Randomized Algorithms Dynamic Programming Greedy Algorithms Approximation Algorithms Genetic Algorithms

24 Course Goals for Algorithms Understand the mathematical fundamentals needed to analyze algorithms Learn how to compare the efficiency of different algorithms in terms of running time and memory usage Study a number of standard algorithms for data manipulation and learn to use them for solving new problems