Each December, Microsoft is proud to partner on a global level with code.org and their Hour of Code program. The Hour of Code is a global movement reaching tens of millions of students in 180+ countries. Anyone, anywhere can organize an Hour of Code event. One-hour tutorials are available in over 45 languages. No experience needed. Ages 4 to 104. Find free tutorials here: https://hourofcode.com/us
To support the Early College STEM Schools and the Computer Science 4 All program, Chicago Public Schools and local nonprofits turn their focus to enhancing STEM and STEAM skills through the Hour of Code (HoC). We’re delighted to share with you a series of guest blogs from leaders at CPS about why Computer Science skills are so important to students for their long term success. Each story is a little different, but all reinforce the positive impact coding and Computer Science skills have on the education process.
— Shelley Stern Grach
When I first heard about the Hour of Code, I wondered what the big deal was: after all, it’s only an hour, and most students who participate won’t be using a programming language that actual adults use—much less actual adults 10 years from now. But that’s because I didn’t understand a fundamental difference, between coding and computer science.
A typical coding problem is this: write a program to sort a list of numbers from smallest to largest. A simple strategy is to go from the top of the list to the bottom, switching adjacent numbers every time they are out of order, and going back through the list repeatedly until no numbers are out of order. Writing code to implement that strategy is a standard exercise for beginning programmers. But that’s where the coding ends—and the computer science begins.
A computer scientist looks at that strategy (they call such strategies “algorithms”) and starts to ask questions. If you want to sort a list with 100 items, what’s the largest number of steps this algorithm could take? (What’s the worst possible list to give this algorithm?) What if the number of items increases to 1,000, or 10,000 — How does that affect the number of steps? If you give the algorithm a randomly-sorted list, what is the average number of steps it will take to sort the list? Are there algorithms that usually take fewer steps? Always? What are some other advantages of this strategy? (One is that it doesn’t take much more memory than is occupied by the actual list; other strategies are faster, but require keeping track of other information and using more memory.)
Digging into questions like these about algorithms is a central discipline of computer science. Others include designing “artificial intelligence” systems to mimic functions of the human brain; inventing ways to process images and graphics; creating robust computer security systems; building structures for storing and retrieving data. But to get into these disciplines requires first understanding what they mean — and that requires coding.
The Hour of Code is important not because students will use that hour of coding to get jobs or program their own games — although some will. It’s important because it ensures that all students have exposure to the language and problems of computer science — how to solve problems efficiently and how to troubleshoot an algorithm that doesn’t seem to be working. At Lake View, all our students do the Hour of Code — but many do four years of computer science classes (two for credit at City Colleges), and thanks to Microsoft and our corporate partners, dozens get internships where they can apply these ideas in real life. Because, for us, the Hour of Code is a crucial doorway — one we want open for all of our students.
PJ Karafiol is the current Interim Principal at Lake View High School.