Why Program? CSE111 – Great ideas in Computer Science Clearly programming fits here Programming is a Great Idea in Computer Science. It has allowed computers.

Slides:



Advertisements
Similar presentations
NO PAIN, NO GAIN… IT’S TIME TO GROW YOUR BRAIN! PART 1.
Advertisements

Book cover art to be inserted Chapter 9 Critical Thinking and Creative Problem Solving.
Process Design (Specification)
Examples of life goals: 1.Live on my own or with a family of my own. If I have this, I can use my non-working time how I see fit. FREE TIME! 2.Keep a job.
½ hour Chapter 2 Java in 30 minutes 1. 2 Rationale ½ hour Teaching a computer language like a logical system is possible. But not necessarily helpful.
Advice for Computer Science College Students by Joel Spolsky Presented by: Sherrie Dowdy.
Fostering Algebraic Thinking October 26  December 2  6-hour Assignment after Session 2  January 20 Presented by: Janna Smith
Modeling Elasticity With Algebra Develop Math and Science Practices as students experiment with elasticity and interpret results using mathematics. November.
Polya’s Four Step Problem Solving Process
Computational Thinking William C. Ridgeway 4/17/2011 CSCE 390 Professional Issues in Computer Science and Engineering.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Using Algorithms Copyright © 2008 by Helene G. Kershner.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Communication Effective Listening.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
Halting Problem. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have a tool that would warn us.
Robot? What’s a Robot? Introducing Karel-the-Robot.
Classroom Dynamics.
The Scientific Method By Mr. Krall. The Scientific Method What is the Scientific Method? -The Scientific Method is a set of steps that help organize thinking.
ACOS 2010 Standards of Mathematical Practice
Introduction To Logarithms. Logarithms were originally developed to simplify complex arithmetic calculations. They were designed to transform multiplicative.
Building Mental Math and Reasoning
Introducing CLT While Avoiding Classroom Culture Shock Marla Yoshida.
Welcome to Computing. How is Computing assessed? AS Unit 1 Practical Theory of computation. Fundamentals of programming, data structures and algorithms.
Empowering Undergraduate Students through Mathematical Thinking and Learning Marja-Liisa Hassi University of Colorado Boulder, CO Marja-Liisa Hassi University.
Based on the work of Stephen Covey
Career Planning Preparing for the type of job you want in the future. Process of developing general career direction.
Communication Skills Anyone can hear. It is virtually automatic. Listening is another matter. It takes skill, patience, practice and conscious effort.
Unpacking the Standards for Mathematical Practice Professional Development September 16, 2013.
Why am I here? Science and Math Practices PASS Summer Session I June 10, 2013.
Math Practice #2 Reason Abstractly and Quantitatively.
Communication Sending and Receiving Messages. Communication the exchange of ideas, feelings, or meaning between 2 or more persons / Understanding / Overcoming.
WRITING AN ESSAY Format to be used for all assigned essays in math class Hit the Back Arrow at any time to end the presentation.
Computer Programming TCP1224 Chapter 3 Completing the Problem-Solving Process and Getting Started with C++
Define your own road in life. College Planning & Career Exploration.
Introduction to Algorithms Engineering 1D04, Teaching Session 1.
HAWKES LEARNING Students Count. Success Matters. Copyright © 2015 by Hawkes Learning/Quant Systems, Inc. All rights reserved. Section 1.1 Thinking Mathematically.
CROSS-CUTTING CONCEPTS IN SCIENCE Concepts that unify the study of science through their common application across the scientific fields They enhance core.
Chapter 2 Lesson 1 Vocabulary – Health Skills, Communication, Refusal skills, Self – esteem, Stress.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Southport Parent Night Sailing Into Mathematics Jeremy Centeno Jan
CS221 Algorithm Basics. What is an algorithm? An algorithm is a list of instructions that transform input information into a desired output. Each instruction.
Number Talks in Middle & High School Classes? A discussion Chris TOSA Escondido Union School District.
In your business. DATING!!! Take a few minutes and write down one of the best dates you have ever been on. Then we will have a few of you share your exciting.
Opening Slide You’re About to Discover the One Secret “__________” That Makes it Super- Easy to ____________________ That Allows You to __________________and.
Strengthening Your Interpersonal Relationships. 1. Don’t criticize, condemn, or complain about people.  There’s no faster way create resentment toward.
Communicating Effectively (1:46) Click here to launch video Click here to download print activity.
Exploring Career Decisions UNIT A: Who Am I and What Can I Become? 1.03 Understand Personal & Transferable Skills.
Building Healthy Relationships through Communications.
1. Don’t criticize, condemn, or complain about people. There’s no faster way create resentment toward you than to criticize or complain about a person.
Practical Practices for Parents, Students and Teachers Jeremy Centeno Ilea Faircloth Cylle Rowell.
0 MANAGING CONFLICT. 1 2 Managing Conflict Finding common ground Providing tools to settle disputes Stepping in to make unilateral decisions (on rare.
CS 101 – Oct. 7 Solving simple problems: create algorithm Structure of solution –Sequence of steps (1,2,3….) –Sometimes we need to make a choice –Sometimes.
Structured Decisions How to facilitate a creative problem solving meeting. Loredo Sola, Dir SW Dev, PKC Inc.
DSMA 0393/1414 Comments of Students. Co-requisite Model Student Comments Students were given this request on their final examination: Write a statement.
Verbal listening: Listening.
Building Comfort With MATLAB
Algorithms and Problem Solving
Copyright © 2008 by Helene G. Kershner
UNIT 3 – LESSON 5 Creating Functions.
Chapter 2 Java in 30 minutes
Copyright © 2008 by Helene G. Kershner
Using Algorithms Copyright © 2008 by Helene G. Kershner.
The Need for Programming Languages
Cross-cutting concepts in science
Using Algorithms Copyright © 2008 by Helene G. Kershner.
UNIT 3 CHAPTER 1 LESSON 4 Using Simple Commands.
Algorithms and Problem Solving
Nested If Statements While Loops
Session 4a Listen/Crystal CLEAR.
Presentation transcript:

Why Program? CSE111 – Great ideas in Computer Science Clearly programming fits here Programming is a Great Idea in Computer Science. It has allowed computers to become what they are today. The course satisfies the Math Requirement Clearly programming has something to do with math. Even Karel has something to do with math It uses to logic we studied earlier Helps us understand how computers make decisions Can be painful Copyright © 2008 by Helene G. Kershner

Why Program? Why does anyone program? Why does anyone program? Good job Good job Recreation Recreation Tool for problem solving Tool for problem solving A new way of thinking A new way of thinking Understand what’s going on inside the machine Understand what’s going on inside the machine Copyright © 2008 by Helene G. Kershner

Why Program? Recreation? HUH? Recreation? HUH? Another kind of artist Another kind of artist There is a creative joy for some in writing a program There is a creative joy for some in writing a program Amateur programming for some is not different than amateur photography for others Amateur programming for some is not different than amateur photography for others Copyright © 2008 by Helene G. Kershner

Why Program? Teaches clear communication Teaches clear communication What is the problem? What is the problem? What do I KNOW about the problem? What do I KNOW about the problem? What am I trying to solve? What am I trying to solve? Break the problem down into parts that are solvable – maybe Break the problem down into parts that are solvable – maybe Break it down into parts that can at least be explored Break it down into parts that can at least be explored Copyright © 2008 by Helene G. Kershner

Why Program? Change the way we think! Change the way we think! Think differently, think clearly, think with a sense of precision Think differently, think clearly, think with a sense of precision Natural Language is not the best tool for thinking. Why? Natural Language is not the best tool for thinking. Why? What we “mean” and what we “say” are often not the same What we “mean” and what we “say” are often not the same It is inherently imprecise It is inherently imprecise It involves idioms It involves idioms Words say one thing and mean another Words say one thing and mean another How we say things matters How we say things matters Facial expressions Facial expressions Body language Body language What we don’t say is often more important than what we do What we don’t say is often more important than what we do Lawyers are the artists of Natural Language Lawyers are the artists of Natural Language Copyright © 2008 by Helene G. Kershner

Why Program? Programming requires a language that is very precise (often to the point of frustration). Programming requires a language that is very precise (often to the point of frustration). Logical thinking is straightforward in a programming language. It is not straightforward in a natural language Logical thinking is straightforward in a programming language. It is not straightforward in a natural language Programming can force us to think clearly Programming can force us to think clearly If we think it but can’t say it clearly do we really understand it? If we think it but can’t say it clearly do we really understand it? Copyright © 2008 by Helene G. Kershner

Why Program? Problem Solving: Ever been in an argument where you can’t seem to make yourself understood? Ever been in an argument where you can’t seem to make yourself understood? Perhaps that is because we don’t really understand the point we want/need to make. Perhaps that is because we don’t really understand the point we want/need to make. Question: If we think we understand something but can’t say it clearly do we really understand it? Question: If we think we understand something but can’t say it clearly do we really understand it? Copyright © 2008 by Helene G. Kershner

Why Program? Programming is a structured form of problem solving Programming is a structured form of problem solving It is a mechanism for practicing and organizing how to think It is a mechanism for practicing and organizing how to think For some of us it is natural, for others it is not, but the structure is helpful For some of us it is natural, for others it is not, but the structure is helpful Copyright © 2008 by Helene G. Kershner

Why Program? Most problem solving is a “head” thing! Most problem solving is a “head” thing! The problem is running around in my head and possible solutions seem to be chasing it round-and-round. Copyright © 2008 by Helene G. Kershner

Why Program? Programming teaches problem solving without a total all-consuming awareness of the mathematical tools that are at it’s core. Programming teaches problem solving without a total all-consuming awareness of the mathematical tools that are at it’s core. We use algebra We use algebra We use logic We use logic We use decision making We use decision making But we use them in an environment different from the math we’ve been taught in school But we use them in an environment different from the math we’ve been taught in school Copyright © 2008 by Helene G. Kershner

Why Program? Programming presents a style that empowers us to apply SIMPLE language and PLANNING to problem solving. Copyright © 2008 by Helene G. Kershner

Why Program? Programming is a thinking skill. Analyze a problem statement Analyze a problem statement What is the problem anyway? What is the problem anyway? Express the problem clearly and concisely in exactly words. Express the problem clearly and concisely in exactly words. Think clearly about what the solution could be Think clearly about what the solution could be Gather information and express clearly the current state of the problem? Gather information and express clearly the current state of the problem? Why isn’t it solved yet? Why isn’t it solved yet? What would it take to solve it? What would it take to solve it? Begin to address how to go from where we are now to where we want to be. Begin to address how to go from where we are now to where we want to be. Copyright © 2008 by Helene G. Kershner

Why Program? Programming is a thinking skill. Analyze a problem statement Analyze a problem statement Define the Problem Define the Problem Think clearly about what the solution could be Think clearly about what the solution could be Define the Output Define the Output Gather information and express clearly the current state of the problem? Gather information and express clearly the current state of the problem? Define the Input Define the Input Begin to address how to go from where we are now to where we want to be. Begin to address how to go from where we are now to where we want to be. Create an Initial Algorithm Create an Initial Algorithm Copyright © 2008 by Helene G. Kershner

Why Program? Think again about how to solve the problem! Think again about how to solve the problem! Revise the Algorithm Revise the Algorithm Pay attention to details. The devil is in the details Pay attention to details. The devil is in the details Make no assumptions Make no assumptions Copyright © 2008 by Helene G. Kershner

Why Program? What did we do when we learned to program. Primitives – a basic language Primitives – a basic language Learned to expand these into blocks that made our thinking easier – it changed nothing for Karel’s behavior Learned to expand these into blocks that made our thinking easier – it changed nothing for Karel’s behavior Learned to let the machine make some basic decisions Learned to let the machine make some basic decisions Learned to let the machine repeat things Learned to let the machine repeat things Learned to let the machine combine simple decision making with repeating Learned to let the machine combine simple decision making with repeating Copyright © 2008 by Helene G. Kershner

Why Program? Problem solving is a tool for everyone, whether a doctor, lawyer, chef, journalist, artist, educator or a scientist or engineer. Everyone, everywhere solves problems every day. The mental exercise of learning to organize one’s thoughts so we can “talk” to the computer, “talk” to Karel, makes us better problem solvers. Copyright © 2008 by Helene G. Kershner