{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "d9724920",
   "metadata": {},
   "source": [
    "# Preface"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b76f38c6",
   "metadata": {},
   "source": [
    "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](https://allendowney.github.io/ThinkPython/) book."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6516d914",
   "metadata": {},
   "source": [
    "## At a Glance\n",
    "\n",
    "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.\n",
    "\n",
    "- **Part I: Fundamentals**: Core Python concepts such as statements, expressions, operators, built-in data types, conditionals, loops, functions, exceptions, and testing.\n",
    "\n",
    "- **Part II: Data Structures**: Python's main data structures -- lists, tuples, dictionaries, and sets -- along with strings, regular expressions, and text analysis.\n",
    "\n",
    "- **Part III: Program Design**: Object-oriented programming, functional programming, iterators, generators, and APIs.\n",
    "\n",
    "- **Part IV: Algorithms & Data Structures**: Abstract data structures, algorithm design, searching, and sorting.\n",
    "\n",
    "- **Appendices**: Practical setup topics such as tooling, Python installation, virtual environments, Jupyter notebooks, and related workflow tips."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "323d2954",
   "metadata": {},
   "source": [
    "## How to Use This Book\n",
    "\n",
    "Each chapter section is an interactive Jupyter Notebook. You can:\n",
    "- Read through the rendered content\n",
    "- Interact with the code directly by downloading the notebooks locally or using Binder\n",
    "- Use the Live Code cells for practice"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "64a8925c-5f7b-466e-83f5-02ee5fd70e1a",
   "metadata": {},
   "source": [
    "## Live Coding \n",
    "\n",
    "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.\n",
    "\n",
    "```{image} ../images/thebe-loading.png\n",
    ":alt: thebe-loading\n",
    ":width: 50%\n",
    ":align: center\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b5c02f3-911b-4127-afe5-c8e1f5724eba",
   "metadata": {},
   "source": [
    "## Credits\n",
    "\n",
    "Parts of these notes are adapted from [Think Python](https://allendowney.github.io/ThinkPython/) by Dr. Allen Downey.\n",
    "\n",
    "This work is licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/)."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
