Automatic Programming: How Far Can Machines Go? Hila Peleg Technion

Size: px
Start display at page:

Download "Automatic Programming: How Far Can Machines Go? Hila Peleg Technion"

Transcription

1 Automatic Programming: How Far Can Machines Go? Hila Peleg Technion

2

3 Laziness

4 Laziness Impatience

5 Laziness Impatience Hubris

6 Automatic Programming Clean up my spreadsheet! Right away, boss!

7 Program synthesis to the rescue

8 Program Synthesis

9 What we really want This is what I want

10 What if we have automatic programming? Hyper-intelligent program generation for your every need

11 What if we have automatic programming? Hyper-intelligent program generation for your every need Self-aware, self-augmenting AI

12 What if we have automatic programming? Hyper-intelligent program generation for your every need Self-aware, self-augmenting AI The singularity

13 What if we have automatic programming? Hyper-intelligent program generation for your every need Self-aware, self-augmenting AI The singularity???

14 What if we have automatic programming? Hyper-intelligent program generation for your every need Self-aware, self-augmenting AI The singularity??? THE ROBOT APOCALYPSE

15 The Robot Apocalypse

16 But it s ok!

17 But it s ok! Understand users Build a program

18 But it s ok! Understand users Build a program Generalizing partial intent is hard

19 But it s ok! Understand users Build a program Generalizing partial intent is hard Solving HALT is hard*

20

21 User intent is hard Clean up my spreadsheet! Right away, boss!

22 User intent is hard Clean up my spreadsheet! Right away, boss! What s clean? Is this right? What am I doing with my life?

23 Intent via examples

24 Intent via examples

25 Intent via examples

26 Intent via examples

27 Query knowledge about (some kind of) code I want to apply foo() to requests to my http server

28 Query knowledge about (some kind of) code I want to apply foo() to requests to my http server val routes : Route =??? val bindingfuture = Http(). bindandhandle(routes, "localhost", 8080)

29 Commit Strip said it best

30 Commit Strip said it best

31 Commit Strip said it best

32 Commit Strip said it best

33 Building a program is also hard* Get me a program that takes a program and an input and tells me if that program stops on that input.

34 Building a program is also hard* Get me a program that takes a program and an input and tells me if that program stops on that input. (i.e., the halting problem)

35 Adjusting our expectations Here s a grammar of 20 functions and 10 constants, get me a program that I m certain is in this space.

36 Adjusting our expectations Here s a grammar of 20 functions and 10 constants, get me a program that I m certain is in this space.

37 Adjusting our expectations Here s a grammar of 20 functions and 10 constants, get me a program that I m certain is in this space.

38 What does this all mean?

39 What does this all mean? Generally, find me a program that cannot be solved

40 What does this all mean? Generally, find me a program that cannot be solved Still, we re not giving up

41 What does this all mean? Generally, find me a program that cannot be solved Still, we re not giving up Realistic expectations for realistic program synthesis

42 Realistic expectations for realistic synthesis We still want Partial specifications To not have to know everything A result! But we ll have to live without Checking every possible program Fully automatic solution Single-step solution

43 Realistic expectations for realistic synthesis We still want Partial specifications To not have to know But we ll have to live without Checking every possible program everything A result! Synthesis Engine Fully automatic solution Interaction Model Single-step solution

44 The synthesis engine Predicts code for intent Draws its understanding from language syntax and/or crowd wisdom and/or semantic specifications Reduce the number of programs seen

45 Reducing equivalent programs We ve seen x+y, so we don t want y+x

46 Reducing equivalent programs We ve seen x+y, so we don t want y+x But how do we know they re the same?

47 Reducing equivalent programs We ve seen x+y, so we don t want y+x But how do we know they re the same? 1. Heuristics

48 Reducing equivalent programs We ve seen x+y, so we don t want y+x But how do we know they re the same? 1. Heuristics 2. Solvers (e.g., Z3)

49 Reducing equivalent programs We ve seen x+y, so we don t want y+x But how do we know they re the same? 1. Heuristics 2. Solvers (e.g., Z3) 3. Observational Equivalence

50 Reducing equivalent programs We ve seen x+y, so we don t want y+x But how do we know they re the same? 1. Heuristics 2. Solvers (e.g., Z3) 3. Observational Equivalence Equivalence: p 1 p 2 i.f.f. for every possible input i ever, p 1 i = p 2 (i)

51 Reducing equivalent programs We ve seen x+y, so we don t want y+x But how do we know they re the same? 1. Heuristics 2. Solvers (e.g., Z3) 3. Observational Equivalence Equivalence: p 1 p 2 i.f.f. for every possible input i ever, p 1 i = p 2 (i) Observational equivalence: p 1 OE p 2 i.f.f. for every input i the user cares about, p 1 i = p 2 (i)

52 Trying a different strategy altogether Use knowledge bases instead of the language grammar They no longer contain every program (neither limited grammars) Searchable via graph algorithms or probability equations

53 The Interaction Model Aimed at programmers Specify intent Express yourself Think like a programmer

54 Specifying (and re-specifying) intent Task: find the median of a list User: examples! 1. [1,2,3] 2 2. [7,8,7,3] 7 Synthesis engine: input[input.length/2] User:

55 Specifying (and re-specifying) intent Task: find the median of a list User: examples! 1. [1,2,3] 2 2. [7,8,7,3] 7 Synthesis engine: input[input.length/2] User: It managed to find a single formula, let s make a counterexample

56 Specifying (and re-specifying) intent Task: find the median of a list User: examples! Principle #1: 1. [1,2,3] 2 Cost of communicating intent + 2. [7,8,7,3] 7 consuming result << cost of Synthesis engine: manually performing the task input[input.length/2] User: It managed to find a single formula, let s make a counterexample

57 Programming Not Only by Example input[input.length/2] [] input /. 2 input length A programmer can talk at the level of the program Read debug info Reason about subtrees or sequences of methods Even rewrite the program But also give examples, if those happen to be easier

58 Programming Not Only by Example input[input.length/2] Exclude [] input / Retain input. 2 length A programmer can talk at the level of the program Read debug info Reason about subtrees or sequences of methods Even rewrite the program But also give examples, if those happen to be easier

59 Programming Not Only by Example input[input.length/2] Exclude [] input / Retain input A programmer can talk at the level of the program Principle #2: Read debug info Let developers be Reason developers about subtrees or sequences of methods. 2 Even rewrite the program But also give examples, if those happen to be easier length

60 When models out-think the programmer def counts(l : List[String]) : Map[String,Int]= l.

61 When models out-think the programmer def counts(l : List[String]) : Map[String,Int]= l. groupby( map( fold(

62 When models out-think the programmer def counts(l : List[String]) : Map[String,Int]= l.groupby( identity) x => x.length) x => x[0])

63 When models out-think the programmer def counts(l : List[String]) : Map[String,Int]= l.groupby(identity). map(x => x._1 -> x._2 x => x.length) x => x[0])

64 When models out-think the programmer def counts(l : List[String]) : Map[String,Int]= l.groupby(identity). map(x => x._1 -> x._2. filter(y => y.startswith( x._2.length x._2[0])

65 When models out-think the programmer def counts(l : List[String]) : Map[String,Int]= l.groupby(identity). map(x => x._1 -> x._2. filter(y => y.startswith(

66 When models out-think the programmer def counts(l : List[String]) : Map[String,Int]= l.groupby(identity). map(x => x._1 -> x._2. filter(y => y.startswith(

67 Keep understanding what s going on??

68 Keep understanding what s going on??

69 Keep understanding what s going on?? Principle #3: Results must be explainable

70 % correct answer Programmers aren t as good as they think 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% histogram no. lines with text most frequent word PBE Only new operations All operations

71 Read-Eval-Synth Loops

72 What if we have automatic programming? Hyper-intelligent program generation for your every need Self-aware, self-augmenting AI The singularity??? THE ROBOT APOCALYPSE

9 R1 Get another piece of paper. We re going to have fun keeping track of (inaudible). Um How much time do you have? Are you getting tired?

9 R1 Get another piece of paper. We re going to have fun keeping track of (inaudible). Um How much time do you have? Are you getting tired? Page: 1 of 14 1 R1 And this is tell me what this is? 2 Stephanie x times y plus x times y or hm? 3 R1 What are you thinking? 4 Stephanie I don t know. 5 R1 Tell me what you re thinking. 6 Stephanie Well.

More information

Creating a Box-and-Whisker Graph in Excel: Step One: Step Two:

Creating a Box-and-Whisker Graph in Excel: Step One: Step Two: Creating a Box-and-Whisker Graph in Excel: It s not as simple as selecting Box and Whisker from the Chart Wizard. But if you ve made a few graphs in Excel before, it s not that complicated to convince

More information

CS61A Discussion Notes: Week 11: The Metacircular Evaluator By Greg Krimer, with slight modifications by Phoebus Chen (using notes from Todd Segal)

CS61A Discussion Notes: Week 11: The Metacircular Evaluator By Greg Krimer, with slight modifications by Phoebus Chen (using notes from Todd Segal) CS61A Discussion Notes: Week 11: The Metacircular Evaluator By Greg Krimer, with slight modifications by Phoebus Chen (using notes from Todd Segal) What is the Metacircular Evaluator? It is the best part

More information

Graded Assignment 2 Maple plots

Graded Assignment 2 Maple plots Graded Assignment 2 Maple plots The Maple part of the assignment is to plot the graphs corresponding to the following problems. I ll note some syntax here to get you started see tutorials for more. Problem

More information

Euler s Method for Approximating Solution Curves

Euler s Method for Approximating Solution Curves Euler s Method for Approximating Solution Curves As you may have begun to suspect at this point, time constraints will allow us to learn only a few of the many known methods for solving differential equations.

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

On the Importance of Common Sense in Program Synthesis

On the Importance of Common Sense in Program Synthesis On the Importance of Common Sense in Program Synthesis Hila Peleg, Technion The research leading to these results has received funding from the European Union's - Seventh Framework Programme (FP7) under

More information

5 R1 The one green in the same place so either of these could be green.

5 R1 The one green in the same place so either of these could be green. Page: 1 of 20 1 R1 Now. Maybe what we should do is write out the cases that work. We wrote out one of them really very clearly here. [R1 takes out some papers.] Right? You did the one here um where you

More information

Excel for Algebra 1 Lesson 5: The Solver

Excel for Algebra 1 Lesson 5: The Solver Excel for Algebra 1 Lesson 5: The Solver OK, what s The Solver? Speaking very informally, the Solver is like Goal Seek on steroids. It s a lot more powerful, but it s also more challenging to control.

More information

Creating a new form with check boxes, drop-down list boxes, and text box fill-ins. Customizing each of the three form fields.

Creating a new form with check boxes, drop-down list boxes, and text box fill-ins. Customizing each of the three form fields. In This Chapter Creating a new form with check boxes, drop-down list boxes, and text box fill-ins. Customizing each of the three form fields. Adding help text to any field to assist users as they fill

More information

Math 5320, 3/28/18 Worksheet 26: Ruler and compass constructions. 1. Use your ruler and compass to construct a line perpendicular to the line below:

Math 5320, 3/28/18 Worksheet 26: Ruler and compass constructions. 1. Use your ruler and compass to construct a line perpendicular to the line below: Math 5320, 3/28/18 Worksheet 26: Ruler and compass constructions Name: 1. Use your ruler and compass to construct a line perpendicular to the line below: 2. Suppose the following two points are spaced

More information

Lesson 14 Transcript: Triggers

Lesson 14 Transcript: Triggers Lesson 14 Transcript: Triggers Slide 1: Cover Welcome to Lesson 14 of DB2 on Campus Lecture Series. Today, we are going to talk about Triggers. My name is Raul Chong, and I'm the DB2 on Campus Program

More information

Sucuri Webinar Q&A HOW TO IDENTIFY AND FIX A HACKED WORDPRESS WEBSITE. Ben Martin - Remediation Team Lead

Sucuri Webinar Q&A HOW TO IDENTIFY AND FIX A HACKED WORDPRESS WEBSITE. Ben Martin - Remediation Team Lead Sucuri Webinar Q&A HOW TO IDENTIFY AND FIX A HACKED WORDPRESS WEBSITE. Ben Martin - Remediation Team Lead 1 Question #1: What is the benefit to spammers for using someone elses UA code and is there a way

More information

0 Graphical Analysis Use of Excel

0 Graphical Analysis Use of Excel Lab 0 Graphical Analysis Use of Excel What You Need To Know: This lab is to familiarize you with the graphing ability of excels. You will be plotting data set, curve fitting and using error bars on the

More information

Missing Data Analysis for the Employee Dataset

Missing Data Analysis for the Employee Dataset Missing Data Analysis for the Employee Dataset 67% of the observations have missing values! Modeling Setup For our analysis goals we would like to do: Y X N (X, 2 I) and then interpret the coefficients

More information

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet.

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet. Mr G s Java Jive #2: Yo! Our First Program With this handout you ll write your first program, which we ll call Yo. Programs, Classes, and Objects, Oh My! People regularly refer to Java as a language that

More information

CS1102: What is a Programming Language?

CS1102: What is a Programming Language? CS1102: What is a Programming Language? Kathi Fisler, WPI September 13, 2007 1 The Design and Programming Perspectives To start to understand what comprises a programming language, let s consider sample

More information

It s Not Complex Just Its Solutions Are Complex!

It s Not Complex Just Its Solutions Are Complex! It s Not Comple Just Its Solutions Are Comple! Solving Quadratics with Comple Solutions 15.5 Learning Goals In this lesson, ou will: Calculate comple roots of quadratic equations and comple zeros of quadratic

More information

QUICK EXCEL TUTORIAL. The Very Basics

QUICK EXCEL TUTORIAL. The Very Basics QUICK EXCEL TUTORIAL The Very Basics You Are Here. Titles & Column Headers Merging Cells Text Alignment When we work on spread sheets we often need to have a title and/or header clearly visible. Merge

More information

SAMLab Handout #5 Creating Graphs

SAMLab Handout #5 Creating Graphs Creating Graphs The purpose of this tip sheet is to provide a basic demonstration of how to create graphs with Excel. Excel can generate a wide variety of graphs, but we will use only two as primary examples.

More information

Exercise 6 - Addressing a Message

Exercise 6 - Addressing a Message Exercise 6 - Addressing a Message All e-mail messages have to include an address for an e-mail to be delivered, just as a normal letter has to have a house address. An e-mail address is made up of: a user

More information

TestComplete 3.0 Overview for Non-developers

TestComplete 3.0 Overview for Non-developers TestComplete 3.0 Overview for Non-developers Copyright 2003 by Robert K. Leahey and AutomatedQA, Corp. All rights reserved. Part : Table of Contents Introduction 1 About TestComplete 1 Basics 2 Types of

More information

Lecture 1: Overview

Lecture 1: Overview 15-150 Lecture 1: Overview Lecture by Stefan Muller May 21, 2018 Welcome to 15-150! Today s lecture was an overview that showed the highlights of everything you re learning this semester, which also meant

More information

Standard Chapter/Unit Notes

Standard Chapter/Unit Notes . (C, F, T).,00 (C, F, S, T). (C, F, P, S, T).,,, (C, T) Workout. (C, F, P, S, T). (C, F, P, S, T). (C, F, G, P, T). (C, F, P, T). (C, E, G, P, T) 0. (C, F, P, S, T) Solution/Representation - Problem #0

More information

Understand the Slope-Intercept Equation for a Line

Understand the Slope-Intercept Equation for a Line Lesson Part : Introduction Understand the Slope-Intercept Equation for a Line Focus on Math Concepts CCLS 8.EE..6 How can ou show that an equation in the form 5 mx b defines a line? You have discovered

More information

CS1 Lecture 5 Jan. 26, 2018

CS1 Lecture 5 Jan. 26, 2018 CS1 Lecture 5 Jan. 26, 2018 HW1 due Monday, 9:00am. Notes: Do not write all the code at once (for Q1 and 2) before starting to test. Take tiny steps. Write a few lines test... add a line or two test...

More information

CTI-TC Weekly Working Sessions

CTI-TC Weekly Working Sessions CTI-TC Weekly Working Sessions Meeting Date: October 18, 2016 Time: 15:00:00 UTC Purpose: Weekly CTI-TC Joint Working Session Attendees: Agenda: Jordan - Moderator Darley Christian Hunt Rich Piazza TAXII

More information

COMP390 (Design &) Implementation

COMP390 (Design &) Implementation COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features

More information

MIS2502: Data Analytics MySQL and SQL Workbench. Jing Gong

MIS2502: Data Analytics MySQL and SQL Workbench. Jing Gong MIS2502: Data Analytics MySQL and SQL Workbench Jing Gong gong@temple.edu http://community.mis.temple.edu/gong MySQL MySQL is a database management system (DBMS) Implemented as a server What is a server?

More information

Table of Laplace Transforms

Table of Laplace Transforms Table of Laplace Transforms 1 1 2 3 4, p > -1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Heaviside Function 27 28. Dirac Delta Function 29 30. 31 32. 1 33 34. 35 36. 37 Laplace Transforms

More information

Project 2: How Parentheses and the Order of Operations Impose Structure on Expressions

Project 2: How Parentheses and the Order of Operations Impose Structure on Expressions MAT 51 Wladis Project 2: How Parentheses and the Order of Operations Impose Structure on Expressions Parentheses show us how things should be grouped together. The sole purpose of parentheses in algebraic

More information

Part II Composition of Functions

Part II Composition of Functions Part II Composition of Functions The big idea in this part of the book is deceptively simple. It s that we can take the value returned by one function and use it as an argument to another function. By

More information

The x coordinate tells you how far left or right from center the point is. The y coordinate tells you how far up or down from center the point is.

The x coordinate tells you how far left or right from center the point is. The y coordinate tells you how far up or down from center the point is. We will review the Cartesian plane and some familiar formulas. College algebra Graphs 1: The Rectangular Coordinate System, Graphs of Equations, Distance and Midpoint Formulas, Equations of Circles Section

More information

Here are some of the more basic curves that we ll need to know how to do as well as limits on the parameter if they are required.

Here are some of the more basic curves that we ll need to know how to do as well as limits on the parameter if they are required. 1 of 10 23/07/2016 05:15 Paul's Online Math Notes Calculus III (Notes) / Line Integrals / Line Integrals - Part I Problems] [Notes] [Practice Problems] [Assignment Calculus III - Notes Line Integrals Part

More information

Pure Math 30: Explained!

Pure Math 30: Explained! www.puremath30.com 30 part i: stretches about other lines Stretches about other lines: Stretches about lines other than the x & y axis are frequently required. Example 1: Stretch the graph horizontally

More information

Introduction to Python (All the Basic Stuff)

Introduction to Python (All the Basic Stuff) Introduction to Python (All the Basic Stuff) 1 Learning Objectives Python program development Command line, IDEs, file editing Language fundamentals Types & variables Expressions I/O Control flow Functions

More information

CS 4349 Lecture August 21st, 2017

CS 4349 Lecture August 21st, 2017 CS 4349 Lecture August 21st, 2017 Main topics for #lecture include #administrivia, #algorithms, #asymptotic_notation. Welcome and Administrivia Hi, I m Kyle! Welcome to CS 4349. This a class about algorithms.

More information

CTI-TC Weekly Working Sessions

CTI-TC Weekly Working Sessions CTI-TC Weekly Working Sessions Meeting Date: February 21, 2017 Time: 15:00:00 UTC Purpose: Weekly CTI TC Joint Working Session Attendees: Jordan - Moderator Darley Thomson Eric Burger Taylor Jon Baker

More information

Lastly, in case you don t already know this, and don t have Excel on your computers, you can get it for free through IT s website under software.

Lastly, in case you don t already know this, and don t have Excel on your computers, you can get it for free through IT s website under software. Welcome to Basic Excel, presented by STEM Gateway as part of the Essential Academic Skills Enhancement, or EASE, workshop series. Before we begin, I want to make sure we are clear that this is by no means

More information

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 164 Spring 2010 P. N. Hilfinger Project #3: Code Generation Due: Wed, 5 May 2010 The third

More information

Optimization in One Variable Using Solver

Optimization in One Variable Using Solver Chapter 11 Optimization in One Variable Using Solver This chapter will illustrate the use of an Excel tool called Solver to solve optimization problems from calculus. To check that your installation of

More information

Data Management Project Using Software to Carry Out Data Analysis Tasks

Data Management Project Using Software to Carry Out Data Analysis Tasks Data Management Project Using Software to Carry Out Data Analysis Tasks This activity involves two parts: Part A deals with finding values for: Mean, Median, Mode, Range, Standard Deviation, Max and Min

More information

Last, with this edition, you can view and download the complete source for all examples at

Last, with this edition, you can view and download the complete source for all examples at PREFACE hat could be more exciting than learning the cool subfile concepts and techniques provided in the first edition of this book? Learning more in this new edition, of course! Actually, subfile concepts

More information

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change Chapter01.fm Page 1 Monday, August 23, 2004 1:52 PM Part I The Mechanics of Change The Mechanics of Change Chapter01.fm Page 2 Monday, August 23, 2004 1:52 PM Chapter01.fm Page 3 Monday, August 23, 2004

More information

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015 Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone

More information

(Refer Slide Time 3:31)

(Refer Slide Time 3:31) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

More information

Chapter 15 Right Triangle Trigonometry

Chapter 15 Right Triangle Trigonometry Chapter 15 Right Triangle Trigonometry Sec. 1 Right Triangle Trigonometry The most difficult part of Trigonometry is spelling it. Once we get by that, the rest is a piece of cake. efore we start naming

More information

Programming IDL for Astronomy September 6, 2004

Programming IDL for Astronomy September 6, 2004 Programming IDL for Astronomy September 6, 2004 Marshall Perrin 1 1. Introduction This is not a programming course, but nonetheless it will involve a lot of programming. This is true of astronomy as a

More information

It s possible to get your inbox to zero and keep it there, even if you get hundreds of s a day.

It s possible to get your  inbox to zero and keep it there, even if you get hundreds of  s a day. It s possible to get your email inbox to zero and keep it there, even if you get hundreds of emails a day. It s not super complicated, though it does take effort and discipline. Many people simply need

More information

Lesson 9 Transcript: Backup and Recovery

Lesson 9 Transcript: Backup and Recovery Lesson 9 Transcript: Backup and Recovery Slide 1: Cover Welcome to lesson 9 of the DB2 on Campus Lecture Series. We are going to talk in this presentation about database logging and backup and recovery.

More information

Infrastructure Matters

Infrastructure Matters Infrastructure Matters DATA PROTECTION DISASTER RECOVERY CLOUD SECURITY DATA ANALYTICS VIRTUALISATION Intel Xeon Processors. Your infrastructure matters more than you might think. Why? Because if you re

More information

How To Get Your Word Document. Ready For Your Editor

How To Get Your Word Document. Ready For Your Editor How To Get Your Word Document Ready For Your Editor When your document is ready to send to your editor you ll want to have it set out to look as professional as possible. This isn t just to make it look

More information

15-780: Problem Set #2

15-780: Problem Set #2 15-780: Problem Set #2 February 19, 2014 1. Constraint satisfaction problem (CSP) [20pts] A common problem at universities is to schedule rooms for exams. The basic structure of this problem is to divide

More information

Advanced Curve Fitting. Eric Haller, Secondary Occasional Teacher, Peel District School Board

Advanced Curve Fitting. Eric Haller, Secondary Occasional Teacher, Peel District School Board Advanced Curve Fitting Eric Haller, Secondary Occasional Teacher, Peel District School Board rickyhaller@hotmail.com In many experiments students collect two-variable data, make scatter plots, and then

More information

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website:

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ We will come around checking your pre-labs

More information

08. DESIGN PRINCIPLES. Originality is Overrated PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT

08. DESIGN PRINCIPLES. Originality is Overrated PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 08. DESIGN PRINCIPLES Originality is Overrated it s not about doing it your way this week is all about doing it the smarter, faster way. Design principle

More information

Hey there, I m (name) and today I m gonna talk to you about rate of change and slope.

Hey there, I m (name) and today I m gonna talk to you about rate of change and slope. Rate and Change of Slope A1711 Activity Introduction Hey there, I m (name) and today I m gonna talk to you about rate of change and slope. Slope is the steepness of a line and is represented by the letter

More information

How to Get Your Inbox to Zero Every Day

How to Get Your Inbox to Zero Every Day How to Get Your Inbox to Zero Every Day MATT PERMAN WHATSBESTNEXT.COM It s possible to get your email inbox to zero and keep it there, even if you get hundreds of emails a day. It s not super complicated,

More information

Without further ado, let s go over and have a look at what I ve come up with.

Without further ado, let s go over and have a look at what I ve come up with. JIRA Integration Transcript VLL Hi, my name is Jonathan Wilson and I m the service management practitioner with NHS Digital based in the United Kingdom. NHS Digital is the provider of services to the National

More information

How to Make Graphs in EXCEL

How to Make Graphs in EXCEL How to Make Graphs in EXCEL The following instructions are how you can make the graphs that you need to have in your project.the graphs in the project cannot be hand-written, but you do not have to use

More information

The MailNinja 7-Step Success Formula For Sending Lead Generating Campaigns

The MailNinja 7-Step Success Formula For Sending Lead Generating  Campaigns The MailNinja 7-Step Success Formula For Sending Lead Generating Email Campaigns The MailNinja 7-Step Success Formula For Sending Lead Generating Email Campaigns Over the past 10 years we ve perfected

More information

1. The Normal Distribution, continued

1. The Normal Distribution, continued Math 1125-Introductory Statistics Lecture 16 10/9/06 1. The Normal Distribution, continued Recall that the standard normal distribution is symmetric about z = 0, so the area to the right of zero is 0.5000.

More information

Written Communication

Written Communication Module 2: Written Communication 1 Your Passport to Professionalism: Module 2 Written Communication Step 1 Learn Introduction Sooner or later, you will need to communicate in writing. You will write down

More information

if you have anything on the screen you can clear it by pressing: CLEAR

if you have anything on the screen you can clear it by pressing: CLEAR Graphing Calculators are really very powerful hand held computing devices. The allow mathematics problems to be investigated by those whose learning styles range from the symbolic to the visual to the

More information

Section 0.3 The Order of Operations

Section 0.3 The Order of Operations Section 0.3 The Contents: Evaluating an Expression Grouping Symbols OPERATIONS The Distributive Property Answers Focus Exercises Let s be reminded of those operations seen thus far in the course: Operation

More information

UTILITY FUNCTIONS IN R

UTILITY FUNCTIONS IN R UTILITY FUNCTIONS IN R DIYA DAS GRADUATE STUDENT, NGAI LAB, DEPT OF MOLECULAR & CELL BIOLOGY MOORE/SLOAN DATA SCIENCE FELLOW, BERKELEY INSTITUTE FOR DATA SCIENCE WHAT DO I MEAN BY UTILITY FUNCTIONS? Anything

More information

Velocity: A Bat s Eye View of Velocity

Velocity: A Bat s Eye View of Velocity Name School Date Purpose Velocity: A Bat s Eye View of Velocity There are a number of ways of representing motion that we ll find useful. Graphing position, velocity, and acceleration vs. time is often

More information

Environment Diagrams. Administrivia. Agenda Step by Step Environment Diagram Stuff. The Rules. Practice it s on! What are The Rules?

Environment Diagrams. Administrivia. Agenda Step by Step Environment Diagram Stuff. The Rules. Practice it s on! What are The Rules? Administrivia Project 3 Part A due 3/29 (Monday after SB) Part B due 4/5 (a week after) Everyone with a partner that wants a partner? Extra Office Hours on Sunday 3/28 in C50 from 1pm Midterm 3 on 4/14

More information

EECS 219C: Formal Methods Syntax-Guided Synthesis (selected/adapted slides from FMCAD 13 tutorial by R. Alur) Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Syntax-Guided Synthesis (selected/adapted slides from FMCAD 13 tutorial by R. Alur) Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Syntax-Guided Synthesis (selected/adapted slides from FMCAD 13 tutorial by R. Alur) Sanjit A. Seshia EECS, UC Berkeley Solving SyGuS Is SyGuS same as solving SMT formulas with

More information

Math 2250 Lab #3: Landing on Target

Math 2250 Lab #3: Landing on Target Math 2250 Lab #3: Landing on Target 1. INTRODUCTION TO THE LAB PROGRAM. Here are some general notes and ideas which will help you with the lab. The purpose of the lab program is to expose you to problems

More information

Graphing by. Points. The. Plotting Points. Line by the Plotting Points Method. So let s try this (-2, -4) (0, 2) (2, 8) many points do I.

Graphing by. Points. The. Plotting Points. Line by the Plotting Points Method. So let s try this (-2, -4) (0, 2) (2, 8) many points do I. Section 5.5 Graphing the Equation of a Line Graphing by Plotting Points Suppose I asked you to graph the equation y = x +, i.e. to draw a picture of the line that the equation represents. plotting points

More information

Activity Guide - Will it Crash?

Activity Guide - Will it Crash? Unit 5 - Lesson 9 Name(s) Period Date Activity Guide - Will it Crash? Let s play a game: Will it Crash? Each row in the table below presents a small program that uses if-statements and robot commands.

More information

Direct Manipulation Programming Systems. Ravi Chugh Brian Hempel Jacob Albers Grace Lu Justin Lubin Mitchell Spradlin

Direct Manipulation Programming Systems. Ravi Chugh Brian Hempel Jacob Albers Grace Lu Justin Lubin Mitchell Spradlin Direct Manipulation Programming Systems Ravi Chugh Brian Hempel Jacob Albers Grace Lu Justin Lubin Mitchell Spradlin June 5, 2017 Idea 2 Idea 3 Idea 4 Idea 5 Idea 6 Idea 7 λ... λ... λ... λ... λ... λ...

More information

Just updated? Find out what s changed in Microsoft Dynamics CRM 2013 & Microsoft Dynamics CRM Online Fall 13. Getting Started Series

Just updated? Find out what s changed in Microsoft Dynamics CRM 2013 & Microsoft Dynamics CRM Online Fall 13. Getting Started Series Just updated? Find out what s changed in Microsoft Dynamics CRM 2013 & Microsoft Dynamics CRM Online Fall 13 Getting Started Series 4 Microsoft Dynamics CRM 2013 & Microsoft Dynamics CRM Online Fall 13

More information

Algebraic Specifications

Algebraic Specifications Object-Oriented Design Lecture 2 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 11, 2007 Algebraic Specifications Last time I said a word about the abstraction barrier, separating the clients from the implementors.

More information

Public Meeting Agenda Formatting Best Practices

Public Meeting Agenda Formatting Best Practices DEFINITIVE GUIDE Public Meeting Agenda Formatting Best Practices In this guide, we will first walk you through some best practices with text and images. Then, we will show you how to execute the best practices

More information

Bots. Table of Contents

Bots. Table of Contents Bots 101 Table of Contents What is a bot?.... 2 How are bots different than apps?... 2 What makes a bot intelligent?... 3 How do I engage with a bot?.... 5 How can bots help my business?.... 6 Bot benefits...

More information

In this white paper we want to look at seven basic principles that can help make your website be the best it can be.

In this white paper we want to look at seven basic principles that can help make your website be the best it can be. websites matter A good website is important now more than ever. More and more people first visit your church through your website -- not through your front doors. Visitors will likely evaluate six to 12

More information

why you should use Ruby

why you should use Ruby LUKE KANIES why you should use Ruby Luke Kanies runs Reductive Labs (http://reductivelabs.com), a startup producing OSS software for centralized, automated server administration. He has been a UNIX sysadmin

More information

COMP390 (Design &) Implementation

COMP390 (Design &) Implementation COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features

More information

SPSS 11.5 for Windows Assignment 2

SPSS 11.5 for Windows Assignment 2 1 SPSS 11.5 for Windows Assignment 2 Material covered: Generating frequency distributions and descriptive statistics, converting raw scores to standard scores, creating variables using the Compute option,

More information

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 164 Spring 2005 P. N. Hilfinger Project #2: Static Analyzer for Pyth Due: Wednesday, 6 April

More information

The Filter Wizard issue 10: Excel Tunes Up your Schematic Files Kendall Castor-Perry

The Filter Wizard issue 10: Excel Tunes Up your Schematic Files Kendall Castor-Perry The Filter Wizard issue 10: Excel Tunes Up your Schematic Files Kendall Castor-Perry In previous posts I ve talked about transferring spreadsheet-based circuit design directly to the lovely LTSpice simulator,

More information

ASCII Art. Introduction: Python

ASCII Art. Introduction: Python Python 1 ASCII Art All Code Clubs must be registered. Registered clubs appear on the map at codeclub.org.uk - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do. Introduction:

More information

SCHEME AND CALCULATOR 5b

SCHEME AND CALCULATOR 5b SCHEME AND CALCULATOR 5b COMPUTER SCIENCE 6A July 25, 203 In the next part of the course, we will be working with the Scheme programming language. In addition to learning how to write Scheme programs,

More information

1. (a) What are the closure properties of Regular sets? Explain. (b) Briefly explain the logical phases of a compiler model. [8+8]

1. (a) What are the closure properties of Regular sets? Explain. (b) Briefly explain the logical phases of a compiler model. [8+8] Code No: R05311201 Set No. 1 1. (a) What are the closure properties of Regular sets? Explain. (b) Briefly explain the logical phases of a compiler model. [8+8] 2. Compute the FIRST and FOLLOW sets of each

More information

Binary, Hexadecimal and Octal number system

Binary, Hexadecimal and Octal number system Binary, Hexadecimal and Octal number system Binary, hexadecimal, and octal refer to different number systems. The one that we typically use is called decimal. These number systems refer to the number of

More information

COMP390 (Design &) Implementation

COMP390 (Design &) Implementation COMP390 (Design &) Implementation A rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (With thanks to Dave Shield) Design & Implementation What

More information

UNIVERSITY OF CALIFORNIA

UNIVERSITY OF CALIFORNIA UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS164 Fall 1997 P. N. Hilfinger CS 164: Midterm Name: Please do not discuss the contents of

More information

Lesson 1A - First Java Program HELLO WORLD With DEBUGGING examples. By John B. Owen All rights reserved 2011, revised 2015

Lesson 1A - First Java Program HELLO WORLD With DEBUGGING examples. By John B. Owen All rights reserved 2011, revised 2015 Lesson 1A - First Java Program HELLO WORLD With DEBUGGING examples By John B. Owen All rights reserved 2011, revised 2015 Table of Contents Objectives Hello World Lesson Sequence Compile Errors Lexical

More information

Tutorial for downloading and analyzing data from the Atlantic Canada Opportunities Agency

Tutorial for downloading and analyzing data from the Atlantic Canada Opportunities Agency Tutorial for downloading and analyzing data from the Atlantic Canada Opportunities Agency The agency, which goes by the acronym ACOA, is one of many federal institutions that uploads data to the federal

More information

CALCULUS LABORATORY ACTIVITY: Numerical Integration, Part 1

CALCULUS LABORATORY ACTIVITY: Numerical Integration, Part 1 CALCULUS LABORATORY ACTIVITY: Numerical Integration, Part 1 Required tasks: Tabulate values, create sums Suggested Technology: Goals Spreadsheet: Microsoft Excel or Google Docs Spreadsheet Maple or Wolfram

More information

NOTES: ALGEBRA FUNCTION NOTATION

NOTES: ALGEBRA FUNCTION NOTATION STARTER: 1. Graph f by completing the table. f, y -1 0 1 4 5 NOTES: ALGEBRA 4.1 FUNCTION NOTATION y. Graph f 4 4 f 4 4, y --5-4 - - -1 0 1 y A Brief Review of Function Notation We will be using function

More information

Launch Store. University

Launch Store. University Launch Store University Store Settings In this lesson, you will learn about: Completing your Store Profile Down for maintenance, physical dimensions and SEO settings Display and image settings Time zone,

More information

A simple problem that has a solution that is far deeper than expected!

A simple problem that has a solution that is far deeper than expected! The Water, Gas, Electricity Problem A simple problem that has a solution that is far deeper than expected! Consider the diagram below of three houses and three utilities: water, gas, and electricity. Each

More information

1 Introduction to Using Excel Spreadsheets

1 Introduction to Using Excel Spreadsheets Survey of Math: Excel Spreadsheet Guide (for Excel 2007) Page 1 of 6 1 Introduction to Using Excel Spreadsheets This section of the guide is based on the file (a faux grade sheet created for messing with)

More information

learn programming the right way

learn programming the right way Coding 101 learn programming the right way 1 INTRODUCTION Before you begin learning how to code, it s first useful to discuss why you would want to learn web development. There are lots of good reasons

More information

Statistics: Interpreting Data and Making Predictions. Visual Displays of Data 1/31

Statistics: Interpreting Data and Making Predictions. Visual Displays of Data 1/31 Statistics: Interpreting Data and Making Predictions Visual Displays of Data 1/31 Last Time Last time we discussed central tendency; that is, notions of the middle of data. More specifically we discussed

More information

Lesson 13 Transcript: User-Defined Functions

Lesson 13 Transcript: User-Defined Functions Lesson 13 Transcript: User-Defined Functions Slide 1: Cover Welcome to Lesson 13 of DB2 ON CAMPUS LECTURE SERIES. Today, we are going to talk about User-defined Functions. My name is Raul Chong, and I'm

More information

Notes on Non-Chronologic Backtracking, Implication Graphs, and Learning

Notes on Non-Chronologic Backtracking, Implication Graphs, and Learning Notes on Non-Chronologic Backtracking, Implication Graphs, and Learning Alan J. Hu for CpSc 5 Univ. of British Columbia 00 February 9 These are supplementary notes on these aspects of a modern DPLL-style

More information