Download presentation
Presentation is loading. Please wait.
Published byShona Booker Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.