The Fundamentals of Programming with Python is a textbook that has been proven to be practical with fully online courses, blended/hybrid courses (i.e., via Zoom), and instructor-led presentations in a computer lab setting.
This textbook takes the learner through a journey from problem solving concepts, Python basic concepts, collection types (dictionary, list, set, and tuple examples), functions, file handling, and error handling. Then, Python programming content turns into real-life examples implemented with object-oriented programing to include classes, objects, and class inheritance. Lastly, the book dedicates a full chapter to develop a graphical user interface (GUI) from scratch.
On its second edition, this book includes an appendix covering projects to include GUI design, recursion, programming a Raspberry PI Pico with MicroPython, and programing a Zumi (a little self-driving car). Given the rich programming content and project context this book is primarily used as supporting material to teach Python as opposed to a self-paced tutorial. Yet, web links are provided for students who wish to advance beyond a college level course.
INTRODUCTION Fundamentals of Programming with Python
CHAPTER 1 Introduction to Problems and Problem-Solving
CHAPTER 2 Introduction to Algorithms and Flowcharting
CHAPTER 3 Introduction to the Python Shell—Interactive Interface
CHAPTER 4 Python Identifiers, Variables, and Keywords
CHAPTER 5 Python Collection Types
CHAPTER 6 Python Control Flow
CHAPTER 7 Python Functions
CHAPTER 8 Python File Handling
CHAPTER 9 Python Exception Handling
CHAPTER 10 Python Classes and Objects
CHAPTER 11 Python Class Inheritance
CHAPTER 12 Creating a Graphical User Interface with Python
APPENDIX A Graphical User Interface (GUI) Development with Python
APPENDIX B Thonny Integrated Development Environment (IDE)
APPENDIX C Programming a Raspberry PI Pico with MicroPython
APPENDIX D Programming Zumi with Python
Sam
Espana
Sam Espana graduated from Winona State University with a Bachelor of Science in Computer Science. He earned a Master of Science, in Software Engineering, from the University of St. Thomas. He is working toward his Master of Cyber Operations at Metropolitan State University. He has a wide range of work experience in the Information Technology (IT) industry. He has held roles such as Systems Analyst, Systems/Database Administrator, Senior Programmer Analyst, IT Project Manager, IT Six Sigma Black Belt and Program Manager.
In the Minnesota State Colleges/Universities system, Sam has taught computer science courses at Dakota County Technical College. Espana taught, as IT instructor, at Ridgewater College. He also taught mobile application development at Central Lakes College. As computer science professor, he lectured on mobile app development, applied cryptography, platform-based development, and software reverse engineering at St. Cloud State University. As full-time faculty, he currently teaches IT curriculum to include HTML/CSS/JavaScript, Python, C#, and database courses at Hennepin Technical College – The largest technical college in the State of Minnesota, 2023.
Recent Awards – Sam Espana, Instructor