Chapter 3: Thinking Computationally

Size: px
Start display at page:

Download "Chapter 3: Thinking Computationally"

Transcription

1 Chapter 3: Thinking Computationally (Completion Time: 3 weeks) Topics: Linear Search Linear search is the most basic algorithm for searching that students will encounter in the course. This topic should be quite short, just enough to familiarize students with the concept of linear search! Bubble Sort Consider a basic approach to sorting that narrows the scope of our problem to focusing on ordering just two elements at a time, instead of an entire array at a time. Selection Sort Another approach to sorting whereby one minimizes the number of swaps required (relative to bubble sort), but substantially increases the amount of comparing required in order to sort a single element. Insertion Sort The last of the sorting algorithms that doesn't require us to iterate across the array multiple times (as selection and bubble sort do), but this benefit, of course, comes with its own additional costs. Binary Search Students discover an algorithm whose speed can be leaps and bounds better than linear search, but not without a cost--the data must be sorted first. Time Complexity Begin to discuss the way in which computer scientists measure the theoretical worst-case (O) and best-case (W) scenarios when running programs.

2 Unsolvable Problems Computers are amazing, and it seems like there must be nothing a computer cannot do. But as it turns out, computers can't do everything, and never actually will be able to. Spend some time considering some unsolvable problems in computer science, including one of the most famous problems in that category: the halting problem. Simulation Computer programs can be used to create models and simulations, to test hypotheses and generate new understanding and knowledge. Students will explore simulations of existing knowledge and use simulation software to test models. Central Focus: Students will analyze algorithms to compare correctness, run times, efficiencies and inefficiencies. Students will also explore computational problems and explain the difference between solvable and unsolvable problems. Assignments: Programming Problem: RNG To be completed with Linear Search LO Create a new computational artifact by combining or modifying existing artifacts. LO Explain how binary sequences are used to represent digital data. LO Evaluate algorithms analytically and empirically for efficiency, correctness, and clarity. In this program, you ll be implementing a program that allows the user to specify how many numbers they would like generated, each of which is capped at some maximum value, with the user optionally able to seed the generator with a seed of their choosing, otherwise relying on some other seed that is always changing, the canonical example being the current time. The user will be providing all of this information to you at the command line.

3 Programming Problem: Fifteen (Parts 1-3) (Part 3 - HACKER) To be completed with Selection Sort LO Apply a creative development process when creating computational artifacts. LO Create a new computational artifact by combining or modifying existing artifacts. LO Collaborate in the creation of computational artifacts. LO Develop an abstraction when writing a program or creating other computational artifacts. LO Use multiple levels of abstraction to write programs. LO Identify multiple levels of abstractions that are used when writing problems. LO Develop an algorithm for implementation in a program. LO Express an algorithm in a language. LO Collaborate to develop a program. LO Explain how programs implement algorithms. LO Use abstraction to manage complexity in programs. LO Evaluate the correctness of a program LO Employ appropriate mathematical and logical concepts in programming. Part 1 s task is to implement two functions, init and draw. The first requires students to generate the numbers in the board to the reverse order (15, 14, 13, etc.). The latter asks students to fill in the game board with the numbers initiated in init. Part 2 s task is to implement another two functions, move and won, whereby move will simulate the action of sliding tiles around the board and won determines if the board is in a winning state. Part 3 is the hacker edition, which requires students to implement god mode. This mode will automatically solve any solvable configuration of the board. Programming Problem: Sort Race To be completed with Insertion Sort LO Find patterns and test hypotheses about digitally processed information to gain insight and knowledge.

4 LO Explain the insight and knowledge gained from digitally processed data by using appropriate visualizations, notations, and precise language. LO Determine how large data sets impact the use of computational processes to discover information and knowledge. LO Express an algorithm in a language. LO Explain the difference between algorithms that run in a reasonable time and those that do not run in a reasonable time. LO Develop a correct program to solve problems. LO Collaborate to develop a program. LO Explain how programs implement algorithms. LO Use abstraction to manage complexity in programs. LO Evaluate the correctness of a program. LO Employ appropriate mathematical and logical concepts in programming. In this program students will be racing three sorting algorithms: selection sort, insertion sort, and bubble sort. They will tested under three conditions: arrays that are almost sorted (only two elements out of place), arrays in reverse order, arrays in completely random order and arrays that are already sorted. Writing Problem: Analyze This To be completed with Insertion Sort LO Collaborate when processing information to gain insight and knowledge. LO Explain how computing innovations affect communication, interaction, and cognition. In 500-1,000 words, prepare an essay on your experience, expectations, growths, triumphs, and struggles up through this point in the course. You can spend as much time as you feel is appropriate on each of these questions, but over the course of your writing you should touch on at least the following topics: Discuss your initial expectations of this course, and about how the course has either aligned with or deviated from these expectations. Write about at least one programming problem and at least one writing problem that you enjoyed or did not enjoy. What specifically about that problem did you enjoy or not enjoy, and why do you feel that way?

5 Explain how your habits as a computer scientist have evolved. How do you do things differently at this point in the course from how you did the same things in Unit 1? For instance, has your debugging strategy changed? Do you find yourself more intuitively counting from 0 instead of 1? Do you find that some of what you ve learned in this course has extended to other domains of interest to you? How? Do you feel you learn the most from watching videos, reading excerpts, reviewing slides, hearing audio, or some amalgam of these? Why do you think that is? Explain how you expect your habits as a computer scientist and programmer to evolve further as you proceed through the course. Touch on an "a-ha!" moment that you encountered in the course; a moment when suddenly a concept that you struggled with made sense. If you have yet to encounter or experience such a moment, discuss why. Talk about each of these with a classmate, and compare notes. How have your experiences differed and how have they aligned? Programming Problem: Seek To be completed with Binary Search LO Create a computational artifact for creative expression. LO Create a computational artifact using computing tools and techniques to solve a problem. LO Analyze the correctness, usability, functionality, and suitability of computational artifacts. LO Develop an algorithm for implementation in a program. LO Express an algorithm in a language. LO Explain the difference between algorithms that run in a reasonable time and those that do not run in a reasonable time. LO Evaluate algorithms analytically and empirically for efficiency, correctness, and clarity. LO Develop a program for creative expression, to satisfy personal curiosity, or to create new knowledge. LO Develop a correct program to solve problems. Students will be implementing two functions in header.c. They will be creating a sort and a search function. In sort, students must implement one of the sorting algorithms of O(n 2 ), which will sort the elements of the array from smallest to

6 largest. The latter requires them to implement a searching algorithm to find a match to the integer the user provided. Programming Problem: Scramble (Part 1) To be completed with Time Complexity LO Apply a creative development process when creating computational artifacts. LO Create a computational artifact for creative expression. LO Develop an abstraction when writing a program or creating other computational artifacts. LO Use multiple levels of abstraction to write programs. LO Identify multiple levels of abstractions that are used when writing programs. LO Develop an algorithm for implementation in a program. LO Express an algorithm in a language. LO Develop a program for creative expression, to satisfy personal curiosity, or to create new knowledge. LO Develop a correct program to solve problems. LO Use abstraction to manage complexity in programs. LO Evaluate correctness of a program. LO Employ appropriate mathematical and logical concepts in programming. In this problem students will complete the implementation of the popular game scramble, which is similar in spirit to boggle. The object of the game is to identify as many words as possible in a given time constraint. Programming Problem: Breakout (HACKER) To be completed with Unsolvable Problems LO Apply a creative development process when creating computational artifacts. LO Create a computational artifact for creative expression. LO Develop an abstraction when writing a program or creating other computational artifacts. LO Use multiple levels of abstraction to write programs.

7 LO Identify multiple levels of abstractions that are used when writing programs. LO Develop an algorithm for implementation in a program. LO Express an algorithm in a language. Students will build their own implementation of the game breakout in the CS50 Appliance (the appliance needs to be downloaded to the students device). Unlike previous problems whereby users interacted with a program at the command line, this problem will have a graphical user interface (GUI) similar to scratch. Learning Outcomes: I can describe different algorithms for sorting data. I can compare and contrast the efficiencies and inefficiencies of each sorting algorithm. I can define big O and big W time complexities. I can describe scenarios where each sorting method would be the most useful. I can design a program that uses the appropriate sorting algorithm for the situation. I can analyze the results from test cases to measure sorting efficiency. I can describe two different algorithms for searching through data. I can implement a searching algorithm in a program. I can define unsolvable and undecidable problems. Essential Questions: Why is sorting data useful? Why does it matter what method we use to sort our data? What makes bubble sort an effective sort? What makes it ineffective? Why might we decide to keep track of how many swaps we have made on each pass through an array? What advantages does selection sort have over bubble sort? What disadvantages are there? Under what circumstances, if any, is selection sort preferable to bubble sort? What advantages does insertion sort have over either selection sort or bubble sort?

8 What disadvantages are there? Under what circumstances, if any, is insertion sort preferable to either of the previous sorts we ve seen so far? What makes insertion sort fundamentally different from the previous sorts in its approach? When is it advantageous to use linear search? When is it not so advantageous? Under which conditions is it more efficient to use binary search versus linear search on a set of data? Under which conditions is it more efficient to use linear search versus binary search? Why is binary search an O (log n) algorithm? How many steps, maximally, does it take to run binary search on a (sorted) data set of size 64? 4,096? 4,294,967,296? In what ways can we measure the resources that our programs consume? Is it always better to choose the algorithm that runs in O (n) over one that runs in O (n 2 )? Why do you think that we analyze algorithms from a theoretical standpoint using asymptotic notation, instead of just counting run time in seconds or the like? In what ways does this adherence to asymptotic notation (disregarding constants and lower order terms) hinder our ability to speak about algorithms in the real world? How might we use time complexity analysis to our benefit as programmers before we even write any code? Are there other questions that a computer would never be able to answer? Ways to Launch the Lesson: Linear Search Refer back to the phone book demo Have students try the following game with linear search. What limitations do you face? Does it matter what side you start on? https://www.khanacademy.org/computing/computer-science/algorithms/introto-algorithms/a/a-guessing-game

9 Bubble Sort Have a student sort a stack of papers (alphabetically or numerically) then have class describe the algorithm used to sort the array. Discuss why one might want a sorted array vs. an unsorted one. Are there benefits to such an array? Bubble Sort, Selection Sort, and Insertion Sort Have a group of students hold an integer. Sort the array using the various sorting algorithms. Write out pseudocode for the algorithms and try to formalize into C as a class or in small groups. Binary Search Go back to the same page (https://www.khanacademy.org/computing/computer-science/algorithms/introto-algorithms/a/a-guessing-game) and look at the example containing 300 numbers. How is it possible to guess the computers answer in 9 guesses? How might we modify our algorithm leveraging Unit 0 concepts? Time Complexity Compare bubble sort, insertion sort and selection sort for different arrays at https://www.toptal.com/developers/sorting-algorithms (number of data points and types of data are customizable). Which is fastest? Do they vary based on how sorted the data is? How do we assign meaning to these times? Given a large set of data which one would sort the fastest (trick question since they all have big O(n 2 ))? Unsolvable Problems Have students discuss a problem that computers cannot solve in pairs or small groups. Challenge students to think of a way that a computer could in fact solve that problem. Show students https://www.youtube.com/watch?v=92whnpafcs and https://www.youtube.com/watch?v=macm_mts_w4 to discuss problems in the realm of CS that are in fact unsolvable.

10 Simulation In small groups, have students discuss what scenarios one might use a simulation to solve or simplify a problem. What benefits are afforded to us when we use simulations? Demos and Activities: Where s the 50? The "Where's the 50?" game that David plays in lecture is usually a riot, either because it goes spectacularly well or spectacularly poorly. Have students flip papers lined up in an array to find the number 50. Materials: Papers to cover numbers written on a chalkboard/whiteboard Ping Pong Search Also fairly dramatic is to do binary search with numbered ping-pong balls sitting on plastic cups, smacking away various portions of the "array" as you go through the search. Materials: Ping pong balls Plastic cups *NOTE: The majority of the demos for this chapter are located in Ways to Launch the Lesson section. Visual representations of the sorting algorithms help scaffold students understanding of the differences and similarities between sorts.

Thomas Jefferson High School for Science and Technology Program of Studies Accelerated Foundations of Computer Science as of April 2013

Thomas Jefferson High School for Science and Technology Program of Studies Accelerated Foundations of Computer Science as of April 2013 Thomas Jefferson High School for Science and Technology Program of Studies Accelerated Foundations of Computer Science as of April 2013 Unit of Study / Accelerated Foundations of Computer Science is offered

More information

Intro to the Art of Computer Science

Intro to the Art of Computer Science 1 LESSON NAME: Intro to the Art of Computer Science Lesson time: 45 60 Minutes : Prep time: 15 Minutes Main Goal: Give the class a clear understanding of what computer science is and how it could be helpful

More information

Knowledge of searching using linear search. around 15 minutes, can be used within a longer workshop activity

Knowledge of searching using linear search. around 15 minutes, can be used within a longer workshop activity 20 Questions Age group: Abilities assumed: Time: Size of group: adult Knowledge of searching using linear search around 5 minutes, can be used within a longer workshop activity anything from 2 to hundreds

More information

Data Structures. Topic #12

Data Structures. Topic #12 Data Structures Topic #12 Today s Agenda Sorting Algorithms insertion sort selection sort exchange sort shell sort radix sort As we learn about each sorting algorithm, we will discuss its efficiency Sorting

More information

APP INVENTOR. Test Review

APP INVENTOR. Test Review APP INVENTOR Test Review Main Concepts App Inventor Lists Creating Random Numbers Variables Searching and Sorting Data Linear Search Binary Search Selection Sort Quick Sort Abstraction Modulus Division

More information

Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4

Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4 Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4 I. Algorithm Design and Divide-and-Conquer There are various strategies we

More information

Part VII Conclusion: Computer Science

Part VII Conclusion: Computer Science Part VII Conclusion: Computer Science This is the end of the technical material in this book. We ve explored the big ideas of composition of functions, functions as data, recursion, abstraction, and sequential

More information

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012 Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about

More information

CSC148 Lecture 8. Algorithm Analysis Binary Search Sorting

CSC148 Lecture 8. Algorithm Analysis Binary Search Sorting CSC148 Lecture 8 Algorithm Analysis Binary Search Sorting Algorithm Analysis Recall definition of Big Oh: We say a function f(n) is O(g(n)) if there exists positive constants c,b such that f(n)

More information

DRAFT. Encoding Images. Teaching Summary

DRAFT. Encoding Images. Teaching Summary 6 Unit 1: A Bit of Everything Lesson 6 Encoding Images Lesson time: 180 Minutes (4 days) LESSON OVERVIEW: In this lesson, students will explore images and participate in creating an image file format.

More information

Technical Terms Algorithm, computational thinking, algorithmic thinking, efficiency, testing.

Technical Terms Algorithm, computational thinking, algorithmic thinking, efficiency, testing. The Swap Puzzle Age group: Abilities assumed: Time: 7 adult Nothing Size of group: 8 to 30 50-60 minutes, Focus What is an algorithm? Testing Efficiency of algorithms Computational Thinking: algorithmic

More information

CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team

CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team Lecture Summary In this lecture, we learned about the ADT Priority Queue. A

More information

Problem of the Month: Fair Games

Problem of the Month: Fair Games Problem of the Month: The Problems of the Month (POM) are used in a variety of ways to promote problem solving and to foster the first standard of mathematical practice from the Common Core State Standards:

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms Computational Complexity Escola Politècnica Superior d Alcoi Universitat Politècnica de València Contents Introduction Resources consumptions: spatial and temporal cost Costs

More information

The Number Line: An Overview

The Number Line: An Overview The Number Line: An Overview Learning to Think Mathematically with the Number Line One of the most overlooked tools of the elementary and middle school classroom is the number line. Typically displayed

More information

Lottery Looper. User Manual

Lottery Looper. User Manual Lottery Looper User Manual Lottery Looper 1.7 copyright Timersoft. All rights reserved. http://www.timersoft.com The information contained in this document is subject to change without notice. This document

More information

Zabin Visram Room CS115 CS126 Searching. Binary Search

Zabin Visram Room CS115 CS126 Searching. Binary Search Zabin Visram Room CS115 CS126 Searching Binary Search Binary Search Sequential search is not efficient for large lists as it searches half the list, on average Another search algorithm Binary search Very

More information

Virtual Classroom Student Guide

Virtual Classroom Student Guide Virtual Classroom Student Guide Table of Contents Overview 3 Grade Weights 3 Finding Help 3 Virtual Classroom Login 4 Virtual Classroom Lobby 5 The Course Map 6 Activities in the Virtual Classroom 7 Vocabulary

More information

Divide-and-Conquer Algorithms Part Four

Divide-and-Conquer Algorithms Part Four Divide-and-Conquer Algorithms Part Four Announcements Problem Set 2 due right now. Can submit by Monday at 2:15PM using one late period. Problem Set 3 out, due July 22. Play around with divide-and-conquer

More information

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary Shape, Space, and Measurement- Primary A student shall apply concepts of shape, space, and measurement to solve problems involving two- and three-dimensional shapes by demonstrating an understanding of:

More information

Searching Algorithms

Searching Algorithms Searching Algorithms The Search Problem Problem Statement: Given a set of data e.g., int [] arr = {10, 2, 7, 9, 7, 4}; and a particular value, e.g., int val = 7; Find the first index of the value in the

More information

KS3 Computing Group 1 Programme of Study 2015 2016 2 hours per week

KS3 Computing Group 1 Programme of Study 2015 2016 2 hours per week 1 07/09/15 2 14/09/15 3 21/09/15 4 28/09/15 Communication and Networks esafety Obtains content from the World Wide Web using a web browser. Understands the importance of communicating safely and respectfully

More information

Announcements. Project status demo in class

Announcements. Project status demo in class Web Design cs465 Announcements Project status demo in class Why? You will likely be involved in Web design You have many of the skills necessary Understand similarities and differences between GUI design

More information

Sales & Marketing Tools

Sales & Marketing Tools Discover elearning You need to have your employees trained on the latest security products. But due to time constraints, they may be missing out on vital sales and technical information that can help reduce

More information

6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

Solving a Simple Maze

Solving a Simple Maze Provided by TryEngineering - Lesson Focus Lesson focuses on algorithmic thinking and programming. Make the students aware of the beauty of simple algorithms and their implementation in real fun games.

More information

Describe the process of parallelization as it relates to problem solving.

Describe the process of parallelization as it relates to problem solving. Level 2 (recommended for grades 6 9) Computer Science and Community Middle school/junior high school students begin using computational thinking as a problem-solving tool. They begin to appreciate the

More information

LEARNING TO LEARN. Reflective learning: keeping a reflective learning journal. DCU Student Learning Resources

LEARNING TO LEARN. Reflective learning: keeping a reflective learning journal. DCU Student Learning Resources LEARNING TO LEARN Reflective learning: keeping a reflective learning journal DCU Student Learning Resources Office of the Vice-President for Learning Innovation and Registrar 2 LEARNING TO LEARN REFLECTIVE

More information

Lesson Topic: Dividing Polynomials Grade level: _10 th 12 th Length of lesson: _60 minutes

Lesson Topic: Dividing Polynomials Grade level: _10 th 12 th Length of lesson: _60 minutes Lesson Topic: Dividing Polynomials Grade level: _10 th 12 th Length of lesson: _60 minutes Stage 1 Desired Results Content Standard(s): Algebra Standard: Generate equivalent algebraic expressions involving

More information

, each of which contains a unique key value, say k i , R 2. such that k i equals K (or to determine that no such record exists in the collection).

, each of which contains a unique key value, say k i , R 2. such that k i equals K (or to determine that no such record exists in the collection). The Search Problem 1 Suppose we have a collection of records, say R 1, R 2,, R N, each of which contains a unique key value, say k i. Given a particular key value, K, the search problem is to locate the

More information

6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

Getting Started 15 minutes 1. Journal entry: What types of messages can be communicated with a single bit? 2. Introduce the sending bits challenge

Getting Started 15 minutes 1. Journal entry: What types of messages can be communicated with a single bit? 2. Introduce the sending bits challenge 5 Unit 1: A Bit of Everything Lesson 5 Sending Bits Lesson time: 255 Minutes (5 days) LESSON OVERVIEW: In this lesson, students work in groups using common classroom supplies and everyday objects to develop

More information

Curriculum Map. Discipline: Computer Science Course: C++

Curriculum Map. Discipline: Computer Science Course: C++ Curriculum Map Discipline: Computer Science Course: C++ August/September: How can computer programs make problem solving easier and more efficient? In what order does a computer execute the lines of code

More information

Deploying a High-End Digital Signage Solution

Deploying a High-End Digital Signage Solution Digital Signage has moved beyond a nice to have for businesses to a critical communication vehicle that is driving investments in infrastructure across multiple industries and sizes of businesses. The

More information

Day 1. This is CS50 for MBAs. Harvard Busines School. Spring 2015. Cheng Gong

Day 1. This is CS50 for MBAs. Harvard Busines School. Spring 2015. Cheng Gong This is CS50 for MBAs. Harvard Busines School. Spring 2015. Cheng Gong Table of Contents Gangnam Style... 1 Internet Issues... 2 Course info... 6 Day 0, recap... 7 Peanut butter jelly time... 8 Sorting...

More information

Computing Unit Planner: Year 5 Unit 1 Quiz and Game

Computing Unit Planner: Year 5 Unit 1 Quiz and Game Computing Unit Planner: Year 5 Unit 1 Quiz and Game National Curriculum Computing Content design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems;

More information

Figure 1: Graphical example of a mergesort 1.

Figure 1: Graphical example of a mergesort 1. CSE 30321 Computer Architecture I Fall 2011 Lab 02: Procedure Calls in MIPS Assembly Programming and Performance Total Points: 100 points due to its complexity, this lab will weight more heavily in your

More information

CSC 180 H1F Algorithm Runtime Analysis Lecture Notes Fall 2015

CSC 180 H1F Algorithm Runtime Analysis Lecture Notes Fall 2015 1 Introduction These notes introduce basic runtime analysis of algorithms. We would like to be able to tell if a given algorithm is time-efficient, and to be able to compare different algorithms. 2 Linear

More information

COMPUTER SCIENCE (5651) Test at a Glance

COMPUTER SCIENCE (5651) Test at a Glance COMPUTER SCIENCE (5651) Test at a Glance Test Name Computer Science Test Code 5651 Time Number of Questions Test Delivery 3 hours 100 selected-response questions Computer delivered Content Categories Approximate

More information

CS Matters in Maryland CS Principles Course

CS Matters in Maryland CS Principles Course CS Matters in Maryland CS Principles Course Curriculum Overview Project Goals Computer Science (CS) Matters in Maryland is an NSF supported effort to increase the availability and quality of high school

More information

Game Design From Concepts To Implementation

Game Design From Concepts To Implementation Game Design From Concepts To Implementation Giacomo Cappellini - g.cappellini@mixelweb.it What I do I code for video games I code editor tools I code utilities for the production of games I code scripts

More information

One pile, two pile, three piles

One pile, two pile, three piles CHAPTER 4 One pile, two pile, three piles 1. One pile Rules: One pile is a two-player game. Place a small handful of stones in the middle. At every turn, the player decided whether to take one, two, or

More information

Pseudo code Tutorial and Exercises Teacher s Version

Pseudo code Tutorial and Exercises Teacher s Version Pseudo code Tutorial and Exercises Teacher s Version Pseudo-code is an informal way to express the design of a computer program or an algorithm in 1.45. The aim is to get the idea quickly and also easy

More information

Lab 2.1 Tracking Down the Bugs

Lab 2.1 Tracking Down the Bugs Lab 2.1 Tracking Down the Bugs Chapter 7 (To Err is Human ) discusses strategies for debugging finding and fixing problems with IT systems. In this lab, we focus on the early stages of debugging, where

More information

6. Standard Algorithms

6. Standard Algorithms 6. Standard Algorithms The algorithms we will examine perform Searching and Sorting. 6.1 Searching Algorithms Two algorithms will be studied. These are: 6.1.1. inear Search The inear Search The Binary

More information

Workshop on Android and Applications Development

Workshop on Android and Applications Development Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,

More information

Lab 11. Simulations. The Concept

Lab 11. Simulations. The Concept Lab 11 Simulations In this lab you ll learn how to create simulations to provide approximate answers to probability questions. We ll make use of a particular kind of structure, called a box model, that

More information

Math vocabulary can be taught with what Montessorians call the Three Period Lesson.

Math vocabulary can be taught with what Montessorians call the Three Period Lesson. Full Transcript of: Montessori Mathematics Materials Presentations Introduction to Montessori Math Demonstrations ( Disclaimer) This program is intended to give the viewers a general understanding of the

More information

Statistical Machine Translation: IBM Models 1 and 2

Statistical Machine Translation: IBM Models 1 and 2 Statistical Machine Translation: IBM Models 1 and 2 Michael Collins 1 Introduction The next few lectures of the course will be focused on machine translation, and in particular on statistical machine translation

More information

Coaching Models. GROW Model

Coaching Models. GROW Model Coaching Models There are various effective coaching models which some coaches choose to use to structure their coaching sessions. The models may be helpful to guide your sessions through a logical sequence

More information

Disrupting Class How disruptive innovation will change the way the world learns

Disrupting Class How disruptive innovation will change the way the world learns Disrupting Class How disruptive innovation will change the way the world learns Clayton Christensen, Michael B Horn Curtis W Johnson Mc Graw Hill, 2008 Introduction This book is about how to reform the

More information

Session 7 Fractions and Decimals

Session 7 Fractions and Decimals Key Terms in This Session Session 7 Fractions and Decimals Previously Introduced prime number rational numbers New in This Session period repeating decimal terminating decimal Introduction In this session,

More information

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture No. # 31 Recursive Sets, Recursively Innumerable Sets, Encoding

More information

13 Infinite Sets. 13.1 Injections, Surjections, and Bijections. mcs-ftl 2010/9/8 0:40 page 379 #385

13 Infinite Sets. 13.1 Injections, Surjections, and Bijections. mcs-ftl 2010/9/8 0:40 page 379 #385 mcs-ftl 2010/9/8 0:40 page 379 #385 13 Infinite Sets So you might be wondering how much is there to say about an infinite set other than, well, it has an infinite number of elements. Of course, an infinite

More information

Area and Perimeter: The Mysterious Connection TEACHER EDITION

Area and Perimeter: The Mysterious Connection TEACHER EDITION Area and Perimeter: The Mysterious Connection TEACHER EDITION (TC-0) In these problems you will be working on understanding the relationship between area and perimeter. Pay special attention to any patterns

More information

The Ultimate Career Guide

The Ultimate Career Guide Career Guide The Ultimate Career Guide www.first.edu For The Graphic Design & Web Development Industry Learn about The Graphic Design & Web Development Industry, the types of positions available, and how

More information

CATIA V5 Surface Design

CATIA V5 Surface Design CATIA V5 Training Foils CATIA V5 Surface Design Version 5 Release 19 August 2008 EDU_CAT_EN_V5S_FI_V5R19 1 Lesson 1: Introduction to Generative Shape Design About this Course Introduction CATIA is a robust

More information

1. Define: (a) Variable, (b) Constant, (c) Type, (d) Enumerated Type, (e) Identifier.

1. Define: (a) Variable, (b) Constant, (c) Type, (d) Enumerated Type, (e) Identifier. Study Group 1 Variables and Types 1. Define: (a) Variable, (b) Constant, (c) Type, (d) Enumerated Type, (e) Identifier. 2. What does the byte 00100110 represent? 3. What is the purpose of the declarations

More information

Preparing for an ORAL PRESENTATION Advice for students

Preparing for an ORAL PRESENTATION Advice for students Preparing for an ORAL PRESENTATION Advice for students 1. How to prepare a presentation 2. What makes a good talk? / What makes a bad talk? 3. Managing your nerves 4. Dealing with question time 5. Other

More information

20-30 minutes, can be used within a longer activity

20-30 minutes, can be used within a longer activity Locked-in 1 Age group successfully used with: Abilities assumed: Time: Size of group: 11 adult None 20-30 minutes, can be used within a longer activity anything from 2 to hundreds Focus What is an algorithm?

More information

Introduction to Algorithms March 10, 2004 Massachusetts Institute of Technology Professors Erik Demaine and Shafi Goldwasser Quiz 1.

Introduction to Algorithms March 10, 2004 Massachusetts Institute of Technology Professors Erik Demaine and Shafi Goldwasser Quiz 1. Introduction to Algorithms March 10, 2004 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi Goldwasser Quiz 1 Quiz 1 Do not open this quiz booklet until you are directed

More information

Math 728 Lesson Plan

Math 728 Lesson Plan Math 728 Lesson Plan Tatsiana Maskalevich January 27, 2011 Topic: Probability involving sampling without replacement and dependent trials. Grade Level: 8-12 Objective: Compute the probability of winning

More information

Five High Order Thinking Skills

Five High Order Thinking Skills Five High Order Introduction The high technology like computers and calculators has profoundly changed the world of mathematics education. It is not only what aspects of mathematics are essential for learning,

More information

Advanced Techniques for the Walkingbass

Advanced Techniques for the Walkingbass Advanced Techniques for the Walkingbass I have seen guys with 5 string basses who can t get half the sounds that you are getting out of just three. -Buddy Fo of the Invitations If you have read the Beginners

More information

Node-Based Structures Linked Lists: Implementation

Node-Based Structures Linked Lists: Implementation Linked Lists: Implementation CS 311 Data Structures and Algorithms Lecture Slides Monday, March 30, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org

More information

Sample Size Issues for Conjoint Analysis

Sample Size Issues for Conjoint Analysis Chapter 7 Sample Size Issues for Conjoint Analysis I m about to conduct a conjoint analysis study. How large a sample size do I need? What will be the margin of error of my estimates if I use a sample

More information

The Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n-1)!

The Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n-1)! The Tower of Hanoi Recursion Solution recursion recursion recursion Recursive Thinking: ignore everything but the bottom disk. 1 2 Recursive Function Time Complexity Hanoi (n, src, dest, temp): If (n >

More information

Data Structure [Question Bank]

Data Structure [Question Bank] Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

More information

Learning how you Learn.

Learning how you Learn. Learning how you Learn. A guide to learning styles and the benefits of understanding yours You are a unique learner. No one else learns in exactly the same way you do. There are many benefits to discovering

More information

Welcome to Harcourt Mega Math: The Number Games

Welcome to Harcourt Mega Math: The Number Games Welcome to Harcourt Mega Math: The Number Games Harcourt Mega Math In The Number Games, students take on a math challenge in a lively insect stadium. Introduced by our host Penny and a number of sporting

More information

Stock Market. Software User Guide

Stock Market. Software User Guide Stock Market Software User Guide Contents 1. Welcome... 3 2. GoVenture Stock Market... 4 What is the GoVenture Stock Market Simulation... 4 What Makes GoVenture Stock Market Unique... 4 How GoVenture Differs

More information

Forex Success Formula

Forex Success Formula Forex Success Formula WWW.ForexSuccessFormula.COM Complimentary Report!! Copyright Protected www.forexsuccessformula.com - 1 - Limits of liability/disclaimer of Warranty The author and publishers of this

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

Using games to support. Win-Win Math Games. by Marilyn Burns

Using games to support. Win-Win Math Games. by Marilyn Burns 4 Win-Win Math Games by Marilyn Burns photos: bob adler Games can motivate students, capture their interest, and are a great way to get in that paperand-pencil practice. Using games to support students

More information

Code Kingdoms Learning a Language

Code Kingdoms Learning a Language codekingdoms Code Kingdoms Unit 2 Learning a Language for kids, with kids, by kids. Resources overview We have produced a number of resources designed to help people use Code Kingdoms. There are introductory

More information

Binary Search Trees CMPSC 122

Binary Search Trees CMPSC 122 Binary Search Trees CMPSC 122 Note: This notes packet has significant overlap with the first set of trees notes I do in CMPSC 360, but goes into much greater depth on turning BSTs into pseudocode than

More information

Using Search Engine Optimization (SEO) to improve your webpages. Web Services 2015

Using Search Engine Optimization (SEO) to improve your webpages. Web Services 2015 Using Search Engine Optimization (SEO) to improve your webpages Web Services 2015 Search Engine Optimization (SEO) is the act of improving your website in order to attract more visitors and boost your

More information

Introduction. Figure 1: Insight Sections Shown at the Top of the Screen after Log In

Introduction. Figure 1: Insight Sections Shown at the Top of the Screen after Log In User s Guide Introduction Insight Trading Journal is much more than your average trading journal. When used properly it has the potential to increase your profits, save you a lot of time, and increase

More information

Pre-Defense Presentation Guidelines

Pre-Defense Presentation Guidelines Pre-Defense Presentation Guidelines During your last semester of residency at Virginia Tech, you will be required to present your independent research to the faculty and your peers in a common pre-defense

More information

Lecture Notes on Linear Search

Lecture Notes on Linear Search Lecture Notes on Linear Search 15-122: Principles of Imperative Computation Frank Pfenning Lecture 5 January 29, 2013 1 Introduction One of the fundamental and recurring problems in computer science is

More information

Consensus. Decision Making. 2hr sample workshop plan

Consensus. Decision Making. 2hr sample workshop plan Consensus Decision Making 2hr sample workshop plan The activities we suggest should work for most groups but feel free to tweak the plan based on what you know about the participants and your own facilitation

More information

TOOLKIT THE DAM DECISION. The ultimate guide to help you find the right digital asset management solution.

TOOLKIT THE DAM DECISION. The ultimate guide to help you find the right digital asset management solution. THE DAM DECISION TOOLKIT [CHECKLIST, PROGRESS TRACKER, PRICING CALCULATOR] The ultimate guide to help you find the right digital asset management solution. v1.2-08-27-2014 Contents Introduction Where to

More information

Mathematics Task Arcs

Mathematics Task Arcs Overview of Mathematics Task Arcs: Mathematics Task Arcs A task arc is a set of related lessons which consists of eight tasks and their associated lesson guides. The lessons are focused on a small number

More information

Data analysis, interpretation and presentation

Data analysis, interpretation and presentation Chapter 8 Data analysis, interpretation and presentation 1 Overview Qualitative and quantitative Simple quantitative analysis Simple qualitative analysis Tools to support data analysis Theoretical frameworks:

More information

How to create a blog or website

How to create a blog or website School of History www2.le.ac.uk/departments/historical/outreach How to create a blog or website A Guide for Community History and Heritage Groups Published online by the University of Leicester, 2014 University

More information

Task: Will and Latisha s Tile Problem Algebra I

Task: Will and Latisha s Tile Problem Algebra I Tennessee Department of Education Task: Will and Latisha s Tile Problem Algebra I In math class, Will and Latisha were challenged to create their own pattern with tiles. Latisha built the first three arrangements

More information

Session 7 Bivariate Data and Analysis

Session 7 Bivariate Data and Analysis Session 7 Bivariate Data and Analysis Key Terms for This Session Previously Introduced mean standard deviation New in This Session association bivariate analysis contingency table co-variation least squares

More information

Fibonacci via Recursion and Iteration

Fibonacci via Recursion and Iteration Fibonacci via Recursion and Iteration Provided by TryEngineering - Lesson Focus This lesson introduces how to calculate an arithmetic series, specifically Fibonacci. In the first of two hour-long sessions,

More information

Statistical Foundations: Measures of Location and Central Tendency and Summation and Expectation

Statistical Foundations: Measures of Location and Central Tendency and Summation and Expectation Statistical Foundations: and Central Tendency and and Lecture 4 September 5, 2006 Psychology 790 Lecture #4-9/05/2006 Slide 1 of 26 Today s Lecture Today s Lecture Where this Fits central tendency/location

More information

Reinventing Virtual Learning: Delivering Hands-On Training using Cloud Computing

Reinventing Virtual Learning: Delivering Hands-On Training using Cloud Computing Reinventing Virtual Learning: Delivering Hands-On Training using Cloud Computing WHITE PAPER BROUGHT TO YOU BY SKYTAP 2 Reinventing Virtual Learning: Delivering Hands-On Training using Cloud Computing

More information

Qlik s Associative Model

Qlik s Associative Model White Paper Qlik s Associative Model See the Whole Story that Lives Within Your Data August, 2015 qlik.com Table of Contents Introduction 3 Qlik s associative model 3 Query-based visualization tools only

More information

Counselor Lesson Plan

Counselor Lesson Plan counselors for computing Counselor Lesson Plan Introduce Students to Computer Science in an Engaging Way Objective The intention of this lesson is to introduce students to computer science in such a way

More information

Binary Heap Algorithms

Binary Heap Algorithms CS Data Structures and Algorithms Lecture Slides Wednesday, April 5, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005 2009 Glenn G. Chappell

More information

10CS35: Data Structures Using C

10CS35: Data Structures Using C CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions - a conventional tool for handling a

More information

Principles of Data-Driven Instruction

Principles of Data-Driven Instruction Education in our times must try to find whatever there is in students that might yearn for completion, and to reconstruct the learning that would enable them autonomously to seek that completion. Allan

More information

PowerScheduler User Guide. PowerSchool 8.x Student Information System

PowerScheduler User Guide. PowerSchool 8.x Student Information System PowerSchool 8.x Student Information System Released December 2014 Document Owner: Documentation Services This edition applies to Release 8.2.0 of the PowerSchool software and to all subsequent releases

More information

You can probably work with decimal. binary numbers needed by the. Working with binary numbers is time- consuming & error-prone.

You can probably work with decimal. binary numbers needed by the. Working with binary numbers is time- consuming & error-prone. IP Addressing & Subnetting Made Easy Working with IP Addresses Introduction You can probably work with decimal numbers much easier than with the binary numbers needed by the computer. Working with binary

More information

TEACHER S GUIDE TO RUSH HOUR

TEACHER S GUIDE TO RUSH HOUR Using Puzzles to Teach Problem Solving TEACHER S GUIDE TO RUSH HOUR Includes Rush Hour 2, 3, 4, Rush Hour Jr., Railroad Rush Hour and Safari Rush Hour BENEFITS Rush Hour is a sliding piece puzzle that

More information

Computer Science 210: Data Structures. Searching

Computer Science 210: Data Structures. Searching Computer Science 210: Data Structures Searching Searching Given a sequence of elements, and a target element, find whether the target occurs in the sequence Variations: find first occurence; find all occurences

More information

Hypothesis Testing for Beginners

Hypothesis Testing for Beginners Hypothesis Testing for Beginners Michele Piffer LSE August, 2011 Michele Piffer (LSE) Hypothesis Testing for Beginners August, 2011 1 / 53 One year ago a friend asked me to put down some easy-to-read notes

More information