I teamed with author Majed Marji (Learn to Program with Scratch) to write a fantastic new book from No Starch Press... Learn to Program with Small Basic: An Introduction to Programming with Games, Art, Science, and Math.
It's written to about a 13-year old audience, but kids can start reading it at a younger age, and adults will find it as a great way to ease into text-based computer programming! It's designed so that anybody can read it on their own, but it's packed full of useful problems and challenges to be an asset for teachers and students. That includes the code from all the programs you learn in the book (both incomplete versions, to challenge the students, and the final versions of the code to compare and learn from), as well as both for all the challenges and practice assignments. And it also includes a list of test-like questions and online resources for every chapter as well! And finally, it features a thread of random humor (to keep students on their toes) and some valuable connections into the Small Basic online community engagements.
This book will be released next month, but you can purchase an Early Access version of the Ebook and pre-order a printed book.
An Introduction to Programming with Games, Art, Science, and Math
by Dr. Majed Marji and Ed Price
April 2016, 304 pp.
Small Basic is a free, beginner-friendly programming language created by Microsoft to inspire kids to learn to program. Based on BASIC, which introduced programming to millions of first-time PC owners in the 1970s and 1980s, Small Basic is a modern language that makes coding simple and fun.
Learn to Program with Small Basic brings code to life and introduces you to the empowering world of programming. You'll master the basics with simple activities like displaying messages and drawing colorful pictures, and work your way up to programming playable games! You'll learn how to:
- Store and manipulate data with variables
- Process user input to make interactive programs
- Use if/else statements to make decisions
- Create loops to automate repetitive code
- Break up long programs into bite-sized subroutines
Inside, you'll find hands-on projects that will challenge and inspire you. You'll command a turtle to draw shapes, program magical moving text, solve all kinds of math problems, help a knight slay a fearsome dragon, and more! Each chapter ends with extra practice examples so you can take your programming skills to the next level!
About the Authors
Dr. Majed Marji is a Senior Development Engineer at General Motors. He holds a PhD in Electrical Engineering (Wayne State), an MBA in Strategic Management (Davenport), and he is an adjunct faculty member at Wayne State University in Michigan. He is the author of Learn to Program with Scratch. Majed is currently working on Powertrain, electronic throttle control, and torque safety. He develops, debugs, and tests software using C/C++ and Matlab/Simulink. He has taught engineering communication, microprocessors, algorithms, and control systems at different universities.
Ed Price is a Senior Program Manager in Engineering at Microsoft. He holds an AA in computer art and animation from DigiPen Institute of Technology, a Bachelor of Science in Business Management, an MBA in Technology Management, and has been a professor at Bellevue College. He runs customer feedback programs for Azure Development and Platform services, as well as Visual Studio and Small Basic. His previous Microsoft teams he was an engineer for include Power BI, SQL Server, SharePoint, Hardware (mice, keyboards, webcams), and Microsoft Surface. He holds 5 patent awards for multi-touch designs on Microsoft Surface. For a list of his publications, see Ed Price - Bibliography. Ed has worked with teenagers for volunteer organizations for 13 years, and before Microsoft, he worked at Disneyland for 3 years, worked on videogames for Nintendo, IBM, Jaleco, and Square/Enix, and he ran two animation studios, creating CG cartoons.
Check out the Learn to Program with Small Basic video
Table of Contents
Chapter 1: Introducing Small Basic
Chapter 2: Getting Started
Chapter 3: Drawing Basics
Chapter 4: Using Variables
Chapter 5: Drawing Shapes with Turtle Graphics
Chapter 6: Getting User Input
Chapter 7: Empowering Programs with Math
Chapter 8: Making Decisions with If Statements
Chapter 9: Using Decisions to Make Games
Chapter 10: Solving Problems with Subroutines
Chapter 11: Event-Driven Programming
Chapter 12: Building Graphical User Interfaces
Chapter 13: Repeating For Loops
Chapter 14: Creating Conditional While Loops
Chapter 15: Grouping Data in One-Dimensional Arrays
Chapter 16: Storing Data with Associative Arrays
Chapter 17: Expanding to Higher-Dimension Arrays
Chapter 18: Advanced Text Magic
Chapter 19: Receiving File Input and Output
This has been a fantastic journey that's coming to a close for me. I've had a ton of fun, and I want to thank my co-author Majed Marji and my friends at No Starch Press for going on this journey with us!
Small and Basically yours,
- Ninja Ed