Robo Teaches Programming Part Zero Preview
Robo Teaches Programming Part Zero Preview
A prelude using Microsoft MakeCode Arcade
About the Book
Update: August 2022
Hi, all! I bet you thought I forgot about this project. Far from it! I really miss working on this book. I have, though, been writing ... about MakeCode Arcade, to boot!
You can learn about a course that I wrote with another author at the MakeCode Arcade home page. Scroll down to the Courses section, and you'll find a new course named Introduction to Computer Science with MakeCode Arcade. The curriculum is available for free on GitHub to verified educators.
The pandemic interrupted my writing schedule, but I'm returning to my personal projects now that we have wrapped up the Microsoft project. This update includes the next chapter on variables and data types. I've also added the raw text for a couple of new appendices taken from posts that I've made in the MakeCode forums. The outline also reflects two new chapters on debugging.
I recently started using the LaTeX typesetting system, and I have fallen in love with it. I will be taking another pause from adding new content to this book while I convert the existing text to LaTeX. As I do so, I'll be writing about my journey and the tools that I use in another book. If you're interested, you can follow my progress here:
https://leanpub.com/latex-tech-pub
That book will be available free of charge on Leanpub. The next preview of this book will be typeset with LaTeX, and the online course should be ready for you to preview, too.
Stay tuned!
-----
About Robo teaches programming
Robo teaches programming is a six-part double-trilogy! We start slowly, introducing you to basic programming concepts with a focus on graphical applications. In the later parts of the series, we introduce you to some more advanced concepts that are fundamental to computer science.
Intended audience
The series is meant to be used in undergraduate college courses, although the books can be used in a high school setting or by anyone else with an interest in programming. Part zero is meant to be used in a CS0-style course; parts one and two for CS1; parts three and four for CS2.
Looking for something geared toward a younger audience? Don't fret: I have something planned for the youngsters, too! Stay tuned.
Titles in the series
- Part zero: A history of video games
- Part zero mark II: Time to type!
- Part one: The basics
- Part two: Beyond the basics and introduction to OOP
- Part three: Advanced OOP
- Part four: Introduction to data structures and algorithms
About this book: Part zero
This volume is the first two parts of the series. In Part zero: A history of video games, we start gently and get our feet wet early in a great environment: Microsoft MakeCode Arcade. We begin by exploring an existing game within the environment. By the end of the first chapter, you've created your first masterpiece! We use the Blocks interface throughout this prelude, yet we learn to create some pretty sophisticated programs. We also stroll through the history of video games throughout the book to give our projects some additional context.
In Part zero mark II: Time to type, we continue to use MakeCode Arcade, but we shift gears and start using the TypeScript language. We begin this part in the series with an orientation to the language, implementing mechanics that we learned in the Blocks environment and translating them into TypeScript. Then, we embark on a journey through three historic games. In each game, we learn what made the game unique, what new programming mechanics were used in the game, and the logic within the game
About the preview
If you purchase preview access to this title, you will receive the following:
- Access to work-in-progress versions of this volume, including both Part zero: A history of video games and Part zero mark II: Time to type, in electronic formats (PDF, MOBI, and EPUB).
- Access to college-level online courses based on Part zero and Part zero mark II (list price: $199.98).
- Access to the final electronic versions and any future revisions of this first edition (list price: $24.95).
- An autographed copy of the first printing of Robo teaches programming part zero: A history of video games in paperback when it is available (list price without autograph: $19.99).
- An autographed copy of the first printing of Robo teaches programming part zero mark II: Time to type in paperback when it is available (list price without autograph: $19.99).
- An autographed copy of the first printing of Robo teaches programming part zero and part zero mark II in full-color hardback when it is available (list price: $99.99).
The autographed, first-print copies are only available to my preview customers in the United States. If you purchase this title after it is released, you will receive the volume in electronic form only. (You will be able to purchase physical forms of the volume separately.) For those of you outside of the United States, feel free to inquire about the availability of the preview goodies in your country.
Book status
The outline of the book is complete, and most of the activities have been created. The first three chapters of Part zero: A history of video games are ready, and the book has been released for preview.
Part zero status
- Introduction: rough edit
- Chapter one: rough edit
- Chapter two: rough edit
- Chapter three: rough edit
- Chapter four: rough edit
- Appendix A: rough edit
- Appendix B: rough edit
- Appendix C: in progress
- Appendix D: rough edit
- Appendix G: rough edit
- Appendix H: in progress
Part zero mark II status
- Introduction: rough edit
- Appendix B: rough edit
- Appendix C: rough edit
- Appendix F: in progress
Book sample
Read a sample of the book right here on Leanpub! Visit the following link:
Go to excerpt of Part zero: A history of video games.
Table of Contents
-
- Notes about this preview edition
-
Part zero: A history of video games
- About the cover
-
Brief contents
- A history of video games
-
Introduction to Part zero
- About the series
- Intended audience
- Titles in the series
- About the book
- Prior knowledge
- Book web site and link codes
-
Hello, world! Introducing MakeCode Arcade
- Learning objectives
- About Microsoft MakeCode
- View a MakeCode Arcade project
- Start MakeCode Arcade
- Your first MakeCode Arcade project
- Working with projects
- Working with hardware
- Sharing your projects
- History of MakeCode Arcade
-
Hello, it’s me! (Or is it I?)—Sprites and your hero character
- Learning objectives
- Additional controls in the MakeCode editor
- Working with tutorials
- Moving around
- Using the image editor
- Screen coordinates
- Placing your character
- Animating your character
- Installing extensions
- Creating a walking animation
- Creating a spinning wheel
- More complex animations
- Making a background
- Animated backgrounds
- Artwork and prototypes
- Additional practice with the image editor
- Answers to review questions
-
Which way did it go? Decisions, conditionals, and basic game physics
- Learning objectives
- Software development life cycle
- Planning a project
- Princess Pizza
- Documentation in Blocks programs
- Bouncing Burger
- Event-driven programming
- Sprite types
- Pong
- Pong simplified
- Velocity
- Adding sound effects
- Determining the game’s end
-
The
on game update
block - Boolean expressions
- Correcting an error
- Acceleration
- Decision structures
- Additional tutorials
- Answers to exercises
-
What’s the score? Variables and data types
- Learning objectives
- Which button?
- Pong part 2: Complete one-player game
- Pong part 3: Complete two-player game
- Introduction to variables
- Creating variables
- Naming conventions
- Variable scope
- Data types in Blocks
- Guess My Number
- Acey Deucey
- Answers to exercises
- Zap! Debugging part 1
-
I’ve made some enemies—Introduction to object-oriented programming
- Visual effects
- Debugging part 2
- Over … and over … and over again—Loops
- Who’s above me? Who’s next to me? Arrays and lists
-
Better than right-click-duplicate—Functions
- Naming convention
- Local variables revisited
-
Fun name :-) - Strings
- Writing text on the screen
-
Fun name :-) - Tile maps and platformers
- Tile maps
- Platformers
- Mazes?
-
What’s your name again? Persisting data
- Session object
- Stranger, danger! Security and privacy
- It’s alive! Artificial intelligence
- Fun name :-) - Searching and sorting
-
Where to now?
- Additional books in the series
- Learn other languages and programming environments
- Other games to try to build in MakeCode Arcade
- Other programming books
- More on the history of video games
-
Appendix - A Blocks style guide
- Project description
- Variable and function naming
- Function description
-
Appendix - Common game structures
- Shoe of cards
- Dice
-
Appendix - Stopwatch in Blocks
- Part I: Basic stopwatch
- Finished code
- Developing the project plan
- Building the project
- Next steps
- Part II: Advanced stopwatch
- Finished code
- Adding to the project plan
- Incorporate changes into code
- Next steps
-
Appendix - Common game mechanics
- Shuffling
-
Appendix - Advanced graphics
- Parallax (sprites with depth)
- Appendix - Multiplayer games
-
Appendix - Vector math
- Revisiting velocity
- Velocity vectors
- Angles
- Review of right triangles
- Trigonomotric functions and right triangles
- Practice with velocity vectors
- Representing π
- Sprite travelling in a random direction
- Another challenge
- Final challenge
-
Appendix - A template for Blocks games
- Splash screen
- Attract mode
- Button handlers
-
Appendix - Additional Blocks games (showcase)
- Additional clones
- Credits and licenses
-
Part zero mark II: Time to type!
- About the cover
- Brief contents
-
Introduction to Part zero mark II
- About the series
- Intended audience
- Titles in the series
- About the book
- Prior knowledge
- Book web site and link codes
-
Hello, World! I’m typing! Introducing JavaScript
- Transitioning from Blocks to JavaScript
- Style guide
-
To grandmother’s house—Revisiting topics from a JavaScript perspective
- SDLC and documentation
- Sprites
- Variables and scope
- Functions
- Return of the Jedi—Object-oriented programming basics
- ‘Round and ‘round we go—Loops and arrays
-
Hold this, will ya? Working with GitHub
- Introduction to agile methods
- Publishing with GitHub
- Our first game
- Our second game
- Our third game
-
Fun title :-) - Advanced graphics and physics
- Parallax (Revisit of Part zero appendix)
- Drawing directly to the screen
- Simulating three dimensions
- Fun title :-) - Searching and sorting
- Fun title :-) - Introduction to data structures and algorithms
-
Where to now?
- Additional books in the series
- Learn other languages and programming environments
- Other games to try to build in MakeCode Arcade
- Other programming books
- More on the history of video games
- Appendix - A TypeScript style guide
-
Appendix - Common game structures
- Shoe of cards
- Dice
-
Appendix - Stopwatch in TypeScript
- Introduction
- Finished code
- Working with the Text Sprite in TypeScript
- Object-oriented design
- Creating the Stopwatch class
- Adding functionality to the Stopwatch class
- Extras
-
Appendix - Common game mechanics
- Shuffling
- Appendix - Lambda and anonymous functions
- Appendix - Filtering and iterating with method calls
- Appendix - A template for JavaScript Games
- Appendix - Additional JavaScript games (showcase)
- Credits and licenses
-
Bonus chapter: Can I be a computer scientist?
- Can I be a computer scientist?
- Do I need to be good at math?
- I really like computers, but I don’t really like programming. Are there other things that I can do?
- Glossary
- Timeline of video games
- Acknowledgements
- About the author
- Colophon
- Link codes
- Bibliography
- Notes
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them