1 / 15

CS261

CS261. Data Structures Winter 2011 Professor Timothy Budd. Why data structures. By this point, you have learned the mechanics of coding - variables, loops, etc

amena-johns
Download Presentation

CS261

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

More Related