Coding in the Classroom

Book description

Computer science opens more doors for today’s youth than any other discipline – which is why Coding in the Classroom is your key to unlocking students’ future potential. Author Ryan Somma untangles the current state of CS education standards; describes the cognitive, academic, and professional benefits of learning CS; and provides numerous strategies to promote computational thinking and get kids coding!

Whether you’re a teacher, an after-school coach, or a parent seeking accessible ways to boost your kid’s computer savvy, Coding in the Classroom is here to help. With quick-start programming strategies, scaffolded exercises for every grade level, and ideas for designing CS events that promote student achievement, this book is a rock-solid roadmap to CS integration from a wide variety of on-ramps. You’ll learn:

•tips and resources for teaching programming concepts via in-class activities and games, without a computer
•development environments that make coding and sharing web apps a breeze
•lesson plans for the software lifecycle process and techniques for facilitating long-term projects
•ways to craft interdisciplinary units that bridge CS and computational thinking with other content areas

Coding in the Classroom does more than make CS less formidable – it makes it more fun! From learning computational thinking via board games to building their own websites, students are offered a variety of entry points for acquiring the skills they need to succeed in the 21st-century workforce.

Moreover, Somma understands how schools operate – and he’s got your back. You’ll be empowered to advocate for the value of implementing CS across the curriculum, get stakeholder buy-in, and build the supportive, equitable coding community that your school deserves.

Table of contents

  1. Acknowledgments
  2. Introduction
    1. Who This Book Is For
    2. A Generalized Approach to Computer Science
    3. How This Book Is Organized
  3. 1 Making Sense of the Computer Science Standards
    1. Computer Science Standards in K–12 Schools
      1. K–12 Computer Science Framework and K–12 Computer Science Standards
      2. International Society for Technology in Education Standards
      3. Virginia Department of Education Standards
    2. Four Categories of Computer Science Standards
      1. Digital Citizenship
      2. Computer Systems
      3. Computational Thinking
      4. Computational Artifacts
    3. The Importance of Stakeholder Buy-In for Implementing Standards
    4. Summary
  4. 2 The Many Benefits of Computer Science Education
    1. Cognitive Benefits
      1. Problem-Solving
      2. Programming Is Communication
      3. Coding Exercises Working Memory
      4. Coding Exercises Tenacity
    2. Educational Benefits
      1. Code Is a Complex Text Requiring Close Reading
      2. Coding Requires Research and Collaboration
      3. Code Provides Playgrounds for Experimentation
    3. Professional Benefits
      1. Computer Science Makes You More Employable
      2. Coding Makes You a Star
      3. Coding and Computational Thinking Make You Efficient
    4. Summary
  5. 3 Computer Science History
    1. The User Interface
    2. High-Level Code
    3. Low-Level Code
      1. Assembly Language
      2. Machine Code
    4. Circuits
    5. Envisioning Thought Machines
    6. Ancient History
    7. Summary
  6. 4 Computational Thinking Gamified and Unplugged
    1. Variables
    2. Control Structures
      1. Boolean Conditions
      2. if-then and else
      3. Loops
    3. Algorithms and Functions
      1. Algorithms
      2. Functions
    4. Bringing It All Together with Game-Based Learning
      1. Refactor Your Gameplay
      2. Modeling with Games
    5. Summary
  7. 5 Diving into Web Development
    1. Developing in the Web Browser
      1. Document Object Model Inspector
      2. The Console
    2. Summary
  8. 6 Intentional Development Environments
    1. Online Code Playgrounds
      1. User Interface Features
      2. Simplicity
      3. Collaboration and Portability Features
      4. Licensing
      5. Software Frameworks
    2. Local Development
    3. Summary
  9. 7 Scaffolded Code Exercises
    1. Evaluating Algorithms
      1. for Loop
      2. Recursion
      3. Array Manipulation
    2. Enhancing Algorithms
    3. Adding an Interface
    4. Summary
  10. 8 Self-Directed Project-Based Learning
    1. Explorable Explanations
      1. Explorable vs. Demonstrative vs. Drilling
      2. A Driving Question
    2. Project-Based Learning and the Software Development Life Cycle
    3. Requirements
    4. Design and Development
    5. Quality Assurance
    6. Deployment
    7. Summary
  11. 9 Coaching Your Coders
    1. Technical Challenges
      1. Troubleshooting Existing Code
      2. Finding How to Solve a Problem
      3. Online Forums
    2. Personal Challenges
      1. Difficulty Staying Focused
      2. Complexity Challenges
      3. Resource Challenges
      4. Imposter Syndrome
    3. Cultivate Healthy Metacognition
      1. Growth Mind-Set
      2. Resilience
      3. A Sense of Wonder
    4. Summary
  12. 10 Networking a Coding Community
    1. Your Computer Science Community
      1. Classroom Meetings
      2. Pair Programming
      3. Online Forums
    2. Your Schoolwide Community
      1. Student Privacy Is Paramount
      2. Acceptable Use Policy
      3. School IT Infrastructure
      4. Technology Strategic Plan
      5. Metrics
    3. Your Local Community
      1. Host a Hackathon or Code Camp
      2. Professional Development Services
    4. Summary
  13. Afterword
  14. Index

Product information

  • Title: Coding in the Classroom
  • Author(s): Ryan Somma
  • Release date: October 2020
  • Publisher(s): No Starch Press
  • ISBN: 9781718500341