Computational Thinking in Learning

Slides:



Advertisements
Similar presentations
PIIT Computer Science Summer Camp - Alice July 10, 2012 Brenda Parker Computer Science Department MTSU.
Advertisements

S.T.A.I.R.. General problem solving strategy that can be applied to a range problems.
ACOS 2010 Standards of Mathematical Practice
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
Building Community within the Mathematics Classroom Unit of Study 0 Global Concept Guide: 1 of 1.
Introduction to Programming. What is a Program  Set of Instructions that tells the computer what to Do.  Driving force behind the computer  Without.
Invitation to Computer Science, Java Version, Second Edition.
Introduction of Engineering (ENGR 10) Guest Lecture March 24, 2014.
Programming Concepts Chapter 3.
CS 1308 Computer Literacy and The Internet Software.
By the end of this session you should be able to...
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
INVITATION TO Computer Science 1 11 Chapter 2 The Algorithmic Foundations of Computer Science.
Lecture 3: Developing Procedural Thinking (How to think like a programmer) B Burlingame 16 Feb 2016.
#1 Make sense of problems and persevere in solving them How would you describe the problem in your own words? How would you describe what you are trying.
Welcome, ___________Educators! Welcome to another wonderful day with Project GUTS and Code.org!
Welcome to Mario Kart!... Er… EECS 183 Discussion!
AP CSP: Creating Functions & Top-Down Design
Data Collection with Forms For Special Education
Software Development.
Week 9 - Monday CS 113.
= 61 How do I know this is true?
CMSC201 Computer Science I for Majors Lecture 22 – Searching
Principles of Programming I (CIE 105)
Focus Whole Number Computation Strategies for Computing
UNIT 3 – LESSON 5 Creating Functions.
Question Answer Relationships
Teaching design techniques to design efficient solutions to problems
Introduction to Programmng in Python
PowerSchool for Parents
Looping and Random Numbers
Computational Thinking in the Classroom
Adding Assignments and Learning Units to Your TSS Course
Incrementing ITP © Ron Poet Lecture 8.
Coding and More: Creating a Student-Centered Classroom with Technology
Yenka Portfolio Level for this topic: Student Name : My Levels
COMPREHENSION Tool Kit K-3 1 1
Building Community within the Mathematics Classroom
Cracking the Coding Interview
Learning to Program in Python
Creativity in Algorithms
Introduction to Computer Programming
The procedure.
Objective of This Course
CS 139 – Programming Fundamentals
Lesson 16: Functions with Return Values
Language Basics.
Common Core State Standards Standards for Mathematical Practice
Lesson 1: Fundamentals of Programming
UNIT 3 CHAPTER 1 LESSON 4 Using Simple Commands.
Looping and Random Numbers
Computational Thinking for KS3
Coding Concepts (Basics)
Algorithm Discovery and Design
SCIENCE ON FRIDAYS.
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Connecting with Challenge
Marzano Vocabulary Instruction Follow-Up
Using Decision Structures
Computational Thinking
Last Class We Covered Recursion Stacks Parts of a recursive function:
STEM Day Sioux City, Iowa
TEL-W16 Final Project Presentation Teaching Logics/Algorithms
Google Apps and a little Bit of eCLASS
Software Development Techniques
Digital Literacies for learning
What is Reading Recovery?
Constructing a Test We now know what makes a good question:
Presentation transcript:

Computational Thinking in Learning The human code: Computational Thinking in Learning

Pam Carr Assistant Principal, Seacoast School of Technology Teaching Lecturer, Plymouth State University Classroom teacher for 22 years – high school computer science, middle school computer technology, high school business BS Marketing, MS Business Education, CAGS Educational Leadership

Earn Grad Credit for This Workshop Earn 3 graduate credits for attending CMTC http://lmseti.plymouthcreate.net/LMS/about/home/cmtc/ Register by Jan 15: http://lmseti.plymouthcreate.net/LMS/wp-content/uploads/2017/07/CE-5560-CMTC-Literacies-Registration-PSU.pdf Final artifacts due March 9 Contact: Pam Harland pcharland@plymouth.edu Twitter @pamlibrarian Create a variety of artifacts based on your learning at CMTC and hand them into our online Moodle. Final projects will be due 3/9. This would be a great opportunity for you to apply what you learned into your current practice and then earn graduate credit for it. You will have the opportunity to work alone or in small groups sharing ideas and discussing tools and strategies. There will be a section of the class dedicated to coding/digital tools/new library standards. You can choose one section and create one project. Group projects are welcome.

What is computational thinking? Using a set of techniques and approaches to help solve problems.

Four Cornerstones of Computational Thinking Decomposition – break a problem down into smaller pieces Pattern recognition – finding similarities between things Abstraction - Pulling out specific differences to make one solution work for multiple problems Algorithm design - A list of steps that you can follow to finish a task These four corner stones are also key elements in programming. Good programmers can break down a problem into smaller pieces and develop a plan for the code they would write to solve the problem. Programmers find similarities between things and patterns in order to make sense of data, when you know to look for patterns you can also use a program to analyze data. Abstraction is when you pull out specific differences to make on solution work for multiple problems (in programming we create functions that can be used over and over again in different programs). Algorithm design is the ability to create a list of steps to follow (writing code).

Other Important Concepts Data – variables, types of data, databases Query – search, conditional, Boolean Iterations – loops, recursion Decision making – branching, conditional statements These concepts are not “Computational Thinking” but when students are familiar with them, it can help them understand programming more efficiently. In programming, when the word data is used it can mean multiple things. The most common uses for data are data types (is the data a string, an integer, or a floating point number…etc or it references the a variable, or a database filled with data). One mistake students have a hard time understanding when writing code (or creating spreadsheets) is that you can input a number and it could be recognized as a character NOT a numeric value which would make it unable to be a part of a calculation. So in a program, unless I tell my program that 10 is a number it will think it is just the characters 1 and 0 without any numeric value. I would not be able to use that to determine, say, my weekly paycheck at Market Basket where I make $10 per hour. Query is how we search for things, Boolean allows us to refine our search by adding things like AND & OR, Iterations are loops or things that are repeated. For instance, in a computer program I might have to use a loop to collect information a certain number of times…like collecting the first name and last name of each of my students in class. A loop will allow me to continue to collect the information until there is no more information to collect. Decision making or branching, or conditional statements allow programs to check a condition and then do something with that information. For instance if you answer yes, do this, these are generally housed in IF Statements in a program.

It’s not as complicated as you might think… So much of what we do in any classroom contains good practices in computational thinking. We ask students to break down problems, look for patterns, look for differences all the time.

Look at what you already do… Most people already do many of these things in the classroom Focus on the computational thinking by shifting your assessment of the activity Come up with some comments/feedback that value computational thinking Help students make connections to computational thinking through the activity and the directions you give for the activity. Use the terminology with your students Teach your students the terminology when appropriate – it might not be appropriate or helpful to talk about what the word algorithm means during your Shakespeare unit but you might have your students write directions on how to write a proper Shakespearean Sonnet to demonstrate their understanding of the poem style. When using these concepts make sure you are giving specific feedback that relates to computational thinking. Your directions on how to write a proper sonnet were easy to understand and complete. If I had never written a sonnet before I would be able to write a basic one with these directions. Make the connection for the students. Today we are going to start a project, but before we begin we will break it down into smaller parts together. Why is it important to break problems down in to smaller parts before beginning?

You don’t need computers to develop computational thinking Computational thinking isn’t just for programmers and you don’t even need a computer to create activities that promote computational thinking! One of my favorites is the classic “how to make a peanut butter and jelly sandwich” When students go through the process of writing directions for a peanut butter and jelly sandwich they actually could use all four cornerstones of computational thinking – decomposition – break it down into smaller parts – gathering ingredients/materials, making sandwich, serving sandwich, Pattern recognition – often when I use a butter knife I use it to spread things, when I make food I like to put it on a plate. Abstraction – when you use bread there are usually different types to choose from – I could create a function that asks the user what type of bread they want for their sandwich and the algorithm is when they actually write the directions.

Some of my favorites Legos - Mad Glibs – abstraction Move it Move it – algorithims Logic puzzles

But sometimes you will use a computer Online logic puzzles like this one: https://www.mathsisfun.com/games/towerofhanoi.html Use electronic planning tools with your students – like Mindomo, Storyboardthat, or Gliffy Use the CODE.org site and have students explore activities that interest them. Explore coding with beginner programming languages like Scratch (drag and drop) and Python

Failure is learning Allow students to grow from failure – I like to show this video to students and then discuss why it is such an exciting video.

Additional Resources https://code.org/curriculum/unplugged http://csunplugged.org/ https://computationalthinkingcourse.withgoogle.com/unit https://scratch.mit.edu/ https://www.python.org/

Contact Me Pam Carr pcarr@sau16.org Twitter @pammcarr