Chapter 3: Thinking Computationally


 Matilda Lynch
 1 years ago
 Views:
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 costthe data must be sorted first. Time Complexity Begin to discuss the way in which computer scientists measure the theoretical worstcase (O) and bestcase (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 13) (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 5001,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 "aha!" 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/computerscience/algorithms/introtoalgorithms/a/aguessinggame
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/computerscience/algorithms/introtoalgorithms/a/aguessinggame) 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/sortingalgorithms (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 pingpong 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 Unit of Study / Accelerated Foundations of Computer Science is offered
More informationIntro 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 informationKnowledge 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 informationData 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 informationAPP 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 informationIntro. to the DivideandConquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4
Intro. to the DivideandConquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4 I. Algorithm Design and DivideandConquer There are various strategies we
More informationPart 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 informationCOMP 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 informationCSC148 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 informationDRAFT. 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 informationTechnical 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 5060 minutes, Focus What is an algorithm? Testing Efficiency of algorithms Computational Thinking: algorithmic
More informationCS104: Data Structures and ObjectOriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team
CS104: Data Structures and ObjectOriented 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 informationProblem 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 informationData 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 informationThe 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 informationLottery 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 informationZabin 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 informationVirtual 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 informationDivideandConquer Algorithms Part Four
DivideandConquer 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 divideandconquer
More informationCurrent 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 threedimensional shapes by demonstrating an understanding of:
More informationSearching 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 informationKS3 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 informationAnnouncements. 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 informationSales & 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 information6.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 informationSolving 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 informationDescribe 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 problemsolving tool. They begin to appreciate the
More informationLEARNING 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 VicePresident for Learning Innovation and Registrar 2 LEARNING TO LEARN REFLECTIVE
More informationLesson 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).
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 information6.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 informationGetting 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 informationCurriculum 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 informationDeploying a HighEnd 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 informationDay 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 informationComputing 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 informationFigure 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 informationCSC 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 timeefficient, and to be able to compare different algorithms. 2 Linear
More informationCOMPUTER 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 selectedresponse questions Computer delivered Content Categories Approximate
More informationCS 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 informationGame 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 informationOne pile, two pile, three piles
CHAPTER 4 One pile, two pile, three piles 1. One pile Rules: One pile is a twoplayer game. Place a small handful of stones in the middle. At every turn, the player decided whether to take one, two, or
More informationPseudo code Tutorial and Exercises Teacher s Version
Pseudo code Tutorial and Exercises Teacher s Version Pseudocode 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 informationLab 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 information6. 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 informationWorkshop 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 informationLab 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 informationMath 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 informationStatistical 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 informationCoaching 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 informationDisrupting 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 informationSession 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 informationTheory 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 information13 Infinite Sets. 13.1 Injections, Surjections, and Bijections. mcsftl 2010/9/8 0:40 page 379 #385
mcsftl 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 informationArea and Perimeter: The Mysterious Connection TEACHER EDITION
Area and Perimeter: The Mysterious Connection TEACHER EDITION (TC0) In these problems you will be working on understanding the relationship between area and perimeter. Pay special attention to any patterns
More informationThe 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 informationCATIA 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 information1. 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 informationPreparing 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 information2030 minutes, can be used within a longer activity
Lockedin 1 Age group successfully used with: Abilities assumed: Time: Size of group: 11 adult None 2030 minutes, can be used within a longer activity anything from 2 to hundreds Focus What is an algorithm?
More informationIntroduction 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 informationMath 728 Lesson Plan
Math 728 Lesson Plan Tatsiana Maskalevich January 27, 2011 Topic: Probability involving sampling without replacement and dependent trials. Grade Level: 812 Objective: Compute the probability of winning
More informationFive 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 informationAdvanced 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 informationNodeBased 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 informationSample 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 informationThe Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n1)!
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 informationData 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 informationLearning 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 informationWelcome 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 informationStock 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 informationForex 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 informationWhy? 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 informationUsing games to support. WinWin Math Games. by Marilyn Burns
4 WinWin Math Games by Marilyn Burns photos: bob adler Games can motivate students, capture their interest, and are a great way to get in that paperandpencil practice. Using games to support students
More informationCode 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 informationBinary 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 informationUsing 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 informationIntroduction. 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 informationPreDefense Presentation Guidelines
PreDefense 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 predefense
More informationLecture Notes on Linear Search
Lecture Notes on Linear Search 15122: 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 informationConsensus. 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 informationTOOLKIT 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.208272014 Contents Introduction Where to
More informationMathematics 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 informationData 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 informationHow 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 informationTask: 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 informationSession 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 covariation least squares
More informationFibonacci 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 hourlong sessions,
More informationStatistical 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 #49/05/2006 Slide 1 of 26 Today s Lecture Today s Lecture Where this Fits central tendency/location
More informationReinventing Virtual Learning: Delivering HandsOn Training using Cloud Computing
Reinventing Virtual Learning: Delivering HandsOn Training using Cloud Computing WHITE PAPER BROUGHT TO YOU BY SKYTAP 2 Reinventing Virtual Learning: Delivering HandsOn Training using Cloud Computing
More informationQlik 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 Querybased visualization tools only
More informationCounselor 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 informationBinary 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 information10CS35: 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 informationPrinciples of DataDriven 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 informationPowerScheduler 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 informationYou can probably work with decimal. binary numbers needed by the. Working with binary numbers is time consuming & errorprone.
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 informationTEACHER 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 informationComputer 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 informationHypothesis 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 easytoread notes
More information