Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS261 Data Structures Winter 2011 Professor Timothy Budd.

Similar presentations


Presentation on theme: "CS261 Data Structures Winter 2011 Professor Timothy Budd."— Presentation transcript:

1 CS261 Data Structures Winter 2011 Professor Timothy Budd

2 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.

3 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

4 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)

5 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.

6 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

7 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

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

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

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

11 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?

12 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

13 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

14 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

15 ADTs, interfaces and Implementations On to next topic - ADTs


Download ppt "CS261 Data Structures Winter 2011 Professor Timothy Budd."

Similar presentations


Ads by Google