Presentation is loading. Please wait.

Presentation is loading. Please wait.

COP 3530: Data Structures, Algorithms, & Applications Instructor: Kristian Linn Damkjer.

Similar presentations


Presentation on theme: "COP 3530: Data Structures, Algorithms, & Applications Instructor: Kristian Linn Damkjer."— Presentation transcript:

1 COP 3530: Data Structures, Algorithms, & Applications Instructor: Kristian Linn Damkjer

2 Course Overview Syllabus Review

3 What The Course Is About  Applications are developed to solve real- world problems.  All programs manipulate data.  Programs must represent data in some way.  Data structures focuses on data representation and manipulation.  Data manipulation requires algorithms.  Algorithms are the fundamental elements in application development.

4 Prerequisites  Java™  CIS 3020 or CIS 3022 & CIS 3023  You should be proficient and self- sufficient  You must be capable of writing programs without the aid of a compiler.

5 Prerequisites  Asymptotic Complexity  COT 3100  We will use primarily O notation.  f(n) = O(g(n)) : Big Oh notation  f(n) is bounded above by g(n)  You should also be comfortable with Θ and Ω.  f(n) = Θ(g(n)) : Big Theta notation  f(n) is asymptotically equivalent to g(n)  f(n) = Ω(g(n)) : Big Omega notation  f(n) is bounded below by g(n)

6 Prerequisites  Strong Mathematical Reasoning  Any of the various flavors of Calculus 2.  At the very least you need to understand:  Sequences  Series  Summations  Integration  Differentiation  Matrices  Vectors

7 Web Sites  http://www.cise.ufl.edu/~kdamkjer/courses/su05/cop3530/  Announcements  Syllabus  Handouts  Exercise Solutions  Assignments  TAs and Discussions  http://www.cise.ufl.edu/~sahni/cop3530/  Text  Source Codes  Past Exams  Past Exam Solutions

8 Assignments  Assignment guidelines  Submission procedures  Do Assignment 0 by Friday!

9 Source Codes  Read download and use instructions.  Must have Java 1.2 or higher  Hopefully you have 1.4.2 or 1.5.0 (5.0)  Review the source code documentation  ProgramIndex.html  AllNames.html  Other HTML files produced by Javadoc

10 Discussion Sections  Go to either one  TAs will answer your questions on lectures and assignments.  TAs will cover exercises from the text.  Web site lists topics and exercises for each discussion section.

11 Textbook  It’s not rocket science (really)  It’s computer science  There are three sections to the textbook:  Background (Chapters 1-4)  Data Structures (Chapters 5-17)  Algorithms (Chapters 18-22)  What about Applications?  We’ll cover applications throughout the entire semester along with general theory and other concepts.

12 Grades  Assignments: 25%  Five Graded Projects  No drops permitted  Each worth 5%  Exams: 75%  Three Exams  No drops permitted  Each worth 25%

13 Grades  Historic Cutoffs  A≥ 83%  B+≥ 75%  B≥ 70%  C+≥ 65%  C≥ 60%  D+≥ 55%  D≥ 50%

14 Classic Problem Sorting

15 Classic Problem: Sorting  Given a list of comparable elements:  a 0, a 1, …,a n−1  Rearrange the list into a specific order  Typically increasing or decreasing order.

16 Classic Problem: Sorting  Given a list of comparable elements:  a 0, a 1, …,a n−1  Rearrange the list into a specific order  Typically increasing or decreasing order.  Objective:  a 0 ≤ a 1 ≤ … ≤ a n−1  Examples:  8, 6, 9, 4, 3  3, 4, 6, 8, 9  8, 3, 6, 2, 8, 10, 2  2, 2, 3, 6, 8, 8, 10

17 Sorting Methods  Insertion  Bubble  Selection  Count  Shaker  Shell  Heap  Merge  Quick

18 Sorting Methods  Insertion  Bubble  Selection  Count  Shaker  Shell  Heap  Merge  Quick

19 Inserting an Element  Given a sorted list (sequence), insert a new element  Given 3, 6, 9, 14  Insert 5  Result 3, 5, 6, 9, 14

20 Inserting an Element  Insert 5 into the list: 3, 6, 9, 14  Compare new element ( 5 ) and last element in list ( 14 )  Shift 14 right to get 3, 6, 9,, 14  Shift 9 right to get 3, 6,, 9, 14  Shift 6 right to get 3,, 6, 9, 14  Insert 5 to get 3, 5, 6, 9, 14

21 Inserting an Element // insert t into a[0:i-1] int j; for (j = i – 1; j >= 0 && t = 0 && t < a[j]; j--) a[j + 1] = a[j]; a[j + 1] = a[j]; a[j + 1] = t;

22 Next Time in COP 3530…  Read Chapters 1–4 for review of topics covered today  Performance Analysis and Measurement  We will start the Data Structures portion of this course  Start thinking about different ways to represent data  Read Chapter 5.1–5.2  Data Structure: Linear Lists


Download ppt "COP 3530: Data Structures, Algorithms, & Applications Instructor: Kristian Linn Damkjer."

Similar presentations


Ads by Google