Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS3901 Intermediate Programming & Data Structures Introduction

Similar presentations


Presentation on theme: "CS3901 Intermediate Programming & Data Structures Introduction"— Presentation transcript:

1 CS3901 Intermediate Programming & Data Structures Introduction

2 What will we learn? (1)‏ C++ Programming Java Programming
Memory management Lists Programming with structs and classes Java Programming Object-Oriented programming concepts, including Inheritance Polymorphism Abstract Classes Interfaces Generics Packages The syntax we learned will be for C++ and Java, but the concepts appear in many other languages.

3 What will we learn? (2)‏ Primitive Data Structures
Arrays Linked Lists Trees Linked Node and Array Based Heaps Binary Search Trees, AVL Trees, 2-4 Trees, Red-Black Trees Hash Tables Abstract Data Types (Built on Primitives)‏ Lists Stacks Queues Maps Dictionaries Possibly: Sets Graphs There exist more complicated data structures than the ones covered in the course. Understanding the above data structures will give you a basis for understanding more advanced structures

4 What will we learn? (3)‏

5 Data Structures Problems
The following slides list various problems or domain areas in computer science, which require use data structures we will learn about in this course. Think about the structure of the data we want to represent. What additional or related problems can you come up with?

6 Databases Simple ones store key-value pairs (on disk)‏
More complex versions: Relational Databases XML Databases OO Databases

7 Timetabling Timetabling (creating a university class schedule)‏
Students belong to classes Teachers belong to classes Classes have room assignments Goal: choose a set of time slots for each class which do not have conflicts in teaching and room assignments minimize conflicts in students’ schedules

8 Forensics Task: record the flow of control in assembly language programs, either at the individual statement level, or at the function call level. Goal: search for cycles (to recognize loops)‏

9 Computer Graphics In Computer Graphics, we want to represent the logical organization of scene: A slightly more complicated version is called a Scene Graph (although it’s really a tree).

10 Matrices Matrices often need to be designed to accommodate a property of sparseness. In math, a sparse matrix is one where most of the values are zero. In data structures, a sparse matrix is one where most of the elements are un-allocated. Each node knows its own virtual coordinate, and points to some other actual node (or null), depending on that virtual coordinate. Uses in computer vision, graphics, engineering

11 ??? <Your problem here.>

12 Homework Windows users: Mac users: Linux/Unix users: All Users:
Install Cygwin gcc Mac users: Install the latest version of Xcode Linux/Unix users: Install gcc All Users: Install an editor with syntax highlighting


Download ppt "CS3901 Intermediate Programming & Data Structures Introduction"

Similar presentations


Ads by Google