[Rod Stephens Books]
Index Books Python Examples About Rod Contact
[Mastodon] [Bluesky] [Facebook]
[Build Your Own Python Action Arcade!]

[Build Your Own Ray Tracer With Python]

[Beginning Database Design Solutions, Second Edition]

[Beginning Software Engineering, Second Edition]

[Essential Algorithms, Second Edition]

[The Modern C# Challenge]

[WPF 3d, Three-Dimensional Graphics with WPF and C#]

[The C# Helper Top 100]

[Interview Puzzles Dissected]

Title: Free Books! Drawing for copies of my self-published books.

[I'm giving away free copies of these books]

Self-publishing a book has many pros and cons.

Pros

  • You set your own schedule.
  • It's a lot of fun!
  • You can write about whatever you like without a publisher telling you it won't sell.

Cons

  • You set your own schedule so it's easy to let the schedule slip.
  • You don't have other people like various editors to help improve your work.
  • It's a ton of work because you have to do everything: writing, editing, proof reading, layout, cover design, etc.
  • You don't have a publisher telling you what topics will sell.
One of the biggest disadvantages is you don't have access to a publisher's marketing department.😔


The Drawing

The long and short of it is that I need more reviews so I'm giving away 10 copies of my self-published books from among these titles. (that is, 10 total copies, not 10 of each.) There are only two rules:

  1. You agree to post a review of the book you receive
  2. You agree to pay postage and handling

If you would like to be entered to win a free book, simply send your name, email address, and titles of the book(s) you would like to WriterRod@gmail.com. You can enter to win more than one book, although I will make sure everyone gets a book before anyone gets a second.

Entries must be received by the end of the year 12:00 midnight GMT the morning of January 1.

I will pick winners in early January and, if you are selected, I will email you. Below are descriptions of these four books.


[My book Build Your Own Python Action Arcade!]

Build Your Own Python Action Arcade!

Learn Python while writing a fun arcade-style video game!

Note that this is a beginner's books. If you have any Python experience, you may find the Blasteroids game fun to build, but you may also find the book moves pretty slowly, particularly the first part which covers Python basics. In fact, you may want to just skip that part.

Learn Python the exciting way—by building a complete, fast-paced, arcade-style video game from scratch. Step-by-step, you’ll master the fundamentals of Python programming while creating spaceships, lasers, explosions, power-ups, and all the other classic elements of retro gaming fun.

Along the way, you’ll discover how to:

  • Program in Python using Python’s most important features
  • Draw graphics, animate sprites, and manage game loops
  • Handle collisions, movement, and mouse and keyboard input
  • Organize code with classes, modules, and reusable functions
  • Add sound, scoring, and special effects to polish your game
By the end, you won’t just understand Python—you’ll have your very own working game to show off (and play). Whether you’re a total beginner or a coder looking for a hands-on project, this book makes learning Python as fun as blasting asteroids.


Build Your Own Ray Tracer In Python

What did the movies Cars, Cloudy with a Chance of Meatballs, The Matrix Reloaded, The Matrix Revolutions, Monsters University, Star Wars: Episode II - Attack of the Clones, The Day After Tomorrow, Poseidon, Avatar, Avatar: Frontiers of Pandora, Gravity, Tron, Tron: Legacy, The Hobbit Trilogy, and Pacific Rim have in common? Yes, they all made dump truck loads of money (more than $100 million each), but they also all used ray tracing! (Of course, you probably guessed that, given the title of this book. I can tell you're smart that way.)

If you've ever wondered how ray tracing works, then this book is for you! This book will help you:

  • Understand what ray tracing is and generally how it works.
  • See how ray tracing handles reflections, shadows, transparent materials, focus blur, ambient occlusion, and more.
  • Start with simple classes and follow step-by-step instructions to incrementally provide more advanced features.
  • Practice your Python skills on a fun and challenging task.
  • Build your own ray tracer in Python!
When you're done, you'll not only have a working ray tracer, you'll also have a good understanding of how ray tracing works so you can take full advantage of off-the-shelf ray tracing programs should you decide to use them.

Your ray tracer starts off simple. Over time you'll gradually make small modifications that produce surprisingly big enhancements to your program. When you're finished, you'll have a powerful ray tracer that will let you build amazing scenes (although I admit, they won't be quite as amazing as those used in movies like The Hobbit Trilogy).

There's nothing like the incredible sense of accomplishment you'll feel when you dump a bunch of numbers into your program and have a beautiful artistic image pop out!

See it on Amazon

See sample pictures and code downloads


Interview Puzzles Dissected

Solving and Understanding Interview Puzzles

Job Candidates and Puzzle Enthusiasts:

Whether you’re applying for a programming job or a position on Wall Street, interview puzzles are the norm at many high–tech companies. This book explains how to solve more than 200 of the hardest and most common interview puzzles in use. Interview Puzzles Dissected:

  • Shows how to solve more than 200 challenging interview puzzles
  • Reveals underlying techniques that let you solve problems that you haven’t seen before
  • Tells how you can show the interviewer that you can think in an organized fashion
  • Explains how to get “partial credit” when all else fails and you just can’t solve a puzzle
  • Includes programming challenges to give you a deeper understanding of puzzles (obviously only if you’re a programmer)
Interviewers:

When used incorrectly an interview puzzle tells you little more than whether the job candidate has seen the puzzle before. This book explains new techniques that you can use to get a better understanding of the candidate’s capabilities and answer that all–important question, “Is this someone my team can work with effectively?” Interview Puzzles Dissected:

  • Tells how to discover the ways that a candidate analyzes and solves complex problems
  • Describes variations and follow–up questions that you can use to see if the candidate truly understands a puzzle and hasn’t simply seen it before + Explains techniques for creating new, challenging puzzles
  • Shows how you can solve puzzles together to further understand a candidate’s thought processes and to decide whether the candidate can work in a group
Interview Puzzles Dissected not only shows you how to solve the puzzles, it explains why the solutions work. It exposes the underlying principles that you can use to solve similar puzzles and to invent new puzzles and variations of your own. This book will give you the tools you need to get the most out of interviews both as an interviewer and as a job candidate.

See it on Amazon


WPF3d

Three-Dimensional Graphics with WPF and C#

Note that this is not a Python book. It uses C# and WPF, so you may not want to get it if you're not using C#.

The pictures are pretty cool, though, so you might want to take a look at the sample gallery.

This easy-to-read guide provides everything you need to know to get started writing striking 3D graphics programming with WPF and C#. The book’s three parts describe 3D basics, building many different shapes, and advanced topics. Specific topics include:

  • The lights, cameras, materials, texture coordinates, and other details that you need to create a 3D scene
  • Orthographic, perspective, and other projections that emphasize different aspects of a scene
  • Special material treatments such as specular reflection, wireframes, and solid and translucent materials
  • Examples of many shapes including flat polygons, boxes, Platonic solids, spheres, tori, cones, and more
  • Advanced objects such as parametric surfaces, surfaces of transformation, fractal surfaces, and 2D and 3D text
  • Higher-level scene management to let users select and move objects
  • Advanced techniques such as loading models created in other applications and using skeletons

See it on Amazon

Download the source code


So if you want a free book, email me today at WriterRod@gmail.com! (I know from previous experience that it's likely that only a few people will respond, so your chances of winning are pretty good!)
© 2025 Rocky Mountain Computer Consulting, Inc. All rights reserved.