Chapter 17

Ten Do’s and Don’ts for Selecting a Kids Coding Curriculum

Selecting a coding curriculum is a critical task. If you’re a parent who is homeschooling your child, you have quite a few options available for coding curricula. If you’re a parent of a school-faring kiddo, you may not actually select a curriculum, but instead simply try to assist your child in working with whatever material she’s exploring in class.

Coaches and teachers in camps and schools may have some flexibility in selecting a curriculum, especially those working in independent settings. Coaches and teachers instructing for larger public schools, however, may be required to use specific curriculum prescribed by their school districts and state departments of education. This is also true of instructors teaching in online settings. Whatever your circumstances, this chapter can help you find and implement a coding curriculum that is engaging and provides just the right level of difficulty for your young coders!

DO Find the Right Entry Level

So many options are available for coding curricula — so where do you start? Countries including The United Kingdom, Estonia, Australia, France, and others have committed to coding by making it an integral part of their national school curriculum for K-12 students. Most of these countries are developing their own curriculum, getting their students started as young as Kindergarten!

Getting started in elementary grades

In the early grades, many countries focus curricula in two areas: unplugged computational thinking and introductory, tile-based coding.

Unplugged computational thinking addresses the logic of computing using games and role-playing away from the computer. CS Unplugged (http://csunplugged.org), developed in New Zealand, is an outstanding curriculum of unplugged activities you can perform indoors or outdoors, using inexpensive, everyday objects. Topics range from Binary Numbers, to Searching Algorithms, to Error Detection (as shown in Figure 17-1). By focusing on the logic of computation, as opposed to writing code, students build mental models of ideas separate from any particular coding paradigm. Some topics are actually quite complex and are best suited for high schoolers!

image

Figure credit: http://csunplugged.org/error-detection/#Photos

FIGURE 17-1: CS Unplugged provides a free, away-from-computer computational thinking curriculum.

Introductory, tile-based computing is most frequently conducted in Scratch. Scratch has a low floor — meaning it’s easy to step into using it. It’s also a great starter language for many others reasons: it’s free, it’s accessible on and offline, it’s forgiving, and it’s fun! And its many language choices ensure that kids all over the world can find an interface with which they’re familiar. With regard to curriculum, Scratch offers an endless treasure trove of free tutorials and millions of shared, completed programs which serve as examples for new coders. There are also many excellent books, including several in the For Dummies lineup, which provide step-by-step lessons in Scratch. Additionally, the ScratchEd community of educators makes a free (and fabulous!) Scratch starter curriculum, Creative Computing, available at http://scratched.gse.harvard.edu/guide/.

Getting started in the middle grades

In the early grades, many countries focus curricula in two areas: For a broad range of coding curriculum options, Code.org provides multiple, free, online courses rich in content and fantastically fun! Courses begin with CS Fundamentals as young as Kindergarten, and progress through AP Computer Science Principles (see Figure 17-2) for high schoolers. Parents, coding coaches, and educators find these offerings especially appealing for the middle grades, with spillover into upper elementary and early high school. Both tile-based and line-based coding are included, and Code.org’s curriculum makes it easy to move between the two. Fun, modern explanatory videos (many with celebrities and young professionals in the industry), clearly scaffolded concepts, hands-on games, and engaging programming projects make Code.org curriculum offerings ideal for a wide range of levels. Code.org also provides the adult in charge a free, superb management system for assigning topics and tracking learner performance.

image

Figure credit: https://studio.code.org/s/csp2/stage/2/puzzle/3

FIGURE 17-2: Code.org provides outstanding, online curriculum in coding and related CS topics, spanning grades K-12.

Getting started in high school grades

If you’re working with older novices who are just getting started with coding — or extended their knowledge base in new directions — you can’t beat the excellent, free curriculum offerings from CodeHS, as shown in Figure 17-3. Presented through a tidy, easy-to-use online portal, CodeHS presents a wide range of coding courses, addressing many line-based programming languages. Course curricula addresses everything from Python to Java to Virtual Reality, and targets upper middle schoolers and high schoolers. Parents, coding coaches, and educators appreciate the organization of the topics and subtopics in each course, as well as excellent learning management system for tracking learning performance. Simple, explanatory videos, examples, and coding tasks build from easy to very challenging.

image

Figure credit: https://studio.code.org/s/csp2/stage/2/puzzle/3

FIGURE 17-3: Curriculum from CodeHS covers a wide range of languages and themes in multiple free, well-designed, online courses.

tip Most coding curricula are implemented on a laptop (of any type) using a web browser. Few curricula (and coding languages) are available on mobile devices, although an exciting new offering, Swift Playgrounds (https://www.apple.com/everyone-can-code/), is offered for kids of all ages on the iPad. Best of all, Swift Playgrounds (see Figure 17-4) lays the foundation for coders to progress to Swift — a full-tilt professional programming language, developed by Apple, and rooted in Objective-C.

image

Figure credit: https://images.techhive.com/images/article/2016/07/swift-playgrounds-ios10-characters-100671813-orig.png

FIGURE 17-4: Swift playgrounds is an exciting new coding curriculum, available on the iPad.

DON’T Assume Cost Equals Quality

Beyond the free resources outlined in this chapter, numerous other curriculum offerings for computer science instruction come at a cost. You should know, though, that such offerings vary greatly in price and it’s not necessarily the case that more expensive products equate to learning computer science in better, cheaper, or faster ways.

For instance, thousands of free how-to videos on YouTube and other online portals provide CS instruction, showing a variety of languages and other related topics. Some videos are crafted by professionals and teaching institutions. Videos organized into logical collections, accompanied by supporting curriculum, such as those provided free by Khan Academy (https://www.khanacademy.org/computing/computer-science), are especially useful. MIT OpenCourseWare (https://ocw.mit.edu/index.htm) also provides free computer science courses recorded in actual lecture halls at the university. Other free instructional videos are created by enthusiasts who simply want to share their knowledge — and while not always “professional” in their production quality, they can be very useful.

Very reasonably priced courses are also available through providers including Coursera (https://www.coursera.org) and Udemy (https://www.udemy.com). These providers and others present instructional videos and accompanying curriculum for a per-course or monthly fee.

Many universities and private companies also offer coding training or boot camps. For adults, this training is packaged as degree or certificate programs, and for kids, it’s offered as summer camps. While these programs can be excellent, they’re typically quite pricey, so we recommend you conduct substantial research to ensure that the money you spend is truly for quality instructors and instruction.

DO Balance Lessons with Free Exploration

Whatever curriculum you choose (or find your young coder assigned), it’s important to encourage kids to balance guided lessons with free exploration. We’ve observed that our students can be trucking along, doing just great on understanding new concepts, one at a time until asked to combine multiple programming concepts or attempt a messy, not-so-obvious problem. Even as you diligently teach or support a fully fleshed out computer science curriculum, be sure to encourage your coder to go off the beaten path occasionally. As young coders attempt to build complete programs (even very short ones), they sometimes run into roadblocks: misconceptions about how to apply code they do know, as well as missing information about code they don’t yet know. Providing young coders these experiences — and coaching them through them — are soft skills equal in value to the actual coding content of prescriptive lesson plans. Ultimately, your role in helping learners feel supported in applying newly acquired skills in novel contexts is important in building their resilience in programming.

DON’T Instantly Dismiss Teaching Languages

Alice, Scratch, and MicroWorlds EX are teaching languages. Unlike programming languages such as JavaScript, Python, Java, and C++, teaching languages aren’t used in professional programming contexts. Professional coders often dismiss the usefulness of teaching languages as they believe that such languages are too simplistic to build a realistic understanding of coding. However, we feel that meeting new coders where they are in terms of their knowledge base sometimes requires an easier and more welcoming starting point than the professional languages provide. Most significantly, teaching languages have well-crafted companion curricula that have been specifically written to teach new coders how to code. Providing new coders a doable experience in a teaching language may afford the lower floor they need to step into programming. In time, young coders can then continue advancing their skills and step up eventually to a professional programming language.

Another nontraditional option for getting started with programming is an offering called EarSketch (https://earsketch.gatech.edu). Geared towards high school students, EarSketch (see Figure 17-5) invites coders to approach programming through a music-based interface. Coders “compose” programs in Python or JavaScript, but the tasks they perform focus on producing music by constructing beats, manipulating loops, and applying audio effects. The curriculum is free, web-based, and approved by the College Board.

image

FIGURE 17-5: EarSketch teaches coding through music production.

DO Consult CSTA for Guidance

Trying to determine what computer science concepts should be taught, when those concepts should be introduced, and in what sequence is daunting. Fortunately, the Computer Science Teachers Association (CSTA) has done the hard work of figuring out all this for you! CSTA (http://www.csteachers.org) is the nonprofit governing body that promotes and supports computer science education and computer science teachers. You can check out computer science curriculum frameworks, research, advocacy efforts, conference information, and more at the CSTA website. CSTA is a great source you can consult whenever you need an independent, scholarly perspective on supporting computer science education.

DON’T Buy “Coding” Toys for Babies

There are a few great code-themed toys for preschoolers and Kindergartners. Bee-Bot programmable robots and apps such as The Foos are not only fun and instructional, but wonderfully age-appropriate. However, many blog posts and “toy recommenders” would have you believe that coding curriculum must be implemented shortly after birth or else your child will be behind for life. Preposterous! Don’t feel compelled to spend money on coding toys for babies and toddlers — it’s a ruse and a waste of your resources. There’s also some evidence that over-emphasizing technology in lieu of interpersonal interaction — as well as excessive screen time — is counterproductive for children’s development. Reading books, running, playing with blocks, doing puzzles, singing, sorting, imagining, tinkering, and counting are productive, low-cost skill-building activities for children ages one to three. No coding required.

DO Emphasize the Soft Skills

Mathematics, computational thinking, logic, coding, network architecture, software development, hardware, and user interface design are the hard skills of computer science. It’s equally important for your young coder to develop the soft skills of computer science including collaboration, communication, creativity, critical thinking, researching, negotiation, troubleshooting, planning, and persistence. Most curricula emphasize the hard skills and that’s great! But the number one job you can perform as a coding coach, parent, or teacher is supporting soft skill development in your coders. A spillover bonus is that successfully building these skills serves kids well in every other area of their lives!

DON’T Let Kids Get Stuck in a Loop

There’s a story a teacher tells about 3D printing dog tags as a first design project in the classroom. The teacher laments how, after successfully printing the tags, students continue for weeks to perfect their tags, making slight variations, but never learning new skills nor taking risks to design and print something entirely new. It’s easy for all of us to relax into a comfort zone, repeating the skills and processes with which we’re familiar instead of venturing into unknown territory. As an adult guide to your young coder, notice his progression each week, and — if he appears to be stuck in a loop — help him learn a new coding concept to grow his skill set. No one needs 300 dog tags!

DO Present the Bigger Picture

Coding curricula do sound jobs of presenting well-sequenced concepts and practice activities in their respective languages. You can help your coder situate her work but helping her think through ways in which expert coders, and other professionals who code, view the bigger picture of coding and more generally, computer science. How do medical doctors use code? Radiologists are increasingly relying on the combination of human experience and algorithms that look for anomalies in X-ray images to identify cancer. How do pilots use code? Aerospace engineers write code to read sensors and adjust airplane control structures, as well as engine power, for takeoff and landing autopilot algorithms. How does the IRS use code? The IRS uses algorithms that search for the excessive appearance of certain digits in tax returns to flag possible fraud (really! Look up Benford’s Law for more information). The applications of computer science are all around you and your coders. Just look and you’ll find them everywhere!

DON’T Stereotype Coders

There is no singular “coder” profile, although pop culture may have you believe otherwise. Sarah is a Latina who has a school teacher for a mom, and didn’t know what coding was until she entered college. Still, she persisted and became an engineer and engineering educator! During most of Camille’s precollege years, she was one of the few girls programming a computer at home and competing in Saturday morning math contests. But both of her parents had STEM backgrounds (and her grandmother supervised the production of electronics during WWII!), so she felt supported in pursuing her interests.

Coding is not the exclusive domain of any age, ethnicity, background, gender, or orientation. Any interested person can get started in coding and improve his or her skills with time and dedication. No matter what attributes your young coder possesses, you can convey that coding is doable, fun, and worthwhile. As coding is becoming more prevalent in schools and informal education venues, the diversity of its participants will grow and more kids will see people “like themselves” who are passionate about coding. Curricula such as AP Computer Science Principles were specifically crafted to encourage a generation of coders that is inclusive of everyone. Enlist as many people as you can to create a diverse infrastructure to support and encourage the kids you teach and mentor. (There’s some evidence that a child’s peer group is the most influential factor in sustaining his or her growth in STEM so seek out ways to get your child’s friends involved in coding, too!) Ultimately, you can help the young coder in your life by reinforcing diversity and championing the belief in “Coding for All!”

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.54.6