Fundamentals of Software Development 1Slide 1 Artwork: An introduction to programming primitives Draw a picture [1 minute]Draw a picture [1 minute] –It.

Slides:



Advertisements
Similar presentations
First of all – lets look at the windows you are going to use. At the top you have a toolbar, with all your various tools you can use when customising your.
Advertisements

Summer Computing Workshop. Introduction to Variables Variables are used in every aspect of programming. They are used to store data the programmer needs.
Test Taking Strategies
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
CS001 Introduction to Programming Day 3 Sujana Jyothi
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
CMT1000: Introduction to Programming Ed Currie Lecture 2A: Pizza.
An Introduction to Programming with C++ Fifth Edition Chapter 1 An Introduction to Programming.
Google SketchUp Castle
Fundamentals of Software Development 1Slide 1 Summary of one kind of computation: Instruction Followers Step by step instructions that produce a desired.
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
A tour around Java General introduction to aspects of the language (these will be covered in more detail later) After this tour you should have a general.
Behaviour Based approaches to robotics Jeremy Wyatt School of Computer Science University of Birmingham.
Loops and Switches. 1. What kind of blocks are these? 2. Name two kinds of controls that can be specified to determine how long a loop repeats. 3. Give.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
CSCI-100 Introduction to Computing Algorithms Part I.
The Scratch Calculator You are all going to be real computer programmers!!!
Tell the robot exactly how to draw a square on the board.
Simple Program Design Third Edition A Step-by-Step Approach
Introduction to Programming. What is a Program  Set of Instructions that tells the computer what to Do.  Driving force behind the computer  Without.
Welcome Back O.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Third Edition.
Introduction to Programming ICS2O Findlay. Learning Goals  We will learn  The definitions of a computer, program and programming language.  The different.
Discussion of Assignment 9 1 CSE 2312 Computer Organization and Assembly Language Programming Vassilis Athitsos University of Texas at Arlington.
Learning to draw, learning to see. Why can some of us draw more realistically than others? A lot of us stop becoming better at drawing and our level remains.
> 1 Diagrams in Word Faculty of Health Alan Grace.
Teaching a character to walk in more than one world: Parameters and Inheritance. By Lana Dyck under the direction of Professor Susan Rodger Duke University.
WaterWater Investigation 1 Part 1: Looking at Water.
Using the paper provided for this activity, fold your paper so that it is divided into 14 boxes. The bottom 2 boxes should be wider than the others. In.
SPRINTS  Today you’re going to do another set of sprints.  There are 2 sprints – A and B  You will have 60 seconds to do as many problems as you.
Drawing from Memory Improving your drawing through improving memory retention
CSCI-100 Introduction to Computing
Workshop 3 Supporting Students’ Oral Language Development Workshop 3 Supporting Student’s Literacy learning Slide1.
… Computer Science Inside… Algorithm Development.
Basic Scheme February 8, 2007 Compound expressions Rules of evaluation Creating procedures by capturing common patterns.
1/33 Basic Scheme February 8, 2007 Compound expressions Rules of evaluation Creating procedures by capturing common patterns.
SEPTEMBER 8, 2010 ICS 3U. Today’s Agenda Course Outline What is a program? What is a program Instruction Writing ActivityActivity.
Make Your Face, Get Acquainted Materials: White letter size paper Colors Pencils.
COLD READING UNIT. WHAT DO YOU THINK ABOUT WHEN YOU HEAR “COLD READING?”
“Seeing vs. Knowing”. Seeing vs. Knowing We carry around with us mental images of the way things are suppose to look. We may think we see things exactly.
1 Taking Notes. 2 STOP! Have I checked all your Source cards yet? Do they have a yellow highlighter mark on them? If not, you need to finish your Source.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science.
WRITING FROM OBSERVATION ESSAY 2. TIME TO OBSERVE On your computer, type adjectives that describe the type of individual in the image that you see. Words.
Software Development Algorithms and Language Constructs (sequence, selection and iteration) Higher Computing.
MEASUREMENTS Janeth Giron Yanet Renteria Mariaelena Avila Ana Herrera Janeth Rodriguez Flor Olague.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
HOW TO REVISE Use all your brain’s skills and as many senses as possible. This will be ‘active revision’.
Importance of Good Communication Food for thought after working in groups to make a comic strip.
Created By Sherri Desseau Click to begin TACOMA SCREENING INSTRUMENT FIRST GRADE.
Algorithms and Flowcharts
Introduction to Programming in C++ Seventh Edition Chapter 1: An Introduction to Programming.
Intro CS – Loops & Creating Shapes
An introduction to programming Created by Dr. Randy Pausch
Foundations of Programming: Introduction to Programming
Gaming with conditionals
Communication.
Creativity in Algorithms
Introduction to Engineering Oral Presentation Details
Algorithm and Ambiguity
Michigan Lean Consortium Exercise Instructions
Flowcharting & Algorithms
Gaming with conditionals
Unit 3 lesson 2-5 The Need For Algorithms- Creativity in Algorithms – Simple Commands - Functions Day 18.
An Introduction to Programming with C++ Fifth Edition
Type Topic in here! Created by Educational Technology Network
Presentation transcript:

Fundamentals of Software Development 1Slide 1 Artwork: An introduction to programming primitives Draw a picture [1 minute]Draw a picture [1 minute] –It can be concrete, abstract, whatever you want. –Don’t show it to anyone yet. You will show it later. Find a partner far away from you & sit together [1 minute]Find a partner far away from you & sit together [1 minute] Each A and B (partners), do this:Each A and B (partners), do this: –A: Without showing B your picture, tell B how to replicate the picture exactly. –B: Following A’s instructions, draw the picture. After 2 to 3 minutes, compare the original and the copy.After 2 to 3 minutes, compare the original and the copy. Repeat, with A and B reversed.Repeat, with A and B reversed.

Fundamentals of Software Development 1Slide 2 Artwork – Observations Class discussion:Class discussion: –What are your observations from this exercise? Your observations may include:Your observations may include: –Giving adequate instructions is hard! –Good instructions must be precise. –The instructions can be executed more than once. The 2 nd execution may yield the same picture as the 1 st.The 2 nd execution may yield the same picture as the 1 st. Or perhaps not, if the instructions interact with the environment:Or perhaps not, if the instructions interact with the environment: –perhaps you use a different pencil –perhaps you had too much coffee and your hand starts shaking. –These are all characteristics of computer programs, too!

Fundamentals of Software Development 1Slide 3 What is a Program? A program is a set of instructions that a computer can follow, one by one.A program is a set of instructions that a computer can follow, one by one. –If the computer knows how to do the instruction, the computer simply carries out the instruction. –If there is an instruction that the computer does not know how to do, the instruction needs to be rewritten in more detail. These are called high-level instructions.These are called high-level instructions. Exercise: What are some high-level instructions from the copy-my-picture exercise?Exercise: What are some high-level instructions from the copy-my-picture exercise? –See the next slide for some answers.

Fundamentals of Software Development 1Slide 4 High-Level Instructions Suppose the picture is a picture of a person.Suppose the picture is a picture of a person. –Draw the face is a high-level instruction. How can it be rewritten? –Draw the face might become: Draw the outline of the face. Draw two eyes. Draw eyebrows. Draw the nose. Draw the mouth.Draw the outline of the face. Draw two eyes. Draw eyebrows. Draw the nose. Draw the mouth. These are high-level instructions too! How might draw two eyes be rewritten?These are high-level instructions too! How might draw two eyes be rewritten? –Draw two eyes might become: Draw one eye near the top left of the outline. Draw the other eye near the top right of the outline.Draw one eye near the top left of the outline. Draw the other eye near the top right of the outline. How might draw one eye be rewritten?How might draw one eye be rewritten?

Fundamentals of Software Development 1Slide 5 Designing a Program, Part 1 These high-level instructions show that you can use top-down design to build programs like the copy- my-picture program.These high-level instructions show that you can use top-down design to build programs like the copy- my-picture program. Step 1:Step 1: –Ask yourself “What do I do next?” –until you have a sequence of instructions that accomplishes the desired result. Step 2:Step 2: –Ask yourself “How do I do each of these things?” –until each instruction is something the computer knows how to do.

Fundamentals of Software Development 1Slide 6 Programming Primitives We call the things that the computer knows how to do programming primitives.We call the things that the computer knows how to do programming primitives. What general-purpose programming primitives did you use in the draw-my-face exercise?What general-purpose programming primitives did you use in the draw-my-face exercise? Most computer languages provide:Most computer languages provide: –Combining by sequencing: do this, then that, then... –Combining by grouping and giving the group a name (high-level instructions). This is called procedural abstraction (aka encapsulating in methods)This is called procedural abstraction (aka encapsulating in methods) –Loops E.g. (for drawing a circle): Repeat 360 times: draw a short line and change direction by 1 degree.E.g. (for drawing a circle): Repeat 360 times: draw a short line and change direction by 1 degree. –Conditionals E.g.: If you have finished the circle, stop; else...E.g.: If you have finished the circle, stop; else...

Fundamentals of Software Development 1Slide 7 Summary, so far A programmer answers the questions:A programmer answers the questions: –What do I do next? –How do I do each of these things? Programming primitives include:Programming primitives include: –Sequencing, procedural abstraction, conditionals, loops. This is only one part of the programming problem. The second part is:This is only one part of the programming problem. The second part is: Coordinating the activities of many interdependent participants in a computational community