© Jalal Kawash 2010 Introduction Peeking into Computer Science 1.

Slides:



Advertisements
Similar presentations
Microsoft® Access® 2010 Training
Advertisements

Spreadsheet software 1. Spreadsheets 2 Spreadsheet software Components of spreadsheets Labels - are used for titles, headings, names, and for identifying.
EXCEL 101 Level 1 on a MAC CORE (Centre for Organizational Resilience), For Youth Initiative.
Sonar and Localization LMICSE Workshop June , 2005 Alma College.
Templates and Styles Excel Advanced. Templates are pre- designed and formatted spreadsheets –They provide consistency of layout/structure –They.
Chapter 12 – Strategies for Effective Written Reports
© Jalal Kawash 2010 Introduction Peeking into Computer Science 1.
CS292 Computational Vision and Language Pattern Recognition and Classification.
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
James Tam Introduction To Problem Solving This section will focus on problem solving strategies.
Chapter 7 Data Management. Agenda Database concept Import data Input and edit data Sort data Function Filter data Create range name Calculate subtotal.
Basic Scientific Writing in English Lecture 3 Professor Ralph Kirby Faculty of Life Sciences Extension 7323 Room B322.
Experimental Psychology PSY 433
PowerPoint: Tables Computer Information Technology Section 5-11 Some text and examples used with permission from: Note: We are.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
COMPREHENSIVE Excel Tutorial 8 Developing an Excel Application.
Group practice in problem design and problem solving
EXCEL 101 Level 1 on a PC CORE (Centre for Organizational Resilience), For Youth Initiative.
CS102 Introduction to Computer Programming
CHAPTER 14 Formatting a Workbook Part 1. Learning Objectives Format text, numbers, dates, and time Format cells and ranges CMPTR Chapter 14: Formatting.
Web Design, 4 th Edition 4 Planning a Successful Web Site: Part 2.
Copyright © 2008 Pearson Prentice Hall. All rights reserved. 1 1 Copyright © 2008 Prentice-Hall. All rights reserved. Committed to Shaping the Next Generation.
11 Exploring Microsoft Office Excel 2007 Chapter 4: Working with Large Worksheets and Tables Chapter 04 - Lecture Notes (CSIT 104)
© Jalal Kawash Finite State Machines Peeking into Computer Science.
© Jalal Kawash 2010 Introduction Peeking into Computer Science 1.
General Programming Introduction to Computing Science and Programming I.
Spreadsheet ADE100- Computer Literacy Lecture 16.
Numeric Processing Chapter 6, Exploring the Digital Domain.
Tables and Figures. The “Big Picture” For other scientists to understand the significance of your data/experiments, they must be able to: understand precisely.
© Jalal Kawash Databases & Data Modelling Peeking into Computer Science.
McGraw-Hill/Irwin The Interactive Computing Series © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Microsoft Excel 2002 Lesson 1 Introduction.
Chapter 3 Developing an algorithm. Objectives To introduce methods of analysing a problem and developing a solution To develop simple algorithms using.
Formal Lab Report. General Layout Title page Introduction/ObjectiveTheoryProcedures Data Analysis Error Analysis ConclusionBibliography.
Developing an Algorithm
Formal Report Organization Engl 3365 Copyright 2012 by Art Fricke.
Chapter 4 Financial Functions, Data Tables, and Amortization Schedules
GUI Design Spreadsheet-Based Decision Support Systems Chapter 23: Aslı Sencer MIS 463.
© Jalal Kawash Database Queries Peeking into Computer Science.
Chapter 3 MATLAB Fundamentals Introduction to MATLAB Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Creating a poster is easier than you think.
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
Developing an Algorithm. Simple Program Design, Fourth Edition Chapter 3 2 Objectives In this chapter you will be able to: Introduce methods of analyzing.
The Software Development Process
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
Title Slide Progress Report Name. Goal Goal Statement – ex. design/create/fabricate … - should be clear and short Needs/Problems – clear and short Space.
INTRODUCTION TO SPREADSHEETS MICROSOFT EXCEL. Spreadsheets Allows users to perform simple and complex sorting Allows users to perform calculations quickly.
Chapter 3 AS3 Programming. Introduction Algorithms + data structure =programs Why this formula relevant to application programs created in flash? The.
Spreadsheet Design & Assignment 1 Based on: M. Banarjee, Personal Communication, 2008 J. Nevison, The Elements of Spreadsheet Style, Prentice-Hall, 1987.
Excel Tutorial 8 Developing an Excel Application
ICS 3UI - Introduction to Computer Science
AP CSP: Cleaning Data & Creating Summary Tables
Introduction to Computing Science and Programming I
Office tool for creating tables and charts
INTRODUCTION TO PROBLEM SOLVING
Chapter 7 Text Input/Output Objectives
Analyzing Data with Excel
Chapter 7 Text Input/Output Objectives
Data Validation and Protecting Workbook
International Computer Driving Licence Syllabus version 5.0
PowerPoint: Tables and Charts
Developing an Excel Application
Analyzing and Interpreting Quantitative Data
European Computer Driving Licence
Writing for Academic Journals
Using Excel with Google Maps
Formatting a Workbook Part 2
Agenda: 10/05/2011 and 10/10/2011 Review Access tables, queries, and forms. Review sample forms. Define 5-8 guidelines each about effective form and report.
Formatting a Workbook Part 1
Tutorial 7 – Integrating Access With the Web and With Other Programs
Poster Title ___ Title is at top of the poster, short, descriptive of the project and easily readable at a distance of about 4-5 feet (words about
Presentation transcript:

© Jalal Kawash 2010 Introduction Peeking into Computer Science 1

© Jalal Kawash 2010Peeking into Computer Science Reading Assignment Mandatory: Chapter 1 Optional: None 2

Spreadsheet Design Long-lasting spreadsheets 3

© Jalal Kawash 2010Peeking into Computer Science Objectives At the end of this section, the student will be able to: 1. Judge the design of a spreadsheet 2. Divide a spreadsheet into five sections 3. Understand the role of each section

© Jalal Kawash 2010Peeking into Computer Science Spreadsheet Properties Good character Easy to build Easy to read Easy to use Easy to change Error free

© Jalal Kawash 2010Peeking into Computer Science Example of Poor Spreadsheet

© Jalal Kawash 2010Peeking into Computer Science Contents of a Spreadsheet Introduction: ◦Introduction, title, description, and contents Model: ◦Main form data Data Dictionary ◦Explains columns and calculations Data: ◦Data used in your sheet Dashboard ◦Visual reports (charts)

© Jalal Kawash 2010Peeking into Computer Science Notes The actual data forms are determined by the purpose of the spreadsheet ◦What is the function of the sheet? Sections should be in different ‘tabs’ (sheets) ◦Especially for larger examples

© Jalal Kawash 2010Peeking into Computer Science Intro Section – Design Tips 1. Make a formal introduction 2. Title of the sheet must be informative 3. Declare the purpose 4. Give clear instructions 5. Reference critical ideas 6. Map the content

© Jalal Kawash 2010Peeking into Computer Science Intro – 1. Make a formal intro Intro section should give the user a clear idea of how the sheet ties with the real world Intro devices: ◦Include a title that passes critical info ◦Declare the purpose ◦Give directions on how to use the model ◦Include references ◦Include a table of contents

© Jalal Kawash 2010Peeking into Computer Science Example Intro

© Jalal Kawash 2010Peeking into Computer Science Intro – 2. Informative Title Title must at least include: ◦Name of the model ◦Date ◦Name of creator Properties of a title: ◦Short ◦Apt (to the point) ◦Memorable

© Jalal Kawash 2010Peeking into Computer Science Intro – 3. Declare the Purpose Tell the spreadsheet user what the spread sheet is all about

© Jalal Kawash 2010Peeking into Computer Science Intro – 4. Give Instructions Give clear step-by-step Instructions on how to use the spreadsheet Especially important if the user needs to later make changes to the data or calculations Not necessary for small examples (such as our US States example)

© Jalal Kawash 2010Peeking into Computer Science Intro – 5 & 6. Refs and TOCs Cite all resources used to create the spreadsheet if any Use APA or other format for citation: ◦J. Nevison, The Elements of Spreadsheet Style, Prentice-Hall, 1987 ◦ (if you have no clue as to what format to use) A Table of Contents (TOC) can be a good idea too

© Jalal Kawash 2010Peeking into Computer Science Example Intro

© Jalal Kawash 2010Peeking into Computer Science Data Includes raw and calculated data This is the actual spread sheet

© Jalal Kawash 2010Peeking into Computer Science Example Raw Data

© Jalal Kawash 2010Peeking into Computer Science Model Section Model includes assumptions and calculations Explain the model: Should provide three levels of explanation: ◦Explain the values appearing in the model ◦Explain tricky formulas ◦A complete listing of all used formulas

© Jalal Kawash 2010Peeking into Computer Science Example Model

© Jalal Kawash 2010Peeking into Computer Science Data Dictionary Explains the meaning of your data Give each field: ◦A type: categorization, raw data, column calculation, row calculation ◦A data type: text, number, integer, percentage, etc… ◦A sheet/cell reference: the sheet where the field is and where in the sheet (cell range) ◦A description: brief narrative

© Jalal Kawash 2010Peeking into Computer Science Example Data Dictionary

© Jalal Kawash 2010Peeking into Computer Science Dashboard Visual Charts and conclusions

© Jalal Kawash 2010Peeking into Computer Science Example Dashboard

© Jalal Kawash 2010Peeking into Computer Science Example Dashboard

© Jalal Kawash 2010Peeking into Computer Science Dashboard (or Conclusion) Analyze and comment on every chart Include a conclusion/discussion section

Abstraction The power to simplify 27

© Jalal Kawash 2010Peeking into Computer Science Abstraction Problems (and solutions) can be overwhelming ◦Too much details Abstraction: hiding irrelevant details 28

© Jalal Kawash 2010Peeking into Computer Science Abstraction Example Library Very complex To an end-user, it can be abstracted by the circulation desk 29

© Jalal Kawash 2010Peeking into Computer Science Abstraction Example Car Also very complex To driver, it can be abstracted by how to operate it To a passenger, it is simply a commuting device 30

© Jalal Kawash 2010Peeking into Computer Science JT: Robot example (minor modifications to the Kawash example) 31

© Jalal Kawash 2010Peeking into Computer Science Another Problem: Robotic Movement 1 ◦Develop an algorithm for a simple robot (similar in movement capabilities to a Roomba TM ). ◦Movement:  The robot can move forward one distance unit (a ‘square’). ◦Rotation:  If forward motion is not possible then the robot can rotate left or right by 90 degrees. ◦Short range sensors:  One is mounted forwards, the other is mounted on the right.  The sensors check for obstacles in the next square. 1 From “Peeking into Computer Science” and the lecture notes of Jalal Kawash

© Jalal Kawash 2010Peeking into Computer Science Specifying The Problem What does the robot need to do: ◦Find a wall/obstacle. ◦Hug the wall, indefinitely moving forward. Input: ◦Whatever is detected by the sensors (front, right). Output: ◦The robot’s movement

© Jalal Kawash 2010Peeking into Computer Science The Contents Of The Robot’s World ◦Since the robot can either move onto a square that’s empty or avoid a square that is occupied, the world can be simplified into two cases:  The destination square is empty: ‘space’.  The destination square is not empty: ‘wall’ (contains a wall, furniture, person, pet etc.) ◦ Details about exactly why the destination isn’t empty isn’t important so simplify the problem.

© Jalal Kawash 2010Peeking into Computer Science Inputs/Outputs Based On The World ROBOT FS = W or FS = S RS = W or RS = S Forward, Rotate (R), Rotate (L)

© Jalal Kawash 2010Peeking into Computer Science Robot’s Orientation UP DOWN LEFT RIGHT

© Jalal Kawash 2010Peeking into Computer Science Robot: Moving Forward

© Jalal Kawash 2010Peeking into Computer Science Robot: Rotations Left 90 ○ Right 90 ○

© Jalal Kawash 2010Peeking into Computer Science Solution: The Generic Algorithm For Movement Search for the wall Once found, keep it to the robot’s right Move forward ◦Each move, make sure the wall is still to the robot’s right. ◦(This means there should be a space in front and the wall to the right). Robot’s modes: ◦Search for the wall ◦Hug the wall

© Jalal Kawash 2010Peeking into Computer Science Algorithm: Search For The Wall Repeat the following steps, until this phase is done (wall found, change to the wall hugging mode) If RS = W, then done this phase ◦Right sensor detects a wall If FS = W, then L, done this phase ◦Front sensor detects a wall, rotate left If FS = S, then F ◦Right sensor senses a space, take a step forward

© Jalal Kawash 2010Peeking into Computer Science Algorithm: Hug The Wall Need to make sure that the wall is not “lost” during movement. Complexity: all cases must be considered.

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 1 R Input RS = W FS = S

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 1 R Output Movement: forward

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 2 Input FS = W R

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 2 Output Rotate: left R

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 3 R Input FS = W

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 3 R Output Rotate: Left

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 3 R Input FS = W

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 3 R Output Rotate: Left

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 3 R Input FS = W

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 3 R Output Rotate left

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 3 R Input FS = W

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 3 R Output Rotate left

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 3 R Input FS = W

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 3 R Output Rotate left

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 4 R Input FS = S RS = W

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 4 R Output Movement: Forward

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 4 R Input FS = S RS = S

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 4 R Output (Step 1) Rotate: right

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 4 R Output (Step 2): Movement: forward

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 4 R Input: FS = S RS = W

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 4 R Output: Movement: forward

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 4 R Input: FS = S RS = S

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 4 R Output (step 1): Rotate: right

© Jalal Kawash 2010Peeking into Computer Science Hug The Wall: Case 4 R Output (step 2): Movement: foward

© Jalal Kawash 2010Peeking into Computer Science Algorithm: Hug The Wall Repeat the following steps: 1. If RS = W and FS = S, then F 2. If FS = W, then L 3. If RS = S and FS = S, then R and F