Institute for Personal Robots in Education (IPRE)‏ CSC 170 Computing: Science and Creativity.

Slides:



Advertisements
Similar presentations
CS107: Introduction to Computer Science Lecture 2 Jan 29th.
Advertisements

Algorithms Series of mathematical or variable manipulations Integer a,b,c a = 12 b = 22 c = a * b (what is c?) 12 * 22 = 264.
Creating Computer Programs lesson 27. This lesson includes the following sections: What is a Computer Program? How Programs Solve Problems Two Approaches:
Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the five essential properties of an algorithm.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
CS503: First Lecture, Fall 2008 Michael Barnathan.
Class 1: What this course is about. Assignments Reading: Chapter 1, pp 1-33 Do in Class 1: –Exercises on pages 13, 14, 22, 28 To hand in in Class 2: –Exercises.
Programming Fundamentals (750113) Ch1. Problem Solving
Chapter 1 Program Design
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Analysis of Algorithms Spring 2015CS202 - Fundamentals of Computer Science II1.
The Beauty and Joy of Computing Lecture #6 Algorithms Alan Turing ( ) would have turned 100 this year. He was a brilliant British mathematician.
Real World Programming BBrewer Fall Programming - Bellwork 1.Log on 2.Go to edmodo 3.Open & Save Vocabulary Graphic Organizer and Analaysis Document.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Tell the robot exactly how to draw a square on the board.
MATH 224 – Discrete Mathematics
CIS Computer Programming Logic
Computer science Kieran elder. What is computer science What is binary Binary maths What is hexadecimal Hexadecimal numbers programs for programming Different.
AS Computing Introduction to Programming. What is a Computer Program? A list of instructions that a computer must work through, in a logical sequence,
Chapter 1 Program Development Asserting Java © Rick Mercer.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
BY Lecturer: Aisha Dawood.  an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces.
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
Class 1: What this course is about. Assignment Read: Chapter 1 Read: Chapter 1 Do: Chapter 1 ‘workbook’ pages not finished in class Do: Chapter 1 ‘workbook’
Python Repetition. We use repetition to prevent typing the same code out many times and to make our code more efficient. FOR is used when you know how.
NQT Conference 30 th January 2015 Using Programming to Develop Children’s Mathematical Understanding Richard English Faculty of Education
Research Topics CSC Parallel Computing & Compilers CSC 3990.
The Beauty and Joy of Computing Lecture #6 Algorithms MIT researchers recently created an algorithm which they say will be able to predict what topics.
The Beauty and Joy of Computing Lecture #6 Algorithms I UC Berkeley EECS Sr Lecturer SOE Dan Garcia.
CS001 Introduction to Programming Day 2 Sujana Jyothi
CS404 Design and Analysis of Algorithms BBy DDr. M V S Peri Sastry BB.E, PhD(BITS-Pilani)
Programming and Languages Dept. of Computer and Information Science IUPUI.
Chapter 10 Algorithmic Thinking. Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the.
How To Program An Overview Or A Reframing of the Question of Programming.
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
Algorithms and Computer Programming. Algorithms algorithm is an ordered sequence of instructions for solving a problem. Look at it as a building blocks.
In the news: A recently security study suggests that a computer worm that ran rampant several years ago is still running on many machines, including 50%
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
1 st PeriodAP Computer Science 2 nd PeriodComputer Science I 3 rd PeriodIntroduction to Programming 4 th PeriodComputer Science I/ Advanced Projects Lunch.
SCRATCH ScratchScratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share.
Getting Started With Python Brendan Routledge
Software Engineering Algorithms, Compilers, & Lifecycle.
Algorithms in Programming Computer Science Principles LO
The Beauty and Joy of Computing Lecture #6 Algorithms I Jon Kotker UC Berkeley EECS 2010, 2013 Microsoft
Computers and Programming
The Study of Computer Science Chapter 0
Algorithms CSE 120 Spring 2017 Instructor: Teaching Assistants:
Data Structures and Algorithms
Creativity in Algorithms
The Study of Computer Science Chapter 0
The Binary Number System
An Introduction to Visual Basic .NET and Program Design
Unit# 8: Introduction to Computer Programming
The Study of Computer Science
Software Programming J. Holvikivi 2014.
Creativity in Algorithms
Lesson 2 Programming constructs – Algorithms – Scratch – Variables Intro.
For -G7 programing language Teacher / Shamsa Hassan Alhassouni.
Programming Fundamentals (750113) Ch1. Problem Solving
Algorithm Discovery and Design
Coding Concepts (Basics)
Algorithms CSE 120 Winter 2018 Instructor: Teaching Assistants:
Creating Computer Programs
CompSci 1: Principles of Computer Science Lecture 1 Course Overview
ICT Gaming Lesson 2.
Creating Computer Programs
CSC 241: Introduction to Computer Science I
Presentation transcript:

Institute for Personal Robots in Education (IPRE)‏ CSC 170 Computing: Science and Creativity

● Alan Winfield of Bristol Robotics Laboratory ● A Robot tries to save one and then two robots from falling int a hole |_ EARLY ALGORITHMS

WHAT IS AN ALGORITHM? ● An algorithm is any well-defined computational procedure that takes some value or set of values as input and produces some value or set of values as output ● The decimal equivalent of a binary number ● Algorithms can be non computer based ● Cake recipe, instructions to get to from here to there, find a number in a phonebook – Or how back up your contact list on a cell phone ● Algorithms are much older than computers

● Dances, ceremonies, recipes, and building instructions are all conceptually similar to algorithms ● Babylonians defined some fundamental mathematical procedures ~3,600 years ago ● Genes contain algorithms! ● step-by-step processes to transcribe genes and produce proteins ALGORITHMS Photo credit: Daniel Niles

ALGORITHMS YOU MIGHT HAVE USED THIS WEEK Tie your shoe laces Wasn’t easy, was it? Log in to D2L Enter UA Net ID and password, press something Attended CSc 170 Wake up, do your routine, drove, walked or biked nearby ….. Study for a test Is there really any easy way?

ALGORITHMS YOU'VE SEEN IN CSC 170 ● Determine a letter grade if..else ● Interact with the user ask ● Help a player guess a word in fewer tries repeat until loop ● Find if a digit is in a number for loop ● Create a 5 digit number? secretNumber

ALGORITHMS YOU MIGHT HAVE USED THIS WEEK Luhn algorithm Credit card number validation Recommenders You might also be interested in … PageRank Google’s way of measuring “reputation” of web pages EdgeRank Facebook’s method for determining what is highest up on your news feed

FORMS OF CONTROL IN ALGORITHMS Sequencing Application of each step of an algorithm in order (sometimes: find order) Selection Use of Boolean condition to select execution parts Iteration Repetition of part of an algorithm until a condition is met Recursion Repeated application of the same part of algorithm on smaller problems

PROPERTIES OF ALGORITHMS ● Algorithm + Algorithm = Algorithm ● Part of Algorithm = Algorithm ● Several algorithms may solve the same problem, but in differrent time ● Much of Computer Science research involves development of algorithms that solve difficult problems ● And then implementing them in a programming language to do it as quickly as possible ● Believe it or not, it can take seconds or decades

PROVING QUARKS EXIST ● Kenneth G. Wilson, winner of the 1982 Nobel Prize in physics, found he didn’t have adequate computing power to solve his theory numerically, so he wanted easy ways to use large numbers of parallel processors.” ● “He was decades ahead of his time with respect to computing and networks..” ● So Wilson became a pioneer in the field of supercomputing (Cornell) ● UofA CS and BIOr now looking forpatterns in terabytes, or trillions (1,000,000,000,000) of genomic data

ALGORITHM CORRECTNESS ● We don't only want algorithms to be fast and efficient; we also want them to be correct! ● We also have probabalistic and stochastic algorithms that have a randomness or probability to report an answer ● File download time ● Weather predictions ● Potential Friends on Facebook ● Translating text using probabilistic text generation ● Predicting forest fire danger ● Discovering terroristic activities ● Ask the Magic eight ball

How to Express Algorithms… ● A programmer’s spouse tells him: “Run to the store and pick up a loaf of bread. If they have eggs, get a dozen.” ● The programmer comes home with 12 loaves of bread ● Algorithms need to be expressed in a context-free, unambiguous way for all participants

WAYS TO EXPRESS ALGORITHMS ● Natural Language ● Pseudo Code ● Programming Language ● Snap! Blocks

Let’s write an algorithm in a natural language ● Write an algorithm in English that takes a binary number such as and reports the decimal equivalent = 1x x x x2 0 = = 13 10