1 / 8

Crafting a Program

Data Structures CSCI 132, Fall 2018 Lecture 1 Big Ideas in Data Structures Course website: http://mathcs.holycross.edu/~csci132. Crafting a Program. Four main ideas used in creating complex computer programs: Data Abstraction Modularity Algorithmic complexity Standard Tools.

colvins
Download Presentation

Crafting a Program

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. Data StructuresCSCI 132, Fall 2018Lecture 1Big Ideas in Data StructuresCourse website: http://mathcs.holycross.edu/~csci132

  2. Crafting a Program Four main ideas used in creating complex computer programs: • Data Abstraction • Modularity • Algorithmic complexity • Standard Tools

  3. Recall Problem Solving One of the most important problem solving techniques is: Divide Conquer & Glue

  4. Dealing with Abstraction • Abstraction • Allows you to capture common patterns in things and ignore inessential details. • Black Box Abstraction • Allows us to use things without knowing how they work. For example, a telephone. • Data Hiding • Allows use of a program component without knowing the specifics of how it is implemented.

  5. Layers of Abstraction • We can build up layers of abstraction to create complexity. • Without layers of abstraction we could not understand the most complex programs • (e.g. Microsoft Word ~ 1,000,000 lines of code).

  6. Modularity • The best programs are modular. • The pieces can fit together and be used in many different ways. • Lego building blocks are a classic example of modularity.

  7. Algorithmic Complexity • Not all computer programs are equal. • The efficiency of programs can be measured as: • 1. The amount of time the program takes to run. • 2. The amount of memory space used.

  8. Standard Programming Tools • Data Structures • Stacks • Queues • Lists • Tables • Trees • Graphs • Algorithms • Searching • Sorting • Tree Traversal • Graph Algorithms

More Related