Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Angelica Lim, Victor Cheung

A guide to learning basic programming by writing fun, working programs that gradually become more complex This classroom-tested, workbook-style text teaches basic programming by guiding readers to write Python programs that mimic interactive chatbots. Unlike textbooks with opaque examples explained in dry, monotonous code, Python Practice Lab engages readers immediately, with more than thirty motivating and hands-on examples. Readers learn by writing fun, working programs that gradually become more difficult as new concepts are introduced. Most exercises are open ended, promoting creativity in the process of learning. Along with coding practice, the book offers brief introductions to a range of other topics in computer science, including recommendation systems, computer vision, and big data, and relates these subjects to the programming concepts covered in the book. Python Practice Lab will be an essential resource for anyone who wants to learn to program, instructors teaching Python to beginners, and students who want to supplement their coursework by building complete and functional programs.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A hands-on, workbook-style introduction to Python that teaches programming by building progressively complex chatbots, perfect for absolute beginners, instructors, and students who want to learn by doing rather than reading dry theory. 【Book Arc】 - **Opening (~0%–10%)**: Introduces computer science fundamentals—algorithms, pseudocode, comments, and program headers—through playful exercises like explaining "brushing teeth" to an alien, setting a problem-solving mindset before any real coding. - **Early (~10%–30%)**: Dives into basic Python with chatbots, covering console input/output, variables, strings, lists, conditionals (if/elif/else), and importing modules like `random`, using examples like a Greetings Bot and How’s It Going Bot to build interactive programs. - **Middle (~30%–50%)**: Expands on loops and robustness, introducing for-loops, integers, and error handling (syntax, semantic, runtime) through projects like a Horoscope Bot and Bubble Tea Menu, emphasizing code conciseness and handling unexpected user inputs. - **Late (~50%–70%)**: Moves to recommendation systems, teaching data types, floating-point numbers, division operators, accumulators, nested loops, file access, and dictionaries, applying these to build simple recommendation engines. - **Ending (~70%–100%)**: Covers graphics and computer vision with while-loops, custom functions, modules, 2D arrays, and RGB color representation, plus an intro to recursion; then explores internet and big data topics like sorting, searching, map/filter/reduce, and finishes with expert projects to consolidate all skills. 【Key Takeaways】 - **Algorithms are step-by-step clarity** (Opening): Learning to break down everyday tasks into precise instructions, like the alien exercise, builds the foundation for writing unambiguous code that computers can execute. - **Chatbots make programming tangible** (Early): Starting with simple input/output and string manipulation, you immediately see results—like a bot that greets you by name—which keeps motivation high and reinforces syntax through repetition. - **Conditionals handle user variability** (Early): Using `if`, `elif`, and `else` with case-sensitive comparisons teaches you to anticipate different inputs, making your programs responsive and less brittle. - **Lists and modules expand possibilities** (Early): Creating lists of strings and using `random.choice()` lets you add variety and unpredictability, turning static scripts into engaging, dynamic interactions. - **Loops eliminate code duplication** (Middle): Replacing repetitive lines with a `for` loop, as in the Bubble Tea Menu, shows how to write concise, maintainable code that’s easy to update—a key habit for real programming. - **Robustness requires error awareness** (Middle): Understanding syntax, semantic, and runtime errors helps you debug effectively and design bots that gracefully handle unexpected inputs, like accepting "Tempura" or "SUSHI" with `.lower()`. - **Data structures enable richer logic** (Late): Dictionaries and nested loops, introduced via recommendation systems, let you organize and process data more complexly, bridging basic scripts to practical applications. - **CS concepts connect to code** (Late): Brief forays into computer vision, big data, and algorithms show how Python skills apply beyond chatbots, giving context and inspiring further exploration. 【Reading Tips】 - **Type every example yourself**: Don’t copy-paste; retyping reinforces syntax and logic, and you’ll catch details like indentation that are crucial in Python. - **Skim the "Learning Outcomes" first**: Each section lists what you’ll master—use these as a checklist to focus your reading and practice on specific skills. - **Deep-read the chatbot walkthroughs**: Pay close attention to how code evolves from a sketch (comments/pseudocode) to full implementation; this models good planning habits. - **Tackle practice exercises from scratch**: After each subsection, try writing the requested bot without looking back—this tests true understanding and builds confidence. - **Use the companion website for extra drills**: External resources linked in the preface offer additional practice questions and activities to solidify tricky topics like conditionals or loops. 【Coverage Limits】 This guide synthesizes the book’s early-to-middle content (Chapters 1–2 and previews of later chapters); detailed coverage of recommendation systems, graphics, recursion, and big data is limited to overviews from the preface and table of contents.
Excerpt 1
tbots with Loops 29 2.2.1 Learning Outcomes 29 v PREFACE xi compare it with other strings in conditionals (if/else), assign user input to it, create a list o...
View in text
Excerpt 2
s. 1 # Motivational Quote Generator 2 # Author: 3 # Date: 4 5 print("If you can dream it, you can do it.") In the code sample above, let’s identify several i...
View in text
Excerpt 3
going?") 10 11 # Get the user’s reply 12 reply = input() 13 14 # If they said Good, reply Good! 15 if reply == "Good": 16 print("Good!") 17 18 # Otherwise if...
View in text
Excerpt 4
excited (e.g., Sushi!!) or indecisive (e.g., Sashimi Inputs with punctuation marks will not be matched by our chatbot because the punc- tuation marks are tre...
View in text
Excerpt 5
he output values may result in many trailing decimal places. How could we round the number to, say, two decimal places? We can use the format()method to adju...
View in text
Excerpt 6
is read into the program and is made available through the variable line as a string • the method split(",") is called in the method chain to divide up the l...
View in text
Excerpt 7
ad and understand basic turtle code to visualize its output • color the turtle using turtle color names as well as RGB color values coded as 3-tuples DEFININ...
View in text
Excerpt 8
, special effects studios use computer software to separate people and objects from the background, which is then replaced with something else (e.g., a space...
View in text
Tags
AI categories
EducationProgramming LanguagePython
ISBN: 0691243603
Publish Year: 2026
Language: English
Pages: 160
File Format: PDF
File Size: 11.5 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…