Release 2nd edition Programming Foundations - Added videos explaining installation and setup procedure - Expanded the section on Git - Added chapter on LLM use in education with a focus on beginner programmers - Emphasized algorithmic thinking to tackle more complex programming challenges - Added chapter on debugging - Added a chapter on biomolecular simulations An interactive version of this textbook can be found at: `https://doi.org/10.59490/mt.236`