PicoGK.org/coding for engineers

| Chapter | Title | Summary |
|---|---|---|
| 0 | Preamble: My story | How I learned coding more than 40 years ago, why it’s harder today, and the problem with “easy” programming languages. |
| 1 | Foreword | Why another course that teaches C# |
| 2 | Fundamentals | Turing machines, data, instructions, and how everything is an object in C# |
| 3 | Running Code | Hello World |
| 4 | Classes | Object oriented programming, class definitions, constructors, namespaces, and how we hide information. |
| 5 | Inheritance | Building class hierarchies, using polymorphism, abstract classes |
| 6 | Interfaces | How interfaces are a lightweight alternative to abstract base classes |
| 7 | Design an aircraft in an afternoon | How to think about a complex object in a software paradigm |
| 8 | First steps in PicoGK | The power of voxels, using lattices, and why boolean operations are important |
| 9 | Let’s build a computational fixture maker (Part 1) | Putting our knowledge to a test, using PicoGK to automate the design of fixtures |
| 10 | Let’s build a computational fixture maker (Part 2) | Rethinking our approach to generating fixtures, abstracting progress reporting |
| 11 | Let’s build a computational fixture maker (Part 3) | Nesting classes, drilling holes. |
| 12 | Let’s build a computational fixture maker (Part 4) | New elegant voxel math, wrapping up the fixture maker |
| 13 | Computational geometry (Part 1) | Creating pipes from lattices, and diving into reference frames and matrix math |
| 14 | Computational geometry (Part 2) | Building a simple pressure vessel, painting with lattices, creating a 3D volume from an image |
| 15 | Computational geometry (Part 3) | Building meshes, understanding face orientation, using arrays, setter and getter functions, matrix transformations with vertices |
| 16 | Computational geometry (Part 4) | Subdividing meshes, modulating vertices, two-dimensional arrays |
| 17 | Computational geometry (Part 5) | The limitations of floating point. Creating a box that can be modulated, and which stays watertight. |
| 18 | Computational geometry (Part 6) | Wrapping up meshes by creating a generalized cylinder class. |
| 19 | Computational geometry (Part 7) | Implicit geometry, and when to use it. |
| 20 | A few more things you should know about C# | Conditional operators, nullable values, expression-body syntax |
| 21 | Let’s talk about properties | Properties in C#, when and when not to use them |
| 22 | Structs, classes, and the secret life of references | Value types and reference types, and their (sometimes surprising) differences |
| More information | |
|---|---|
| Source code repository | This repository contains all the example source code of the book. |
| PicoGK on GitHub | The main LEAP 71 GitHub — contains PicoGK and many examples. |
| Discussion Forum | Discuss the book project here. |
PicoGK.org/coding for engineers
© 2024-2025 by Lin Kayser — All rights reserved.