Showing posts with label computational thinking. Show all posts
Showing posts with label computational thinking. Show all posts

What programming language should I use/learn?

I get asked often, "Which programming language should I start with?" or "I teach _______ which language would be the best for my classroom?" My goal is not to promote one language but show you the benefits of each of the more popular choices out there and let you make your own decision. There really is no one "best" language, just the best language for what you are interested in doing.

As always I promote technology that:

  1. Enhances or encourages learning. Programming is one great way to implement Computational Thinking into your class.
  2. The software is free and open source.

Disclaimer: These are intended to be a summary. They are presented in no particular order.

Python

Free? FOSS (Free as in zero cost and open source)
Requires an installation? Yes but there are web based options like sage math notebook. Python comes preinstalled on Mac and Linux.
Strengths: 
  • The syntax is very high level so you and your students can take your ideas and very quickly turn them into code. 
  • Python is interpreted so as soon as you press enter or run the code you can see the results. 
  • It has a large number of modules and support for graphics (e.g. VPython), physics, math, language parsing and more.
  • Great for prototyping, web, data mining/processing, and almost anything!
Recommended Tutorials:
    Codingbat


Javascript

Free? FOSS
Requires an installation? No
Strengths:
  • Coupled with HTML5 and CSS allows you to add a lot of power and interactivity to your web pages and applications.
  • Gives you to access web APIs (directory of available APIs) and use other services.
FYI: Javascript fails silently (meaning if there is a bug, it just won't work the way you intended, there won't be an error message) so use lots of debugging techniques and logs to debug. This is far easier than it may sound and is useful to learn regardless of what language you are using.
Recommended Tutorial:


Processing

Free? FOSS
Requires an installation? Yes
Strengths:
  • Designed to be very easy to make something visual, beautiful and/or interactive.
  • With both Processing and Arduino, it provides an introduction to C++ that is less intimidating.
Recommended Tutorials:
    Examples in the Processing software (Select File and then Examples)


Arduino

Free? 
  • Hardware: No but Open Source (Sparkfun, Adafruit, and Radio Shack are trusted suppliers)
  • Software:  FOSS
Requires an installation? Yes
Strengths:
  • Works with off the shelf parts (e.g. motors, LEDs) to cheaply and easily build projects that sense, move, light up, etc.
  • Many "shields" are available to easily add functionality like Bluetooth, Wifi, audio, etc.
  • Hardware is relatively inexpensive (~$20-30)
  • Interfaces easily with Processing to add interactivity and data visualization.
Recommended Tutorials:
    Examples in the Arduino software (Select File and then Examples)
    Sparkfun Education

Subscribe and follow Phil for more on education and technology.

#CompThinkChat on Twitter - Join the discussion

Computational Thinking is showing up in discussions and talks everywhere I look. The Next Generation Science Standards reference them and the skills are implied in the Common Core.

A few days ago, I saw this tweet from @Kevin_Krenz:


and knew that this would be a perfect way to bring the community together to discuss and share experiences with Computational Thinking. Kevin put this planning document together and #CompThinkChat was born.

The first chat is Wednesday Aug 8th at 7pm CST (5pm PST/8pm EST) and continuing every other week. This may not be the best time for everyone who wants to be involved so add your suggested times to the planning doc and let's see what works out in the long run.

If this is your first Twitter chat, here's the steps to get started:

  1. Sign up for Twitter.
  2. Sign in during the scheduled chat time.
  3. If you are using the Twitter homepage search for #CompThinkChat in the upper right corner. This filters out all tweets except those relevant to the chat.
  4. Chat! Share your thoughts, questions, link, etc. Note: Make sure you add #CompThinkChat to your Tweets so everyone else can see them.
There are many ways to access Twitter, especially on your mobile device. I personally use Silver Bird for Chrome and Seesmic on Android but do a search and try a few out to see what works best for you.

If you miss out on a chat, they will be archived in the Exploring Computational Thinking General Forum.


Here's the document of Computational Thinking Resources I share in my presentations about Computational Thinking. All are invited to join the chat whether you have been using Computational Thinking since Papert, Wing, or if this is the first time you have heard about it. It'll be exciting to hear the community's thoughts on the implications and possibilities and I hope you will join us!

TED Videos with Computational Thinking

Cross posted on the Exploring Computational Thinking Forum:

A colleague of mine wanted to understand more about one of the projects I am working on at Google. He is an Artist and felt that Computational Thinking was something he used everyday but still a little unsure. I decided to send him a bunch of TED videos showing how much we use and rely upon Computational Thinking everyday.

When I began to look through the TED Videos, I was amazed at how many of them relate to computational thinking in some way or another and that is why these videos amaze us. TED videos showcase people doing extraordinary things and seeing the possibilities when we look at the big picture.

See if you can find the 4 aspects of Computational Thinking in each video:

  1. Decomposition - Breaking down the data
  2. Finding the patterns in the data
  3. Generalizing your findings and discovering the big idea
  4. Turning them into a set of instructions that others can reproduce

Whether you are an artist, scientist, Engineer at Google, or student, Computational Thinking is present and makes possible the world we see. I hope these videos are equally useful to you in explaining to others what Computational Thinking is:

How Algorithms Shape Our World - If you thought Algorithms were only used by computer scientists, think again.

The Best Stats You've Ever Seen - Hans Rosling shows how big data and patterns can tell humanity's story. Al Gore did something similar with big data to show humanity's impact upon the planet.

Making a Car for the Blind - You may have heard of Google's Autonomous Car but what about a car that allows the blind to drive?

Synthetic Life - Craig Venter started the human genome project and they used that information to make the ultimate algorithm, a synthetic cell

What We Learned from 5 Million Books - Hilarious as well as inspiring as we see what happens when we start looking for patterns in our books. This is the power behind Google Translate.

Nature in Architecture - Many of our most useful innovations have come from emulating nature.

Teaching Kids Real Math with Computers - In this viral video, Conrad Wolfram says that math > calculation and with Computational Thinking we can teach students far more than we ever thought.

Computing a Theory of Everything - Stephen Wolfram, shows how knowledge is related and can be used to better understand the universe.

The End of Theory - Not a video, but a revealing article about why students need to learn how to work with data and statistical analysis.


Connect with BrokenAirplane to stay up to date with all of the latest in Education and Technology

Computer-Based Math Education Summit

Conrad Wolfram's TED Talk brought world wide attention to the growing frustration towards skill based math curriculum. We have technology that can do calculation far faster and more accurately than we can and yet we are still teaching students as if the best tools we had were paper and pencil.

There are big questions out there and to solve them, we need students who are able to understand what tools they have at their disposal. For those who are shocked that much of their curriculum would be removed, Wolfram's talk reminded us that math != calculating (programming syntax for not equal to) but that math > calculating (greater than).

I once gave a professional development where I asked teachers, what would you do if all of your students magically knew how to do everything in a math textbook. Some teachers expressed silence while others fear that they would be irrelevant. Far from it! If we can restart our thinking with the premise that calculating is a tool we use to do math, then if we can teach computers to do the calculations we can focus on those attributes of math that human excel at. Teachers can give students the tools to DO math and science instead of just watching others and hearing how they will use it "one day" or in the "real world".

The Computer-Based Math Education Summit (Nov 10-11) will give this movement resources and further guidance towards the goal of transforming math education for the modern age. Humans previously had no choice but to have math dominated by calculation but this does not have to be the case any more.

During the 2 day summit in London, attendees will hear from a wide variety of speakers on how math is greater than calculation and how we can use the tools we have available right now to provide amazing learning opportunities for our students today!

Notable speakers include:
We are learning so much, so quickly that students are forced to learn much too quickly in college how to use these tools and thought processes just to understand their intended disciplines. We as K-12 educators can help by starting with our students now rather than waiting until they get to the university. Google's Computational Thinking Lessons are one way you can start using technology for more than just calculating and after this summit, I am sure we will have even more resources for reforming our math curriculum.

Paradigm shifts are always frustrating and it is completely normal to be afraid of the unknown. Use that energy to create and innovate. We don't have to let the benefits of technology be limited to smartphones and video games. Let's raise the bar for what math education looks like!

I have heard of quite a few educators who are making the trip to the summit. Be sure to share with us when you get back what you saw, heard, and discussed.

Connect with BrokenAirplane to stay up to date on the exciting things happening in math and education.

Follow my microblogging on Google+

Computational Thinking Presentation with The Global Physics Department

I had the opportunity to speak with the Global Physics Department yesterday regarding my work with Computational Thinking at Google. It was a wonderful opportunity to speak with Physics teachers I have known and respected for years and some who I am just now connecting with.

If you would like to see the conversation or learn a bit about what Computational Thinking is, you can watch the recording, and follow along with the Computational Thinking Presentation.

The gathering of innovative educators is so exciting and refreshing. If you are looking to connect, continue your learning, and deepen your pedagogy then you owe it to yourself to meet with these educators at the meetings or connect with them through Twitter and Google+.

If you have any questions about the presentation, please feel free to contact me directly through the contact information found in the presentation. I would also encourage you to connect through the Computational Thinking Forum, a place where this growing community can meet and discuss ways of implementing Computational Thinking into their curriculum and to share ways that they already are. If you or your colleagues would be interested in hearing more about Computational Thinking, please feel free to connect with me and we can set something up.

I am grateful to the community of educators that creates and innovates, I learn so much from you everyday and I am so glad I am able to call you my colleagues and friends.

Connect with BrokenAirplane and stay up to date with the best resources in education.

Follow my microblogging on Google+