Word Prediction Project Due Sunday, May 1

Size: px
Start display at page:

Download "Word Prediction Project Due Sunday, May 1"

Transcription

1 Word Prediction Project Due Sunday, May 1 For this project you may work with a partner, or you may work alone. Either way you are responsible for getting the project finished and in on time. If you choose to work with a partner, make sure both of your names are on the lab. For this project, you are creating a word prediction system that predicts the most common words with the prefix (i.e., first letter(s) ) that you have typed in (we re clicking because we re using turtle). On most of your phones, you ve got word prediction, in which as you type in a word, a predicted word pops up, allowing you to select the predicted word and saving on typing time. If you are a person with poor muscle control, you may use a communication device, in which you start entering a word, character by character, in order for that word to be spoken with a synthetic voice. This can be a slow, tedious process both for the person entering the word, and also for their communication partner who is waiting for an answer. In order to speed up the process, using word prediction to reduce the amount of typing can be quite helpful. In this case, the amount of typing can be reduced by giving the 5 most common words with same prefix as what has been typed so far, in order of their frequency (more than 5 and the list gets cumbersome to read through). So for this project, you will create a board using turtle. On the board there will be a keyboard (similar to the one you type on), a space for where the letters you select will show up, a space where the words you ve selected will show up (for the sentence you are creating), and an area in which the predicted words will show up (see picture, below). The keyboard will consist of letters, numbers, and spaces. We are not going to worry about punctuation for now. As you click on each letter, it will appear above the keyboard, and an ordered list of the 5 most commonly occurring words with the letters you ve typed so far below the keyboard. You can choose to continue selecting letters, or you can choose among the list of predicted words. Each time a letter is selected, the old set of predicted words is cleared (I filled the area with white) and a new set of predicted words are generated. Only the 5 top words are ever displayed. If there are less than 5, then the number of predicted words is displayed. If the space key is selected (next to the l ), the keys typed in are assumed to make a word, and that word is added to the sentence area and the key area is cleared. Each time a word is selected, it is written in the sentence area, and the predicted words and the chosen letter area are cleared (by drawing a white square over them)

2 In order to create the prediction lists, I first read a text file into the list. I then took the text file, stripped out all punctuation, and made a new list of words in alphabetical order. Each word in my list only occurred once. I also created a corresponding list of word counts. So, for instance, if the wordlist is [ all, and, as ] and the wordcount list is [7,4,8], that means that all occurred 7 times in the document I read in, and occurred 4 times, and as occurred 8 times. Note: For this project, the easiest way to code the entire board was to use global variables. Global variables are variables that apply to the entire program we re writing. I placed all global variables at the very top of my code. Then every function can use and modify those variables without passing them into the function as parameters, or returning them. In this case, it allows the entire project to work with the same set of variables. To use global variables within a function, you should specify that the variables are global. I ve included that within the function descriptions for you. Once you ve specified that they re global, you can just use them as if they were regular variables For example: k = [] def modk(): global k k.append( cat ) k.append( dog ) return() def printk() global k x = 0 while x < len(k): print(k[x], end=, ) return modk() printk() #will print out #cat, dog Extra Credit (5 pts): Using Great Expectations to come up with word counts is not the best way to predict words in our word prediction system. At the very least, we d probably want to use a text that is more current, and more likely to be about current topics. There are many many other ways to improve on the accuracy of our predicted words. List 3 creative ways in which we could improve on the words being predicted in this system. (At this point, do you think you could implement any of them?) ********************************************************************************** The following code is the outline of the code I used for this project. You may use it as is, or you can modify it as needed to create the project. import turtle from random import * #GLOBAL VARIABLES ############################################################# #qwerty keyboard keys (essentially) keylist = ['1','2','3','4','5','6','7','8','9','0','q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l',' ','z','x','c','v','b','n','m','\,','.','clr'] squaresize = 40 #the size of each keyboard key square fontsize = 18 #fontsize used throughout wordlist = [] wordcount = [] #the list of (unique) words read in from a file #the list of each word's count, or number of times it occurred #This list corresponds directly with wordlist

3 #so, for instance, if wordlist[22] holds 'and', the #number of times word occurred in the document will #be located at wordcount[22] boardleft = 0 - squaresize * 5 #the left-most coordinate of the keyboard boardtop= squaresize * 2 predictls = [] #the top-most coordinate of the keyboard #the list of currently predicted words, based on what has been typed # in so far (like on your phone). So, for instance, if you've typed in # 'b' and 'e', the predictls might hold ['be','become','before','behind',beneath'] # or something similar predictcts = [] #the corresponding list of number of times each word in the prediction #list occurred in the document predictx = -200 #the x coordinate of where the prediction list will be printed predicty = -110 #the y coordinate of where the prediction list will be printed currword = "" #the current word being typed in currsentence = "" #the current sentence being typed in typex = -220 #the x coordinate of where the sentence you've typed will start showing up typey = 200 #the y coordinate of where the sentence you've typed will start showing up wordx = -150 #the x coordinate of where you'll print the word you're currently typing in wordy = 120 #the y coordinate of where you'll print the word you're currently typing in #####END OF GLOBAL VARIABLES ################################################## #FUNCTION OUTLINE############################################################# #drawkey #This function takes three input parameters: #the letter to be printed, the x coordinate of where the key will be printed, and #the y coordinate of where the key will be printed on the turtle board. #Note: to write the key, I used turtle.write(key,font='arial',fontsize), where #key is the parameter holding the letter being printed. def drawkey(k,top,left): #makeboard #This method draws the board in turtle. It uses the global parameters boardtop and #boardleft as the starting positions for the keyboard, and prints out 4 rows, each #with 10 characters. Mine looked like: # def makeboard():

4 #The following functions involve reading in a file, and adding each word in the file into a list in #alphabetical order, also keeping track of how often each word occurs #addinorder(z) #this function takes a word, and adds it to a list, in alphabetical order. #the list is the wordlist, used in other functions def addinorder(z): global wordlist global wordcount if len(wordlist) == 0: wordlist.append(z) wordcount.append(1) else: x = 0 while (x < len(wordlist) and z > wordlist[x]): x+=1 if (x >= len(wordlist)): wordlist.append(z) wordcount.append(1) elif wordlist[x] == z: wordcount[x] += 1 else: wordlist.insert(x,z) wordcount.insert(x,1) return #stripchar(ls): #This function takes a list of strings, and strips out spaces, effectively #dividing the string into individual words, which are then added to the wordlist def stripchar(ls): for x in ls: z = "" for y in x: if y.lower() in keylist: if y!= " ": z += y.lower() elif len(z) > 0: addinorder(z) z = "" return() #readlist(doc) #This function reads in the content of a document into a list of lines def readlist(doc): global wordlist global wordcount f = open(doc,'r') ls = [] for line in f: ls.append(line.strip()) f.close() stripchar(ls) for x in range(len(wordlist)): print(wordlist[x] +" "+str(wordcount[x])) return()

5 #makesorted(x,y) #Premise: when a word predictor predicts words (based on what you've typed in so #far, it will predict the most commonly occurring word (starting with the typed letters) #first, followed by the next most commonly occurring word, etc. # #This function takes two integers as input parameters. The two input parameters #are the index of the first word in the wordlist that has the same beginning letters #as the keys that you've typed in, and y is the index right after the last word #in the wordlist that has the typed in letters. #It creates the predictls with those words in the wordlist with the same first letters #as those typed in in the order of teh most commonly occurring words first, down #to the least commonly occurring word. #It also creates a predictcts list that is the corresponding numbers of the occurrences #of the words in predictls #so, for instance, if you've typed in "pi", the x and y coordinates in the list #might be:354,360 #the words before sorting might be: #['picking', 'piece', 'pint', 'pip', 'pirate', 'pirrip'] #then teh sorted predictls would be: #['pip','pirrip','pirate','picking','piece','pint'] #and the predictcts list would be: #[5,3,2,1,1,1] # #Note: This function is a bit of a brain teaser. If you want to do it last, and #just make predictls be the unsorted list of words starting with 'pi'(or whatever #you've typed in)and predictcts the unsorted list of wordcounts associated with #those words, go for it. def makesorted(x,y): global wordlist global wordcount global predictls global predictcts #writeprediction() #This function writes out the predictls list in the bottom left corner of turtle. It #also writes out the accompanying counts. #So if this function is being tested on its own, with predictls set to, #['pip','pirrip','pirate','picking','piece','pint'] #and the predictcts list is: #[5,3,2,1,1,1] #Your board would look like:

6 # def writeprediction(): global predictx global predicty global predictcts global predictls #makewordlist(currtyped): #This function takes a string as input parameter and finds the first and last index of of words #in the wordlist that start with the input string (currtyped). So, for instance, #if the currtyped string is 3 characters long, you want to return the first and last index of #every word whose first 3 letters match currtyped. #It calls makesorted with the x and y index found. #so, if the input was "pi", then the x and y coordinates found would be:354,360 #and then it calls writeprediction() to write out the (sorted) prediction list and their counts def makewordlist(currtyped): #clearlist(x,y,x2,y2) #This function draws a big white square over the predicted list (in the bottom left). As #you type, the prediction list will change. You can't just write over it - you have to #erase it first. The easiest way to erase it in turtle is to draw a bit white rectangle, with x,y and x2,y2 being the outside top left and bottom right coordinates respectively, around #the area on the turtle board where you wrote the predicted list. Note: you'll want to set #turtle.color to white using #turtle.color('white','white') #and you will want to use #turtle.begin_fill() #right before you start drawing your rectangle. When you're done drawing your rectangle, use #turtle.end_fill() #so that the rectangle you draw will be filled with white. def clearlist(x,y,x2,y2): #findletter(x,y) #This is the heart of the function. #findletter takes the x and y coordinate of where you clicked #This function does a lot. It checks to see if the x and y coordinate are within the words #printed as the predicted words (by using each of their x and y coordinates - do the math to #find the edges of each word.

7 #if a word is found, it prints it up at the top typex and typey coordinate and clears the #word being typed, the prediction list, the prediction count list, and wipes out the prediction #list off the board (using clearlist) #If the x and y coordinates do not fall within the word prediction list, it then checks to #see if the coordinates are within the keyboard, and, if so, on which key (again, do the math #to figure out if the x and y coordinates are within the boundaries of where a particular key #was printed on the keyboard. If a key is found and it is not the space key or the clr key, #the character in the x,y coordinate is concatenated to the current word and the current sentence #and the current word is printed out so far, and the prediction list is updated and reprinted #if the x,y coordinate falls within the space key, the character is added to the sentence, the #updated sentence is printed out at the top, the typed word is cleared, the prediction list is #cleared, the prediction count list is cleared, and the prediction list is wiped off the screen. #If x,y coordinate falls within the clr button, however, the sentence is cleared to an empty #as well. #Here are some screenshots of what happens: #

8

9 def findletter(x,y): global predictls global squaresize global predictx global predicty global typex global typey global typed global boardtop global boardleft global currword global currsentence #This function gets the x and y coordinates of where the user clicked on the turtle board, and sends them #into the findletter function def writeletters(x,y): findletter(x,y) #This function reads where you clicked on the board def enterword(): turtle.onscreenclick(writeletters) #your main function that gets everything going def main(): turtle.speed(0) makeboard() readlist("gechap1.txt") enterword() return main()

Lab 4: Due Sunday, Nov 22

Lab 4: Due Sunday, Nov 22 Lab 4: Due Sunday, Nov 22 Part 1(15 pts): Finish the class project so that it works. For this, you can continue to work with your group, but everyone should turn it in individually. Turn this in separately

More information

Lab 4 Due April 18 th

Lab 4 Due April 18 th Lab 4 Due April 18 th (100 pts) You may work with a partner if you want. Turn in one version with 2 names on it. Do not forget your partner s name. Or work alone. Your choice. Problem 1 (10 pts): Create

More information

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing

More information

Problem 1.1 (3 pts) :Python uses atomic data types and builds up from there. Give an example of: a. an int b. a double c. a string

Problem 1.1 (3 pts) :Python uses atomic data types and builds up from there. Give an example of: a. an int b. a double c. a string Lab 1: Due Sunday, Feb 28, midnight This is a paired programming lab: In this lab you will work in pairs. In lab, you will choose your partner for the next two weeks. Get your partner s name and email

More information

: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics

: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics Assignment 1: Turtle Graphics Page 1 600.112: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics Peter H. Fröhlich phf@cs.jhu.edu Joanne Selinski joanne@cs.jhu.edu Due Date: Wednesdays

More information

CISC 181 Lab 2 (100 pts) Due: March 7 at midnight (This is a two-week lab)

CISC 181 Lab 2 (100 pts) Due: March 7 at midnight (This is a two-week lab) CISC 181 Lab 2 (100 pts) Due: March 7 at midnight (This is a two-week lab) This lab may be done individually or with a partner. Working with a partner DOES NOT mean, you do the evens, and I ll do the odds.

More information

Othello Turtle Extra Credit (20 points) Due Sunday, Nov 29 (really!)

Othello Turtle Extra Credit (20 points) Due Sunday, Nov 29 (really!) Othello Turtle Extra Credit (20 points) Due Sunday, Nov 29 (really!) For the extra credit, you will add turtle to the Othello project you have done. It will require modifying some functions (slightly),

More information

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners Getting Started Excerpted from Hello World! Computer Programming for Kids and Other Beginners EARLY ACCESS EDITION Warren D. Sande and Carter Sande MEAP Release: May 2008 Softbound print: November 2008

More information

Computer and Programming: Lab 1

Computer and Programming: Lab 1 01204111 Computer and Programming: Lab 1 Name ID Section Goals To get familiar with Wing IDE and learn common mistakes with programming in Python To practice using Python interactively through Python Shell

More information

ENGR 40M Project 3c: Coding the raindrop pattern

ENGR 40M Project 3c: Coding the raindrop pattern ENGR 40M Project 3c: Coding the raindrop pattern For due dates, see the overview handout The raindrop pattern works like this: Once per time period (say, 150 ms), (a) move the pattern one plane down: the

More information

Lab 2: Booleans, Strings, Random Numbers, Recursion, Variables, Input function

Lab 2: Booleans, Strings, Random Numbers, Recursion, Variables, Input function Lab 2: Booleans, Strings, Random Numbers, Recursion, Variables, Input function Due: Mar25 (Note that this is a 2-week lab) This lab must be done using paired partners. You should choose a different partner

More information

Physics REU Unix Tutorial

Physics REU Unix Tutorial Physics REU Unix Tutorial What is unix? Unix is an operating system. In simple terms, its the set of programs that makes a computer work. It can be broken down into three parts. (1) kernel: The component

More information

HOW TO. In this section, you will find. miscellaneous handouts that explain. HOW TO do various things.

HOW TO. In this section, you will find. miscellaneous handouts that explain. HOW TO do various things. In this section, you will find miscellaneous handouts that explain do various things. 140 SAVING Introduction Every time you do something, you should save it on the DESKTOP. Click Save and then click on

More information

CS 134 Programming Exercise 2:

CS 134 Programming Exercise 2: CS 134 Programming Exercise 2: Dirty Laundry Objective: To gain experience using conditionals. The Scenario. One thing some students have to figure out for the first time when they come to college is how

More information

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi. Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data

More information

MITOCW watch?v=0jljzrnhwoi

MITOCW watch?v=0jljzrnhwoi MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications Hello World! Computer Programming for Kids and Other Beginners by Warren Sande and Carter Sande Chapter 1 Copyright 2009 Manning Publications brief contents Preface xiii Acknowledgments xix About this

More information

Screenshots Made Easy

Screenshots Made Easy Screenshots Made Easy Welcome to the simplest screenshot tutorial ever. We'll be using the simplest graphic editing tool ever: Microsoft Paint. The goal of this tutorial is to get you making your own screenshots

More information

CISC 181 Lab 2 (100 pts) Due: March 4 at midnight (This is a two-week lab)

CISC 181 Lab 2 (100 pts) Due: March 4 at midnight (This is a two-week lab) CISC 181 Lab 2 (100 pts) Due: March 4 at midnight (This is a two-week lab) This lab should be done individually. Labs are to be turned in via Sakai by midnight on Tuesday, March 4 (the midnight between

More information

Part 1 Simple Arithmetic

Part 1 Simple Arithmetic California State University, Sacramento College of Engineering and Computer Science Computer Science 10A: Accelerated Introduction to Programming Logic Activity B Variables, Assignments, and More Computers

More information

How to lower a car in Paint.NET (PDN) -Tools you will be using:

How to lower a car in Paint.NET (PDN) -Tools you will be using: How to lower a car in Paint.NET (PDN) -Tools you will be using: Lasso select tool Move selected pixels tool Zoom (magnifying glass) tool Erase tool Color picker tool Paintbrush tool 1. Start by opening

More information

JavaScript Basics. The Big Picture

JavaScript Basics. The Big Picture JavaScript Basics At this point, you should have reached a certain comfort level with typing and running JavaScript code assuming, of course, that someone has already written it for you This handout aims

More information

Lab 2: Booleans, Strings, Random Numbers, Recursion, Variables, Input function

Lab 2: Booleans, Strings, Random Numbers, Recursion, Variables, Input function Lab 2: Booleans, Strings, Random Numbers, Recursion, Variables, Input function Due: Mar13 (Note that this is a 2-week lab) This lab must be done using paired partners. You should choose a different partner

More information

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals

More information

Introduction to Programming with JES

Introduction to Programming with JES Introduction to Programming with JES Titus Winters & Josef Spjut October 6, 2005 1 Introduction First off, welcome to UCR, and congratulations on becoming a Computer Engineering major. Excellent choice.

More information

Lab 2. CSE 3, Summer 2010 In this lab you will learn about file structures and advanced features of Microsoft Word.

Lab 2. CSE 3, Summer 2010 In this lab you will learn about file structures and advanced features of Microsoft Word. Lab 2 CSE 3, Summer 2010 In this lab you will learn about file structures and advanced features of Microsoft Word. A. Create a basic File Structure Let s start by opening up the My Documents folder on

More information

a child-friendly word processor for children to write documents

a child-friendly word processor for children to write documents Table of Contents Get Started... 1 Quick Start... 2 Classes and Users... 3 Clicker Explorer... 4 Ribbon... 6 Write Documents... 7 Document Tools... 8 Type with a Keyboard... 12 Write with a Clicker Set...

More information

Week 3: Objects, Input and Processing

Week 3: Objects, Input and Processing CS 170 Java Programming 1 Week 3: Objects, Input and Processing Learning to Create Objects Learning to Accept Input Learning to Process Data What s the Plan? Topic I: Working with Java Objects Learning

More information

Instructions for Crossword Assignment CS130

Instructions for Crossword Assignment CS130 Instructions for Crossword Assignment CS130 Purposes: Implement a keyboard interface. 1. The program you will build is meant to assist a person in preparing a crossword puzzle for publication. You have

More information

The Big Python Guide

The Big Python Guide The Big Python Guide Big Python Guide - Page 1 Contents Input, Output and Variables........ 3 Selection (if...then)......... 4 Iteration (for loops)......... 5 Iteration (while loops)........ 6 String

More information

Shape Cluster Photo Written by Steve Patterson

Shape Cluster Photo Written by Steve Patterson Shape Cluster Photo Written by Steve Patterson Before After Step 1: Create A New Document Let's begin by creating a new Photoshop document. Go up to the File menu in the Menu Bar along the top of the screen

More information

The inverse of a matrix

The inverse of a matrix The inverse of a matrix A matrix that has an inverse is called invertible. A matrix that does not have an inverse is called singular. Most matrices don't have an inverse. The only kind of matrix that has

More information

Introduction to Scratch

Introduction to Scratch Introduction to Scratch Familiarising yourself with Scratch The Stage Sprites Scripts Area Sequence of Instructions Instructions and Controls If a computer is a box think of a program as a man inside the

More information

CS195H Homework 1 Grid homotopies and free groups. Due: February 5, 2015, before class

CS195H Homework 1 Grid homotopies and free groups. Due: February 5, 2015, before class CS195H Homework 1 Grid homotopies and free groups This second homework is almost all about grid homotopies and grid curves, but with a little math in the middle. This homework, last year, took people about

More information

Sets MAT231. Fall Transition to Higher Mathematics. MAT231 (Transition to Higher Math) Sets Fall / 31

Sets MAT231. Fall Transition to Higher Mathematics. MAT231 (Transition to Higher Math) Sets Fall / 31 Sets MAT231 Transition to Higher Mathematics Fall 2014 MAT231 (Transition to Higher Math) Sets Fall 2014 1 / 31 Outline 1 Sets Introduction Cartesian Products Subsets Power Sets Union, Intersection, Difference

More information

CS 051 Homework Laboratory #2

CS 051 Homework Laboratory #2 CS 051 Homework Laboratory #2 Dirty Laundry Objective: To gain experience using conditionals. The Scenario. One thing many students have to figure out for the first time when they come to college is how

More information

Animations involving numbers

Animations involving numbers 136 Chapter 8 Animations involving numbers 8.1 Model and view The examples of Chapter 6 all compute the next picture in the animation from the previous picture. This turns out to be a rather restrictive

More information

Switched-On Schoolhouse 2014 User Guide Resource Center & Messaging System

Switched-On Schoolhouse 2014 User Guide Resource Center & Messaging System Switched-On Schoolhouse 2014 User Guide Resource Center & Messaging System MMVI Alpha Omega Publications, Inc. Switched-On Schoolhouse 2014, Switched-On Schoolhouse. Switched-On, and their logos are registered

More information

The Crypt Keeper Cemetery Software v.8.0. Table of Contents

The Crypt Keeper Cemetery Software v.8.0. Table of Contents The Crypt Keeper Cemetery Software v.8.0 Table of Contents Defining Custom Data Fields pg 3 o The default database comes with many data fields for you to input your record. But occasionally you may have

More information

COMP : Practical 6 Buttons and First Script Instructions

COMP : Practical 6 Buttons and First Script Instructions COMP126-2006: Practical 6 Buttons and First Script Instructions In Flash, we are able to create movies. However, the Flash idea of movie is not quite the usual one. A normal movie is (technically) a series

More information

The Beauty and Joy of Computing 1 Lab Exercise 9: Problem self-similarity and recursion - Python version

The Beauty and Joy of Computing 1 Lab Exercise 9: Problem self-similarity and recursion - Python version The Beauty and Joy of Computing 1 Lab Exercise 9: Problem self-similarity and recursion - Python version Objectives By completing this lab exercise, you should learn to Recognize simple self-similar problems

More information

We've tried to include the common errors and grading standard for every question.

We've tried to include the common errors and grading standard for every question. Fall 2003 CS61B Midterm (50/300 points) ;;;; Meta ;;;; GS = Grading Standard We've tried to include the common errors and grading standard for every question. QUESTION 1 GS: The T/F questions were worth

More information

Name & Recitation Section:

Name & Recitation Section: Name & Recitation Section: Due Wednesday, Jan 5 at 2:10 PM in 34-101. Please print out your code files (homework 1.py, rps.py, loops.py, and any code you wrote for optional problems), staple them to the

More information

Clicker Docs is a talking word processor that provides extensive writing support. It can be quickly and easily customized for individual needs.

Clicker Docs is a talking word processor that provides extensive writing support. It can be quickly and easily customized for individual needs. Table of Contents Overview... 1 Write Documents... 2 Create / Open a Document... 2 Write in the Document... 2 Print the Document... 2 Save the Document... 3 Send a Copy of the Document... 4 Writing Support...

More information

Lab 4: Strings/Loops Due Apr 22 at midnight

Lab 4: Strings/Loops Due Apr 22 at midnight Lab 4: Strings/Loops Due Apr 22 at midnight For this lab, you must work with a partner. All functions should be commented appropriately. If there are random numbers, the function must still be commen ted

More information

Using Word & Excel to Label and Calculate Catchment Areas and Rainfall Income

Using Word & Excel to Label and Calculate Catchment Areas and Rainfall Income Using Word & Excel to Label and Calculate Catchment Areas and Rainfall Income There are lots of little details you ll need to understand to use Word as a drawing tool, but each individual detail is pretty

More information

Lab 4: Strings/While Loops Due Sun, Apr 17 at midnight

Lab 4: Strings/While Loops Due Sun, Apr 17 at midnight Lab 4: Strings/While Loops Due Sun, Apr 17 at midnight For this lab, you must work with a partner. You should choose a new partner. Remember to turn in your peer review. All functions should be commented

More information

A2EZ A2Med A2Hard. Sequence 3 Sequence 2 Sequence 1. Sequence n. Sequence 3 Sequence 2 Sequence 1. EZ2 EZ3 EZ9 Etc.. Med1 Med7 Med12 Etc..

A2EZ A2Med A2Hard. Sequence 3 Sequence 2 Sequence 1. Sequence n. Sequence 3 Sequence 2 Sequence 1. EZ2 EZ3 EZ9 Etc.. Med1 Med7 Med12 Etc.. The Ceder Square Dance System (CSDS), authored by Vic Ceder, is rich in function and, although I have used it extensively for several years now, I make no claims to exhaustive expertise. What I will discuss

More information

MAPLOGIC CORPORATION. GIS Software Solutions. Getting Started. With MapLogic Layout Manager

MAPLOGIC CORPORATION. GIS Software Solutions. Getting Started. With MapLogic Layout Manager MAPLOGIC CORPORATION GIS Software Solutions Getting Started With MapLogic Layout Manager Getting Started with MapLogic Layout Manager 2011 MapLogic Corporation All Rights Reserved 330 West Canton Ave.,

More information

Chapter 7. Polygons, Circles, Stars and Stuff

Chapter 7. Polygons, Circles, Stars and Stuff Chapter 7. Polygons, Circles, Stars and Stuff Now it s time for the magic! Magic? asked Morf. What do you mean, magic? You ve never talked about Logo magic before. We ve talked about shapes, and how you

More information

Notebook Assignments

Notebook Assignments Notebook Assignments These six assignments are a notebook using techniques from class in the single concrete context of graph theory. This is supplemental to your usual assignments, and is designed for

More information

Intermediate Word by Alan Weaver

Intermediate Word by Alan Weaver Intermediate Word by Alan Weaver Outline/Table of Contents Introduction... 1 Set default font... 2 Create Random Text... 2 Download a special font... 2 Create/Modify a Style... 3 Widows/Orphans... 3 Table

More information

Designing and Printing Address Labels

Designing and Printing Address Labels Designing and Printing Address Labels This file will show you one way to use your computer for producing stick-on address labels, helping you to reduce the time involved in preparing the year's set of

More information

Homework 6 part 2: Turtle Etch-A-Sketch (40pts)

Homework 6 part 2: Turtle Etch-A-Sketch (40pts) Homework 6 part 2: Turtle Etch-A-Sketch (40pts) DUE DATE: Friday March 28, 7pm with 5 hour grace period Now that you have done part 1 of Homework 6, Train Your Turtle to Draw on Command, you are ready

More information

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Module # 02 Lecture - 03 Characters and Strings So, let us turn our attention to a data type we have

More information

Gold Hw8 Problem 3: TT Securities, Incorporated

Gold Hw8 Problem 3: TT Securities, Incorporated Gold Hw8 Problem 3: TT Securities, Incorporated Copied from: https://www.cs.hmc.edu/twiki/bin/view/cs5/ttsecuritiesgold on 3/29/2017 [25 points; individual or pair] Filename: hw8pr3.py Using your own loops...

More information

Resource Center & Messaging System

Resource Center & Messaging System SOS 2012 User Manual Resource Center & Messaging System Alpha Omega Publications MMVI Alpha Omega Publications, Inc. Switched-On Schoolhouse 2012, Switched-On Schoolhouse. Switched-On, and their logos

More information

Adobe Flash CS3 Reference Flash CS3 Application Window

Adobe Flash CS3 Reference Flash CS3 Application Window Adobe Flash CS3 Reference Flash CS3 Application Window When you load up Flash CS3 and choose to create a new Flash document, the application window should look something like the screenshot below. Layers

More information

Remember, this question was mis-worded: you could also add quoted words and sentences in the blanks below. This allowed for a solution to [4] below.

Remember, this question was mis-worded: you could also add quoted words and sentences in the blanks below. This allowed for a solution to [4] below. CS3 Fall 04 Midterm 1 Solutions and Grading standards Problem 1 (6 points, 10 minutes): Make the expressions correct Add parentheses and procedures in the underlined areas to make these expressions return

More information

Grade 6 Math Circles November 6 & Relations, Functions, and Morphisms

Grade 6 Math Circles November 6 & Relations, Functions, and Morphisms Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Relations Let s talk about relations! Grade 6 Math Circles November 6 & 7 2018 Relations, Functions, and

More information

Section 1. System Technologies and Implications. Modules. Introduction to computers. File management. ICT in perspective. Extended software concepts

Section 1. System Technologies and Implications. Modules. Introduction to computers. File management. ICT in perspective. Extended software concepts Section 1 System Technologies and Implications Modules 1.1 Introduction to computers 1.2 Software 1.3 Hardware 1.4 File management 1.5 ICT in perspective 1.6 Extended software concepts 1.7 Extended hardware

More information

Earthwork 3D for Dummies Doing a digitized dirt takeoff calculation the swift and easy way

Earthwork 3D for Dummies Doing a digitized dirt takeoff calculation the swift and easy way Introduction Earthwork 3D for Dummies Doing a digitized dirt takeoff calculation the swift and easy way Getting to know you Earthwork has inherited its layout from its ancestors, Sitework 98 and Edge.

More information

The Paperless Classroom with Google Docs by - Eric Curts

The Paperless Classroom with Google Docs by - Eric Curts The Paperless Classroom with Google Docs by - Eric Curts Table of Contents Overview How to name documents and folders How to choose sharing options: Edit, Comment, and View How to share a document with

More information

[ the academy_of_code] Senior Beginners

[ the academy_of_code] Senior Beginners [ the academy_of_code] Senior Beginners 1 Drawing Circles First step open Processing Open Processing by clicking on the Processing icon (that s the white P on the blue background your teacher will tell

More information

If Statements, For Loops, Functions

If Statements, For Loops, Functions Fundamentals of Programming If Statements, For Loops, Functions Table of Contents Hello World Types of Variables Integers and Floats String Boolean Relational Operators Lists Conditionals If and Else Statements

More information

The PCC CIS etutorial to PowerPoint

The PCC CIS etutorial to PowerPoint The PCC CIS etutorial to PowerPoint Table of Contents What happens when I start PowerPoint?...4 Setting Up Your Toolbars... 5 Expanding Your Menus... 6 How do I start creating a new presentation?...6 Design

More information

15-110: Principles of Computing, Spring 2018

15-110: Principles of Computing, Spring 2018 15-110: Principles of Computing, Spring 2018 Problem Set 5 (PS5) Due: Friday, February 23 by 2:30PM via Gradescope Hand-in HANDIN INSTRUCTIONS Download a copy of this PDF file. You have two ways to fill

More information

Programming Problems 21st Annual Computer Science Programming Contest

Programming Problems 21st Annual Computer Science Programming Contest Programming Problems 21st Annual Computer Science Programming Contest Department of Mathematics and Computer Science Western Carolina University 23 March 2010 Problem One: Palindrome Finder A palindrome

More information

Activity Guide APIs and Using Functions with Parameters

Activity Guide APIs and Using Functions with Parameters Unit 3 Lesson 5 Name(s) Period Date Activity Guide APIs and Using Functions with Parameters CS Content An API is a reference guide which catalogs and explains the functionality of a programming language.

More information

ADD AND NAME WORKSHEETS

ADD AND NAME WORKSHEETS 1 INTERMEDIATE EXCEL While its primary function is to be a number cruncher, Excel is a versatile program that is used in a variety of ways. Because it easily organizes, manages, and displays information,

More information

GOOGLE APPS. GETTING STARTED Page 02 Prerequisites What You Will Learn. INTRODUCTION Page 03 What is Google? SETTING UP AN ACCOUNT Page 03 Gmail

GOOGLE APPS. GETTING STARTED Page 02 Prerequisites What You Will Learn. INTRODUCTION Page 03 What is Google? SETTING UP AN ACCOUNT Page 03 Gmail GOOGLE APPS GETTING STARTED Page 02 Prerequisites What You Will Learn INTRODUCTION Page 03 What is Google? SETTING UP AN ACCOUNT Page 03 Gmail DRIVE Page 07 Uploading Files to Google Drive Sharing/Unsharing

More information

http://creativecommons.org/licenses/by/4.0/ A worksheet by Andrew Hague Flappy Wormy is based on work in Al Sweigart s Invent with Python: a free e-book. Al has written a really great series on creating

More information

POWERPOINT BASICS: MICROSOFT OFFICE 2010

POWERPOINT BASICS: MICROSOFT OFFICE 2010 POWERPOINT BASICS: MICROSOFT OFFICE 2010 GETTING STARTED PAGE 02 Prerequisites What You Will Learn USING MICROSOFT POWERPOINT PAGE 03 Microsoft PowerPoint Components SIMPLE TASKS IN MICROSOFT POWERPOINT

More information

Shorthand for values: variables

Shorthand for values: variables Chapter 2 Shorthand for values: variables 2.1 Defining a variable You ve typed a lot of expressions into the computer involving pictures, but every time you need a different picture, you ve needed to find

More information

Last Name: First: Netid: Section. CS 1110 Final, December 17th, 2014

Last Name: First: Netid: Section. CS 1110 Final, December 17th, 2014 CS 0 Final, December 7th, 204 SOLUTION This 50-minute exam has 8 questions worth a total of 00 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

Intro. Scheme Basics. scm> 5 5. scm>

Intro. Scheme Basics. scm> 5 5. scm> Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

Getting Started with Osmo Masterpiece

Getting Started with Osmo Masterpiece Getting Started with Osmo Masterpiece Updated 6.23.2017 Version 2.1.24 Page 1 What s Included? (Creative Set) 1 x Osmo Creative Board 6 x Yoobi Erasable Markers 1 x Blue Fuzzy Pouch Osmo Creative Board

More information

Adobe Photoshop How to Use the Marquee Selection Tools

Adobe Photoshop How to Use the Marquee Selection Tools Adobe Photoshop How to Use the Marquee Selection Tools In Photoshop there are various ways to make a selection and also various reasons why you'd want to make a selection. You may want to remove something

More information

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below.

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below. Graphing in Excel featuring Excel 2007 1 A spreadsheet can be a powerful tool for analyzing and graphing data, but it works completely differently from the graphing calculator that you re used to. If you

More information

Honors Computer Science Python Mr. Clausen Program 7A, 7B

Honors Computer Science Python Mr. Clausen Program 7A, 7B Honors Computer Science Python Mr. Clausen Program 7A, 7B PROGRAM 7A Turtle Graphics Animation (100 points) Here is the overview of the program. Use functions to draw a minimum of two background scenes.

More information

WORD BASICS: MICROSOFT OFFICE 2010

WORD BASICS: MICROSOFT OFFICE 2010 WORD BASICS: MICROSOFT OFFICE 2010 GETTING STARTED PAGE 02 Prerequisites What You Will Learn USING MICROSOFT WORD PAGE 03 Microsoft Word Components The Keyboard SIMPLE TASKS IN MICROSOFT WORD PAGE 08 Typing

More information

In this section we take an aside from the normal discussion in algebra.

In this section we take an aside from the normal discussion in algebra. 1.5 Set Notation In this section we take an aside from the normal discussion in algebra. We want to take a look at the topic of sets and set notation. The reason we want to do this is so that as we encounter

More information

Documentation for Flash Project

Documentation for Flash Project Documentation for Flash Project JOU 4341 and MMC 4946 / Fall 2005 You will build at least six Flash pages, or screens, to create an online story with photos, text and audio. The story will have a cover

More information

imovie Getting Started Creating a New Event

imovie Getting Started Creating a New Event imovie Getting Started Creating a New Event With one of the Libraries selected in the left sidebar, go to File and select New Event. Name the event something recognizable to the project. To add media (footage,

More information

How to make labels in Word By Kathleen K. Koch 26 April Introduction

How to make labels in Word By Kathleen K. Koch 26 April Introduction How to make labels in Word By Kathleen K. Koch 26 April 2003 Introduction This tutorial is set up in small steps to help you make your own cigar band labels using Microsoft s Word program. Included in

More information

Windows 8.1. Tiles come in four shapes: small, medium, wide, and large. The red outlined tiles are live tiles.

Windows 8.1. Tiles come in four shapes: small, medium, wide, and large. The red outlined tiles are live tiles. Windows 8/8.1 was Microsoft s attempt to have one operating system for all devices desktops, laptops, phones, tablets, and everything else. Some like it more than others. Microsoft Windows 10 is supposed

More information

RECORD. Published : License : None

RECORD. Published : License : None RECORD Published : 2011-03-12 License : None 1 Record Activity 1. Introduction 2. Starting Record 3. Somebody Should Set The Title For This Chapter! 4. Overview of Record 5. Audio 6. Taking Photos 7. Video

More information

All About Me in HyperStudio

All About Me in HyperStudio All About Me in HyperStudio (1) Open HyperStudio Next, Click on the New Stack choice in the HyperStudio Home Stack HyperStudio v3. HyperStudio v4. Addy will ask if you re sure... Click YES (or press the

More information

ASSIGNMENT 2. COMP-202A, Fall 2013, All Sections. Due: October 20 th, 2013 (23:59)

ASSIGNMENT 2. COMP-202A, Fall 2013, All Sections. Due: October 20 th, 2013 (23:59) ASSIGNMENT 2 COMP-202A, Fall 2013, All Sections Due: October 20 th, 2013 (23:59) Please read the entire PDF before starting. You must do this assignment individually and, unless otherwise specified, you

More information

This exam has 10 pages including the title page. Please check to make sure all pages are included.

This exam has 10 pages including the title page. Please check to make sure all pages are included. CS1301 - Exam3 Name: Section or Grading TA: Instructions: Please write clearly. What I cannot read, I will not grade. Show all your work in detail. I give partial credit. This exam has 10 pages including

More information

VARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs.

VARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. Lesson 2 VARIABLES Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. WHAT ARE VARIABLES? When you input data (i.e. information) into a computer

More information

roboturtle Documentation

roboturtle Documentation roboturtle Documentation Release 0.1 Nicholas A. Del Grosso November 28, 2016 Contents 1 Micro-Workshop 1: Introduction to Python with Turtle Graphics 3 1.1 Workshop Description..........................................

More information

NetLogo Tutorial Series: Langton's Ant. Nicholas Bennett Grass Roots Consulting

NetLogo Tutorial Series: Langton's Ant. Nicholas Bennett Grass Roots Consulting NetLogo Tutorial Series: Langton's Ant Nicholas Bennett Grass Roots Consulting nickbenn@g-r-c.com July 2010 Copyright Copyright 2010, Nicholas Bennett. All rights reserved. NetLogo Tutorial Series: Langton's

More information

Homework 1 Excel Basics

Homework 1 Excel Basics Homework 1 Excel Basics Excel is a software program that is used to organize information, perform calculations, and create visual displays of the information. When you start up Excel, you will see the

More information

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)...

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)... Remembering numbers (and other stuff)... Let s talk about one of the most important things in any programming language. It s called a variable. Don t let the name scare you. What it does is really simple.

More information

Ce qui est important dans l'enseignement des mathématiques. Marian Small novembre 2017

Ce qui est important dans l'enseignement des mathématiques. Marian Small novembre 2017 Ce qui est important dans l'enseignement des mathématiques Marian Small novembre 2017 Playing with math Uae your linking cubes. Show that the mean of 4, 7 and 7 is 6. Playing with math Uae your linking

More information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

Solar Campaign Google Guide. PART 1 Google Drive

Solar Campaign Google Guide. PART 1 Google Drive Solar Campaign Google Guide This guide assumes your team has already retrieved its template Solar Campaign folder from Vital Communities and shared it with the entire volunteer team on Google Drive. To

More information

The Villages Computer Club - no meeting Friday 7/5/2013 due to Holiday. The next ipad meeting will be on Tuesday July 2,2013 at 1:30, Colony Cottage.

The Villages Computer Club - no meeting Friday 7/5/2013 due to Holiday. The next ipad meeting will be on Tuesday July 2,2013 at 1:30, Colony Cottage. The Villages Computer Club - no meeting Friday 7/5/2013 due to Holiday. The next ipad meeting will be on Tuesday July 2,2013 at 1:30, Colony Cottage. We will be discussing various apps and then a Basic

More information