Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rick Chimera School of Computing and Informatics Arizona State University Tempe, Arizona USA Spreadsheets CPI 101: Meeting 11.

Similar presentations


Presentation on theme: "Rick Chimera School of Computing and Informatics Arizona State University Tempe, Arizona USA Spreadsheets CPI 101: Meeting 11."— Presentation transcript:

1 Rick Chimera School of Computing and Informatics Arizona State University Tempe, Arizona USA Spreadsheets CPI 101: Meeting 11

2 Why Learn about Spreadsheets? - Academic  Another way to do Modelling and Inference  Not just mathematical modelling, we’ll see a room scheduling example  Another example of an Interpreted language  Good: immediate (Excel is “super immediate”)  Bad: less help with errors  Usability due to appropriate metaphor  Accounting ledger grid  “Killer app”! Without Excel, Microsoft would not be number 1  *Constraint propagation

3 Why Learn about Spreadsheets? - Practical  Popular program in today’s work environment  Not just for accountants and number-crunching  Timelines, resources, contacts, etc.  Has formatting, interactive forms  Useful program for the individual  Can keep track of concerts you attended (sort by date, band, venue, rating)  *Plan and then track your budget  Good way to organize repetitive or similar data  Can think of columns as defining an object with one property per column  Can think of rows as being separate instances of that object

4 What is a Spreadsheet?  Based on accounting ledger form (big grid)  Such a good idea, it grew to be better  Columns, rows, cells, and cell ranges  Column A, Row 1, Cell A1, Cell Range A1:A8 (8 cells) A1:C3 (9 cells)  Calculates cell values that depend on other cell values through formulas and functions  Cell A4 is the value of cell A3 multiplied by.08  Chains of dependencies that propagate their effects  Unidirectional  1-to-many or many-to-1 relationships, but not many-to-many

5 What is So Great about Spreadsheets?  Great way to deal with data dependencies  Allows for “What If” analysis  Interesting way to deal with constraints  We’ll briefly discuss logical spreadsheets and constraint satisfaction  Import and export data to other programs  XML  Comma Separated Values (csv)  also called Tab Delimited file, some allow any character

6 What is Not So Great about Spreadsheets?  “(From a programming language point of view, then,) spreadsheets lack the most fundamental mechanism that we use to control complexity: the ability to define re-usable abstractions. In effect, they deny to end-user programmers the most powerful weapon in our armory.” - Simon Peyton Jones, Margaret Burnett and Alan Blackwell in their paper Improving the world's most popular functional language: user-defined functions in Excel Improving the world's most popular functional language: user-defined functions in ExcelImproving the world's most popular functional language: user-defined functions in Excel  Similar to javascript without functions  Could be done via copy and paste (more bad than good)

7 What is a Logical Spreadsheet?  Supporting “many-to-many” relationships that are omnidirectional  As I like to think about it: “Mutual dependencies” with operational characteristics that avoid/leverage “circular references”  Meeting example:  Start Time, End Time, and Event Owner  constraint: Start Time (S) and End Time (E)  before( S, E ) “The start time must be before the end time.” “The start time must be before the end time.”  constraint: Event Owner (O) and ~Senior Manager(O)  ~Event Room (301) “If the event owner is not a senior manager then room 301 cannot be reserved.” “If the event owner is not a senior manager then room 301 cannot be reserved.”

8 from Michael Kassof, Stanford Logic Group, talk on Logical Spreadsheets August 1, 2006 (without permission)

9 Working with a Spreadsheet  Take advantage of Good Interactivity  Interactive Help System  Interactive Formula and Function System  “Intelligent” Interactivity, especially when growing a spreadsheet  Copy and Paste with relative cell specifications

10 Spreadsheets In Action, OOPS!  Lots of potential for cell values to be an ERROR  Divide by Zero (#DIV/0!)  Not a Number (#VALUE!)  No such cell to reference (#REF!)  Circular Reference (“Circular: A1” on status line)  When a formula eventually leads back to oneself, directly or indirectly  Typically this is a thought error, but does not have to be an operational error


Download ppt "Rick Chimera School of Computing and Informatics Arizona State University Tempe, Arizona USA Spreadsheets CPI 101: Meeting 11."

Similar presentations


Ads by Google