Imagine Magazine - Johns Hopkins - May/June 2013 - (Page 10)

Getting Started with by brian C. dean, Phd Computational Problem solving A s I am writing this article, my staff and I are making final preparations for the 2013 U.S. Open programming contest, the last of several programming contests hosted throughout the academic year by the USA Computing Olympiad. One of several major Olympiads within the USA, the USACO supports talented precollege computing students by providing online instructional materials and programming contests, and by hosting a summer training camp for top computing students in the country. In recent years, I have seen hundreds of dedicated students work their way up through our program from outright beginners to true international superstars who have gone on to attend top universities, publish groundbreaking research, and start successful companies. If I am lucky, they also volunteer their time and energy to help the USACO educate the next generation of computer science leaders. Unfortunately, the number of students participating in computing activities across the U.S., such as those organized by the USACO, is still alarmingly small. This may seem somewhat surprising, especially considering that demand for computing talent is soaring: smart phones and mobile devices have now made computing an integral part of our daily lives, and broad trends toward “big data” analysis in science and industry are creating a crucial need for computing expertise in nearly every other discipline. But if computing is in such high demand, why aren’t more precollege students interested in programming and computational problem solving? building blocks I believe the problem is not a lack of interest, but a lack of resources and guidance. The big hurdle seems to be in the very first step: learning to program in the first place. It is widely acknowledged that K–12 computing education in the U.S. is in a somewhat deplorable state. And modern computers themselves often do not lend themselves well to tinkering and programming. In the past, one actually needed some familiarity with programming to even use computers, but now computing devices are more user-friendly and consumer-oriented, making it harder to “see under the hood.” The Internet, on the other hand, contains an overwhelming amount of information one can use for learning about computers, but without proper guidance, it can be hard to identify the best information. Fortunately, in the past few years, many options have become available to help students—even those starting from a blank slate—achieve 10 imagine programming proficiency. The most notable are probably graphical “block-based” programming environments such as Scratch (scratch. mit.edu), which allows you to write surprisingly elaborate programs by dragging differently shaped blocks together. Blocks only fit together in valid configurations, so accidental syntax errors are a thing of the past (for example, forgetting a semicolon or a bracket somewhere), removing one of the primary frustrations experienced by novice coders. Block-based programming is so simple that even young students can easily grasp the concept; with little or no instruction and zero programming background, they can often write meaningful code within minutes. A similar block-based programming environment called App Inventor (appinventor.mit.edu) lets you write simple apps for your Android cell phone, all with zero programming background and minimal effort. Many other free online tools exist that can help one learn to program. Popular environments like Alice (alice.org) and Kodu (fuse.microsoft. com/projects/kodu) allow students to easily write code that produces 3D interactive animations and video games. Khan Academy (khanacademy. org/cs), well known for its rich set of instructional videos across many subject areas, has a growing collection of excellent interactive tutorials that help you learn programming, with fun projects mostly involving interactive graphics. New languages such as Processing (processing.org) make it very simple to generate amazing graphical art and embed it in web pages. may/Jun 2013 http://scratch.mit.edu http://scratch.mit.edu http://appinventor.mit.edu http://fuse.microsoft.com/projects/kodu http://www.alice.org http://fuse.microsoft.com/projects/kodu http://khanacademy.org/cs http://khanacademy.org/cs http://www.processing.org

Table of Contents for the Digital Edition of Imagine Magazine - Johns Hopkins - May/June 2013

Imagine Magazine - Johns Hopkins - May/June 2013
Contents
Big Picture
In My Own Words
Code Me In
Getting Started With Computational Problem Solving
Coding for Gold
The Computer Science Connection
Magical & Practical
The Creative, Collaborative Universe of Minecraft
Going Mobile
Connecting Students and Cultures Through Technology
Selected Opportunities & Resources
Words With Friends
Off the Shelf
Word Wise
Exploring Career Options
One Step Ahead
Planning Ahead for College
Students Review
Creative Minds Imagine
Mark Your Calendar
Knossos Games

Imagine Magazine - Johns Hopkins - May/June 2013

https://www.nxtbook.com/mercury/imagine/20160506_LTB
https://www.nxtbook.com/mercury/imagine/20160304_CTW
https://www.nxtbook.com/mercury/imagine/20160102_JHB
https://www.nxtbook.com/mercury/imagine/20151112_DSS
https://www.nxtbook.com/mercury/imagine/20150910_RUR
https://www.nxtbook.com/mercury/imagine/20150506_WSH
https://www.nxtbook.com/mercury/imagine/20150304_TGB
https://www.nxtbook.com/mercury/imagine/20150102_IDS
https://www.nxtbook.com/mercury/imagine/20141112_ASE
https://www.nxtbook.com/mercury/imagine/20140910_PBD
https://www.nxtbook.com/mercury/imagine/20140506_BDA
https://www.nxtbook.com/mercury/imagine/20140304_SHD
https://www.nxtbook.com/mercury/imagine/20140102_JUS
https://www.nxtbook.com/mercury/imagine/20131112_MX5
https://www.nxtbook.com/mercury/imagine/20120910_CTD
https://www.nxtbook.com/nxtbooks/imagine/20130910_AFN
https://www.nxtbook.com/nxtbooks/imagine/20130506_PLQ
https://www.nxtbook.com/nxtbooks/imagine/20130304_TRB
https://www.nxtbook.com/nxtbooks/imagine/20130102_GME
https://www.nxtbook.com/nxtbooks/imagine/20121112_LRH
https://www.nxtbook.com/nxtbooks/imagine/20120910_YBS
https://www.nxtbook.com/nxtbooks/imagine/20120506_B2H
https://www.nxtbook.com/nxtbooks/imagine/20120304_P3A
https://www.nxtbook.com/nxtbooks/imagine/20120102_FMS
https://www.nxtbook.com/nxtbooks/imagine/20111112_TAML
https://www.nxtbook.com/nxtbooks/imagine/20110910_ATSP
https://www.nxtbook.com/nxtbooks/imagine/20110506_DMI
https://www.nxtbook.com/nxtbooks/imagine/20110304_MIV
https://www.nxtbook.com/nxtbooks/imagine/20110102_JFH
https://www.nxtbook.com/nxtbooks/imagine/20101112IMJHND
https://www.nxtbook.com/nxtbooks/imagine/20100910QTVS1
https://www.nxtbook.com/nxtbooks/imagine/20100506_INH
https://www.nxtbook.com/nxtbooks/imagine/20100304_SFF
https://www.nxtbook.com/nxtbooks/imagine/20090102_v2
https://www.nxtbookmedia.com