Preface#

This site contains a set of lecture notes (the “book”) for the Python components of IST-5551, Foundations of Computing and Programming for Data Science, offered by the Jaggi Business School at Missouri S&T in Rolla, Missouri. It was inspired in part by Dr. Allen Downey’s Think Python book.

At a Glance#

Each chapter in this book builds on the previous ones, so you should read them in order and take time to work on the exercises before you move on.

  • Part I: Fundamentals: Core Python concepts such as statements, expressions, operators, built-in data types, conditionals, loops, functions, exceptions, and testing.

  • Part II: Data Structures: Python’s main data structures – lists, tuples, dictionaries, and sets – along with strings, regular expressions, and text analysis.

  • Part III: Program Design: Object-oriented programming, functional programming, iterators, generators, and APIs.

  • Part IV: Algorithms & Data Structures: Abstract data structures, algorithm design, searching, and sorting.

  • Appendices: Practical setup topics such as tooling, Python installation, virtual environments, Jupyter notebooks, and related workflow tips.

How to Use This Book#

Each chapter section is an interactive Jupyter Notebook. You can:

  • Read through the rendered content

  • Interact with the code directly by downloading the notebooks locally or using Binder

  • Use the Live Code cells for practice

Live Coding#

Some sections include exercises that support live coding. To enable them, click the Live Code button. It may take some time to launch a new session; wait until you see a “ready” message. The live coding cells let you practice the concepts and skills introduced in each section.

thebe-loading

Credits#

Parts of these notes are adapted from Think Python by Dr. Allen Downey.

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License .