CS261 Data Structures Winter 2011 Professor Timothy Budd.

Slides:



Advertisements
Similar presentations
1 Introduction to the Computer as an Analysis Tool OPIM 101.
Advertisements

CMPT 225 Data Structures and Programming. Course information Lecturer: Jan Manuch (Jano), TASC TAs: Osama Saleh,
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2010.
IT 240 Intro to Desktop Databases Introduction. About this course Design a database: Entity Relation (ER) modeling and normalization techniques Create.
Intro to CIT 594
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
CS101- Lecture 11 CS101 Fall 2004 Course Introduction Professor Douglas Moody –Monday – 12:00-1:40 – – –Web Site: websupport1.citytech.cuny.edu.
Administrivia- Introduction CSE 373 Data Structures.
1 CS1001 Lecture Overview Midterm Midterm OOP Wrap-up OOP Wrap-up Functions, Hilbert’s Hotel Functions, Hilbert’s Hotel.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
Data Structures and Programming.  John Edgar2.
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
© 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.
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
CSCI-383 Object-Oriented Programming & Design Lecture 4.
CS261 Data Structures Fall 2009 Professor Timothy Budd.
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
Data Structures and Programming.  Today:  Administrivia  Introduction to 225, Stacks  Course website: 
EECE 310 Software Engineering Lecture 0: Course Orientation.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
CSCA48 Course Summary.
Media Computing Instructor Byung Kim Olsen 231 Office hours – MWF 9:00-10:00 AM or by appointment.
Course Introduction Software Engineering
By the end of this session you should be able to...
1 CSC 222: Computer Programming II Spring 2004 See online syllabus at: Course goals:
Introduction to Data Structures
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
1 CSC 222: Object-Oriented Programming Spring 2013 Course goals:  To know and use basic Java programming constructs for object- oriented problem solving.
Chapter 1 Data Structures and Algorithms. Primary Goals Present commonly used data structures Present commonly used data structures Introduce the idea.
C++ and Ubuntu Linux Review and Practice CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and.
Excellence is a Habit Feb Lecture 14 We are what we repeatedly do. Excellence, then, is not an act, but a habit.” - Aristotle.
Announcements and Reminders Recitation sessions are being held this week, with focus on introducing students to Unix systems You’re responsible for policies.
Introduction to Computer Programming (FIT-I pro) J. H. Wang Sep. 17, 2007.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
1 CS 311 Data Structures. 2 Instructor Name : Vana Doufexi Office : 2-229, Ford Building Office hours: By appointment.
CSC 212 Sequences & Iterators. Announcements Midterm in one week  Will cover through chapter 5 of book  Midterm will be open book, open note (but, closed.
Data Structure Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
Chapter More on Classes Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
Review I. Final exam Date TBD. Don ’ t be late! Open book, open notes No calculators or any electronics Worth 50% of final grade.
CS 225 Discrete Structures in Computer Science Winter, 2014: 157 Spring, 2014: 151 Summer, 2014: Two sections 97 and 53.
Prof. James A. Landay University of Washington Winter 2009 Introduction & Course Overview CSE 441 – Advanced HCI January 6, 2009.
CIT 592 Discrete Math Lecture 1. By way of introduction … Arvind Bhusnurmath There are no bonus points for pronouncing my last name correctly Please call.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
CSC 421: Algorithm Design & Analysis
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
CSC 222: Computer Programming II
CSc 020: Programming Concepts and Methodology II
Computer Organization II
CSC 221: Computer Programming I Fall 2005
CSC 222: Object-Oriented Programming
CSC 421: Algorithm Design & Analysis
Algorithm Design and Analysis
EECE 310 Software Engineering
Introduction CSE 373 Data Structures.
Introduction to CS II Data Structures
Topics discussed in this section:
Algorithm Design and Analysis
Administrivia- Introduction
IPC144 Introduction to Programming Using C Week 4 – Lesson 1
Administrivia- Introduction
Presentation transcript:

CS261 Data Structures Winter 2011 Professor Timothy Budd

Why data structures By this point, you have learned the mechanics of coding - variables, loops, etc This course will help you take the next step in becoming a programming, learning higher level skills, such as abstraction, modularization, correctness, efficiency.

Administrivia Go over administrivia - Two midterms, one final Several programming assignments, several homeworks Recitations used for learning programming skills, course will deal more with concepts

More administrivia I’m found in KEC 3049 OH: MWF 1:30 - 3:00 for now Two TA’s: they will each hold office hours as well in KEC lobby (see web page)

Textbook Textbook is on-line, also with links to many articles (wikipedia and so on) for further information. You should print it out Textbook begins with material you should already have seen - read chapters 1 to 5 immediately.

Active Learning At times, this course uses a technique termed Active Learning Worksheets, not every day, but often. Worksheets can be done in groups, helping each other They are gathered and recorded, but only lightly graded

Why Data Structures? The study of data structures is considered the cornerstone and starting point for systematic examination of computer science Notice I said computer science, not just programming

Ubiquitous Certain collection classes are found in almost every nontrivial program Knowing these keeps you from having to reinvent the wheel

Vocabulary The common data structures have well known names Helps provide a vocabulary that is shared by all computer professionals

Abstraction Data structures are one of the easiest ideas to visualize abstractly Abstraction is the key idea used by computer professionals to control complexity.

Information Hiding and Large Projects An important part of abstraction is information hiding - what details do you NOT need to know? Key to modern large software projects What does programmer A NOT need to know to use the work of programmer B?

Tools and Techniques The analysis of data structures provides a good vehicle to learn a variety of mathematical and other analytical techniques Recursion, big-Oh, counting arguments, proof of correctness

Design Pattern format A very useful and recent tool Design patterns provide a way to document proven solutions to common problems More importantly, provide a vocabulary Grew out of OO world, starting to become common everywhere else

Features of Design pattern Problem: Short statement of problem Solution: Abstract characteristics Forces: Reasons for using pattern Counter-Forces: Reasons for NOT using pattern Example

ADTs, interfaces and Implementations On to next topic - ADTs