Real-World Python by Example
Published by Pearson
A No-Nonsense, Example-Based Python Course
- Practical learning with 90% code examples and reviews + 10% theory and concepts for a task-oriented and fun class
- See how features work in concert so you can understand the big picture
- Explore a wide range of Python topics, from language fundamentals to file I/O, OOP, and unit testing
- Apply what you learn with a final highly realistic project
This course is designed for technically competent people who are new to the Python programming language. We begin with fundamental concepts, including Python data types and basic syntax and techniques, such as conditionals, iterations, and collections. The course then progresses into topics that will broaden and deepen your skills, including list comprehensions, file I/O using various data formats, object-oriented programming (OOP), and common approaches to unit testing.
These topics are not taught in isolation. We’ll routinely perform code deep dives to examine how these features work in concert in the context of a larger application. The course concludes with a twist; we’ll review a real-life project, written by the author, that attendees can analyze and improve. This practical application of what you’ve learned in class will help you hone your skills and apply Python coding best practices in your work.
What you’ll learn and how you can apply it
- Fundamental Python syntax and semantics
- How to analyze Python code for proper operation
- Development of useful and reusable applications through abstraction
And you’ll be able to:
- Manipulate structured data and design custom objects
- Deliver high-quality code through testing
- Interact with files in a variety of common data formats
- Competently interpret code you’ve never seen with techniques I teach you
This live event is for you because...
- You are new to Python and are technically competent overall
- You're managing repetitive tasks at work that could be automated
- You’re a Python novice intending to improve your existing skills
Prerequisites
- No direct Python experience is required, but learners should have a technical background: software developers in another language, network engineers, system administrators, etc.
- Basic git skills (just enough to clone the repository before the course)
Course Set-up:
- A computer with Python 3.6 or newer installed. The author will be using Python 3.10
- Your IDE of choice or a simple text editor. The author will be using vim.
- Participants are encouraged to clone the git repository: https://github.com/nickrusso42518/slt-py-example
Recommended Preparation:
- Watch: Introduction to Python by Arianne Dee
- Read: Python Distilled by David M. Beazley
Recommended Follow-up:
- Watch: Python for AI and Data Science with IPython, Jupyter Notebooks by Paul Deitel
- Read: Effective Python: 90 Specific Ways to Write Better Python, 2nd Edition by Brett Slatkin
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Segment 1: Python Introduction (40 minutes)
- Data types and collections
- Basic operations
- Interacting with your programs
Break (5 minutes)
Segment 2: Fundamental Techniques (40 minutes)
- Conditionals and iteration (loops)
- Slicing
- Functions
- Error/exception handling
Segment 3: Fundamental Solution Review (25 minutes)
- Examine the partial solution to the main scenario
- Line-by-line review of program that utilizes just-learned techniques
- On-demand requests from audience: “What if you tried XYZ?”
Segment 4: Common Optimizations and Troubleshooting Techniques (25 minutes)
- List comprehensions
- Finding help documentation without searching the Internet
- Troubleshooting techniques
Break (10 minutes)
Segment 5: Object Oriented Programming (OOP) (20 minutes)
- Basic concepts and structure
- Inheritance
- Abstraction
- Polymorphism
Segment 6: File Input/Output (I/O) (20 minutes)
- Methods of accessing files
- Reading, writing, and appending
- Text, YAML, and JSON
Break (10 minutes)
Segment 7: Complete Solution Review (35 minutes)
- Examine the complete solution to the main scenario
- Line-by-line review of program that utilizes just-learned techniques
- On-demand requests from audience: “What if you tried XYZ?”
Segment 8: Unit Testing (15 minutes)
- Concept and purpose
- Add unit tests to aforementioned complete solution using unittest and pytest
Break (5 minutes)
Segment 9: Real-Life Scenario; Reviewing Someone Else’s Code (35 minutes)
- Apply your analytical skills on a novel project you have never seen
- Reading CSV data
- Ternary operations
- Splitting strings and joining lists of strings
- Data validation
- Parsing CLI arguments and options
Q&A and At-Home Assignment (5 minutes)
Your Instructor
Nicholas Russo
Nicholas Russo holds a Bachelor’s of Science in Computer Science from the Rochester Institute of Technology (RIT). His primary programming experience is in C# and Java, but has been programming almost exclusively in Ansible and Python over the past several years. Nick’s day job is an automation-focused network engineer, but he loves teaching others about technology. Nick lives in Maryland, USA with his wife, Carla, and daughters, Olivia and Josephine.