CSC – 332 Data Structures Dr. Curry Guinn. Quick Info Dr. Curry Guinn –CIS 2045 –www.uncw.edu/people/guinnc –962-7937.

Slides:



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

5/19/2015CS 2011 CS 201 – Data Structures and Discrete Mathematics I Syllabus Spring 2014.
1-1 CMPT 225 Data Structures and Programming Instructor: Aaron Hunter Section: E300 Campus: Harbour Centre Semester: Spring 2007.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Th. 9/3/2009.
Intro to CIT 594
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
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, 2001 Lecture 1 Introduction/Overview Wed. 9/5/01.
COMP171 Data Structures and Algorithm Huamin Qu Lecture 1 (Sept. 1, 2005)
CS503: Tenth Lecture, Fall 2008 Review Michael Barnathan.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2005 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 9/7/05.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Lecture 1 Introduction/Overview Wed. 1/31/01.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2000 Lecture 1 Introduction/Overview Wed. 9/6/00.
CENG 213 Data Structures Department of Computer Engineering Middle East Technical University Fall 2014 CENG 213 Data Structures 1.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CSCE 3110 Data Structures and Algorithm Analysis.
METU Computer Engineering Department
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.
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.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
1 CS 233 Data Structures and Algorithms 황승원 Fall 2010 CSE, POSTECH.
CSC172 INTRO PEPPER. COURSE GOALS Strong Java programmer Thorough code documentor Test driven programming Think in terms of objects Data structures –
BIM213 – Data Structures and Algorithms Introduction 1.
CSCE 1040 Computer Science 2 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
Spring 2011 ICS321 Data Storage & Retrieval Mon & Wed 12-1:15 PM Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii.
CSC Discrete Mathematical Structures Dr. Karl Ricanek Jr.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
1 Introduction to Data Structures. 2 Course Name : Data Structure (CSI 221) Course Teacher : Md. Zakir Hossain Lecturer, Dept. of Computer Science Stamford.
Data Structures (Second Part) Lecture 1 Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
CSE 3358 NOTE SET 1 Data Structures and Algorithms.
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
CS-2851 Dr. Mark L. Hornick 1 CS-2852 Data Structures Dr. Mark L. Hornick Office: L341 Phone: web: people.msoe.edu/hornick/
Data Structures for Programmers Vamshi Ambati
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
CSC 111 COURSE ORIENTATION. Course name and Credit houres  CSC 111 – Computer Programming-I  Credit hours:  3 hours lecture  1 hour tutorial  2 hours.
COT 5405: Design and Analysis of Algorithms Cliff Zou Spring 2015.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Fall 2010 ICS321 Data Storage & Retrieval Mon & Wed 12-1:15 PM Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at.
Fall 2010 ICS321 Data Storage & Retrieval Mon & Wed 12-1:15 PM Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at.
Intro to CIT 594
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.
Principles of Imperative Computation Lecture 1 January 15 th, 2012.
Data Structures By Dr. Mehedi Masud ِAssociate Professor, Computer Science Dept. College of Computers and Information Systems Taif University 1.
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.
CENG 213 Data Structures1 Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University.
CENG 213 Data Structures Nihan Kesim Çiçekli
CENG 707 Data Structures and Algorithms
COMP9024: Data Structures and Algorithms
CENG 213 Data Structures Nihan Kesim Çiçekli
Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 1/28/04
CENG 213 Data Structures Dr. Cevat Şener
CMPT 238 Data Structures Instructor: Tina Tian.
Computer Science 102 Data Structures CSCI-UA
CS 201 – Data Structures and Discrete Mathematics I
CENG 213 Data Structures Nihan Kesim Çiçekli
Administrivia- Introduction
Principles of Imperative Computation
CSC 380: Design and Analysis of Algorithms
CMPT 238 Data Structures Instructor: Tina Tian.
Presentation transcript:

CSC – 332 Data Structures Dr. Curry Guinn

Quick Info Dr. Curry Guinn –CIS 2045 – – –Office Hours: MTWR: 11:00am-12:00pm and by appointment

What is CSC 332? Data Structures –THE Gateway Course Gateway to most 300 and 400 level CSC courses Gateway to our graduate CSC courses Not just a gateway course at UNCW – it is the pivotal course in all undergraduate computer science programs

Why Is It So Important? How you organize and access information on computers is fundamental Across disciplines within computer science the same sorts of operations arise again and again This course investigates the best practices of past scientists trying to solve those puzzles

How To Approach This Course Your future CSC courses and your future career in IT/Computers depends on mastering this material.

How Do I Earn an ‘A’? Read the books. Come to every lecture. Write programs. –Turn in assignments on time. –Work independently –Every assignment must be submitted (otherwise ‘F’). Make use of office hours –Send me early and often.

Course and Grading Criteria Quizzes1/8 1 st Midterm Exam11/80 2 nd Midterm Exam11/80 Final3/10 Homework3/ pts. per day late up to 5 days. Then ‘F’ for the course

The Required Texts Mark Allen Weiss, Data Structures and Algorithm Analysis in Java, Second or Third Edition.Data Structures and Algorithm Analysis in Java Douglas R. Hofstadter, Gödel, Escher, Bach: An Eternal Golden BraidGödel, Escher, Bach: An Eternal Golden Braid

Specific Goals of the Course Goal 1: Understand and Implement Data Structures That Have Found to Be Important and Particularly Useful An example: Arrays Why are arrays useful?

Goal 1: Understanding Data Structures What can you do with arrays? How do you find something in an array? How do we know which algorithm for finding something in an array is “better”? What does “better” mean in this context? –Analysis of algorithms

Goal 1: Understanding Data Structures When are arrays bad? Which leads us to linked lists, queues, and stacks

Goal 1: Understanding Data Structures Which leads us to sorting Some sorting algorithms depend on recursion so we’ll need to study that too

Goal 1: Understanding Data Structures Linked lists are not so good for searching and sorting Which leads us to binary trees Are binary search trees always better than a linked list?

Goal 1: Understanding Data Structures Which leads us to studying how to balance binary trees Are there other useful tree structures?

Goal 1: Understanding Data Structures Trees are a special type of graph. What problems lend themselves to being represented as a graph?

Goal 1: Understanding Data Structures Linear search takes O(n) time Binary search takes log(n) time Hashing search takes 1 time!!! I wonder if there are any drawbacks?

Are there algorithm patterns that we see repeated? Greedy Algorithms Divide-and-conquer Dynamic programming Randomized algorithms

Goal 2: Unix-based Operating Systems Work should be done on our Linux machines (babbage.cis.uncw.edu). Java programming will be bare bones – just a simple text editor and command line compiling (javac) Why are we doing this to you?

Goal 2: Unix Unix dominates certain markets within computer science. Which ones? Unix is better than Microsoft operating systems Why didn’t unix become the dominant OS? The linux revolution

Goal 2: Unix What do you need to learn? –A very small subset of the operating system language (link)link –A text editor: I’ll show you “vi” (actually it’s “vim”) ( g14/332/vi.html) g14/332/vi.html

Goal 3: Becoming a Computer Scientist Love what you are doing Take delight in problem-solving What do computer scientists do? –They take problems and figure out how to use the computer as a tool to help solve the problem

Goal 3: Becoming a Computer Scientist So, to be a computer scientist, you need to 1.Be good at problem analysis 2.Know a diversity of techniques that are applicable to computer problem solving 3.Be able to find the match between a problem and possible techniques

Goal 3: Becoming a Computer Scientist Douglas R. Hofstadter, Gödel, Escher, Bach: An Eternal Golden BraidGödel, Escher, Bach: An Eternal Golden Braid –Pulitzer prize winning book. –Intended for a general science audience. –Cult classic. Huge online presence. –Tremendous relevance to data structures (and CSC 360, 532, 415, 515)

Goal 3: Becoming a Computer Scientist GEB, in particular, focuses on –Problem-solving –Recursion –Computability –Computational logic –Can the manipulation of data by formal rules ever lead to true intelligence?

Unix Before clicking on that link, look at next page first

For Next Class, Thursday Blackboard Quiz due Thursday night Homework 1 due Tuesday, 01/21, 11:59pmHomework 1 For Tuesday –Login to your shannon account –Play with and look at the man pages for “ls”, “cd”, “mkdir”, “rmdir”, “rm”, “less”, “more” –Look at these two local links: unix.html and vi.htmlunix.htmlvi.html –Here’s a useful page: