Book description
Unlock the power of Python with this comprehensive guide, “Python and Algorithmic Thinking for the Complete Beginner.” It covers everything from computer basics to advanced decision and loop control structures.
Key Features
- Comprehensive coverage from basic computer operations to advanced programming concepts
- Step-by-step progression of each topic, along with tips and tricks to enhance coding efficiency
- In-depth exploration of Python and algorithmic thinking with exercises and practical examples
Book Description
This course is meticulously designed to take beginners on a journey through the fascinating world of Python programming and algorithmic thinking. The initial chapters lay a strong foundation, starting with the basics of how computers operate, moving into Python programming, and familiarizing learners with integrated development environments like IDLE and Visual Studio Code.
Further, the course delves into essential programming constructs such as variables, constants, input/output handling, and operators. You'll gain practical experience with trace tables, sequence control structures, and decision control structures through comprehensive exercises and examples. The curriculum emphasizes hands-on learning with chapters dedicated to manipulating numbers, strings, and understanding complex mathematical expressions. By mastering these concepts, you'll be well-prepared to tackle more advanced topics.
The final chapters introduce you to object-oriented programming and file manipulation, rounding out your skill set. Throughout the course, practical tips and tricks are provided to enhance your coding efficiency and problem-solving skills. By the end of this course, you will have a robust understanding of Python programming and the ability to apply algorithmic thinking to solve real-world problems.
What you will learn
- Understand how computers work and the basics of Python programming
- Install and use integrated development environments (IDEs)
- Develop skills in decision and loop control structures
- Manipulate data using lists, dictionaries, and strings
- Apply algorithmic thinking to solve complex problems
- Gain proficiency in object-oriented programming & file manipulation
Who this book is for
This course is ideal for absolute beginners with no prior programming experience. Basic computer literacy is required, but no specific knowledge of programming or algorithms is necessary. It is also suitable for individuals looking to refresh their Python skills and enhance their understanding of algorithmic thinking. High school and college students interested in programming, professionals seeking to upskill, and hobbyists eager to learn a new programming language will all find value in this course.
Table of contents
- Table of Contents
- Preface
- Part I Introductory Knowledge
-
Part II Getting Started with Python
-
Chapter 4 Introduction to Basic Algorithmic Concepts
- 4.1 What is an Algorithm?
- 4.2 The Algorithm for Making a Cup of Tea
- 4.3 Properties of an Algorithm
- 4.4 Okay About Algorithms. But What is a Computer Program Anyway?
- 4.5 The Three Parties!
- 4.6 The Three Main Stages Involved in Creating an Algorithm
- 4.7 Flowcharts
- 4.8 What are ”Reserved Words”?
- 4.9 What is the Difference Between a Statement and a Command?
- 4.10 What is Structured Programming?
- 4.11 The Three Fundamental Control Structures
- 4.12 Your First Python Program
- 4.13 What is the Difference Between a Syntax Error, a Logic Error, and a Runtime Error?
- 4.14 What “Debugging” Means
- 4.15 Commenting Your Code
- 4.16 User-Friendly Programs
- 4.17 Review Questions: True/False
- 4.18 Review Questions: Multiple Choice
-
Chapter 5 Variables and Constants
- 5.1 What is a Variable?
- 5.2 What is a Constant?
- 5.3 How Many Types of Variables and Constants Exist?
- 5.4 Rules and Conventions for Naming Variables and Constants in Python
- 5.5 What Does the Phrase “Declare a Variable” Mean?
- 5.6 How to Declare Variables in Python
- 5.7 How to Declare Constants in Python
- 5.8 Review Questions: True/False
- 5.9 Review Questions: Multiple Choice
- 5.10 Review Exercises
- Chapter 6 Handling Input and Output
- Chapter 7 Operators
- Chapter 8 Trace Tables
- Chapter 9 Using IDLE or Visual Studio Code
- Review in “Getting Started with Python”
-
Chapter 4 Introduction to Basic Algorithmic Concepts
-
Part III Sequence Control Structures
-
Chapter 10 Introduction to Sequence Control Structures
-
10.1 What is the Sequence Control Structure?
- Exercise 10.1-1 Calculating the Area of a Rectangle
- Exercise 10.1-2 Calculating the Area of a Circle
- Exercise 10.1-3 Where is the Car? Calculating Distance Traveled
- Exercise 10.1-4 Kelvin to Fahrenheit
- Exercise 10.1-5 Calculating Sales Tax
- Exercise 10.1-6 Calculating a Sales Discount
- Exercise 10.1-7 Calculating a Sales Discount and Tax
- 10.2 Review Exercises
-
10.1 What is the Sequence Control Structure?
- Chapter 11 Manipulating Numbers
- Chapter 12 Complex Mathematical Expressions
- Chapter 13 Exercises With a Quotient and a Remainder
- Chapter 14 Manipulating Strings
- Review in “Sequence Control Structures”
-
Chapter 10 Introduction to Sequence Control Structures
-
Part IV Decision Control Structures
-
Chapter 15 Making Questions
- 15.1 Introduction
- 15.2 What is a Boolean Expression?
- 15.3 How to Write Simple Boolean Expressions
- 15.4 Logical Operators and Complex Boolean Expressions
- 15.5 Python's Membership Operators
- 15.6 Assigning the Result of a Boolean Expression to a Variable
- 15.7 What is the Order of Precedence of Logical Operators?
- 15.8 What is the Order of Precedence of Arithmetic, Comparison, Membership, and Logical Operators?
- 15.9 How to Negate Boolean Expressions
- 15.10 Review Questions: True/False
- 15.11 Review Questions: Multiple Choice
- 15.12 Review Exercises
- Chapter 16 The Single-Alternative Decision Structure
- Chapter 17 The Dual-Alternative Decision Structure
- Chapter 18 The Multiple-Alternative Decision Structure
- Chapter 19 Nested Decision Control Structures
- Chapter 20 More about Flowcharts with Decision Control Structures
-
Chapter 21 Tips and Tricks with Decision Control Structures
- 21.1 Introduction
- 21.2 Choosing a Decision Control Structure
- 21.3 Streamlining the Decision Control Structure
- 21.4 Logical Operators – to Use, or not to Use: That is the Question!
- 21.5 Merging Two or More Single-Alternative Decision Structures
- 21.6 Replacing Two Single-Alternative Decision Structures with a Dual-Alternative One
- 21.7 Put the Boolean Expressions Most Likely to be True First
- 21.8 Review Questions: True/False
- 21.9 Review Questions: Multiple Choice
- 21.10 Review Exercises
-
Chapter 22 More with Decision Control Structures
-
22.1 Simple Exercises with Decision Control Structures
- Exercise 22.1-1 Is it an Integer?
- Exercise 22.1-2 Validating Data Input and Finding Odd and Even Numbers
- Exercise 22.1-3 Where is the Tollkeeper?
- Exercise 22.1-4 The Most Scientific Calculator Ever!
- Exercise 22.1-5 Converting Gallons to Liters, and Vice Versa
- Exercise 22.1-6 Converting Gallons to Liters, and Vice Versa (with Data Validation)
- 22.2 Finding Minimum and Maximum Values with Decision Control Structures
- 22.3 Decision Control Structures in Solving Mathematical Problems
-
22.4 Exercises with Series of Consecutive Ranges of Values
- Exercise 22.4-1 Calculating the Discount
- Exercise 22.4-2 Validating Data Input and Calculating the Discount
- Exercise 22.4-3 Sending a Parcel
- Exercise 22.4-4 Finding the Values of y
- Exercise 22.4-5 Progressive Rates and Electricity Consumption
- Exercise 22.4-6 Progressive Rates and Text Messaging Services
- 22.5 Exercises of a General Nature with Decision Control Structures
- 22.6 Boolean Expressions Reference and Handy Tips
- 22.7 Review Exercises
-
22.1 Simple Exercises with Decision Control Structures
- Review in “Decision Control Structures”
-
Chapter 15 Making Questions
-
Part V Loop Control Structures
- Chapter 23 Introduction to Loop Control Structures
-
Chapter 24 Pre-Test, Mid-Test and Post-Test Loop Structures
-
24.1 The Pre-Test Loop Structure
- Exercise 24.1-1 Designing the Flowchart and Counting the Total Number of Iterations
- Exercise 24.1-2 Counting the Total Number of Iterations
- Exercise 24.1-3 Counting the Total Number of Iterations
- Exercise 24.1-4 Counting the Total Number of Iterations
- Exercise 24.1-5 Finding the Sum of Four Numbers
- Exercise 24.1-6 Finding the Sum of Odd Numbers
- Exercise 24.1-7 Finding the Sum of N Numbers
- Exercise 24.1-8 Finding the Sum of an Unknown Quantity of Numbers
- Exercise 24.1-9 Finding the Product of 20 Numbers
-
24.2 The Post-Test Loop Structure
- Exercise 24.2-1 Designing the Flowchart and Counting the Total Number of Iterations
- Exercise 24.2-2 Counting the Total Number of Iterations
- Exercise 24.2-3 Designing the Flowchart and Counting the Total Number of Iterations
- Exercise 24.2-4 Counting the Total Number of Iterations
- Exercise 24.2-5 Finding the Product of N Numbers
- 24.3 The Mid-Test Loop Structure
- 24.4 Review Questions: True/False
- 24.5 Review Questions: Multiple Choice
- 24.6 Review Exercises
-
24.1 The Pre-Test Loop Structure
-
Chapter 25 Definite Loops
-
25.1 The for statement
- Exercise 25.1-1 Creating the Trace Table
- Exercise 25.1-2 Creating the Trace Table
- Exercise 25.1-3 Counting the Total Number of Iterations
- Exercise 25.1-4 Finding the Sum of Four Numbers
- Exercise 25.1-5 Finding the Square Roots from 0 to N
- Exercise 25.1-6 Finding the Sum of 1 + 2 + 3 + … + 100
- Exercise 25.1-7 Finding the Product of 2 × 4 × 6 × 8 × 10
- Exercise 25.1-8 Finding the Sum of 22 + 42 + 62 + … (2N)2
- Exercise 25.1-9 Finding the Sum of 33 + 66 + 99 + … (3N)3N
- Exercise 25.1-10 Finding the Average Value of Positive Numbers
- Exercise 25.1-11 Counting the Vowels
- 25.2 Rules that Apply to For-Loops
- 25.3 Review Questions: True/False
- 25.4 Review Questions: Multiple Choice
- 25.5 Review Exercises
-
25.1 The for statement
- Chapter 26 Nested Loop Control Structures
- Chapter 27 More about Flowcharts with Loop Control Structures
-
Chapter 28 Tips and Tricks with Loop Control Structures
- 28.1 Introduction
- 28.2 Choosing a Loop Control Structure
- 28.3 The “Ultimate” Rule
- 28.4 Breaking Out of a Loop
- 28.5 Cleaning Out Your Loops
- 28.6 Endless Loops and How to Stop Them
- 28.7 The “From Inner to Outer” Method
- 28.8 Review Questions: True/False
- 28.9 Review Questions: Multiple Choice
- 28.10 Review Exercises
-
Chapter 29 More with Loop Control Structures
-
29.1 Simple Exercises with Loop Control Structures
- Exercise 29.1-1 Counting the Numbers According to Which is Greater
- Exercise 29.1-2 Counting the Numbers According to Their Digits
- Exercise 29.1-3 How Many Numbers Fit in a Sum
- Exercise 29.1-4 Finding the Total Number of Positive Integers
- Exercise 29.1-5 Iterating as Many Times as the User Wishes
- Exercise 29.1-6 Finding the Sum of the Digits
- 29.2 Exercises with Nested Loop Control Structures
- 29.3 Data Validation with Loop Control Structures
- 29.4 Finding Minimum and Maximum Values with Loop Control Structures
-
29.5 Using Loop Control Structures to Solve Mathematical Problems
- Exercise 29.5-1 Calculating the Area of as Many Triangles as the User Wishes
- Exercise 29.5-2 Finding x and y
- Exercise 29.5-3 The Russian Multiplication Algorithm
- Exercise 29.5-4 Finding the Number of Divisors
- Exercise 29.5-5 Is the Number a Prime?
- Exercise 29.5-6 Finding all Prime Numbers from 1 to N
- Exercise 29.5-7 Heron's Square Root
- Exercise 29.5-8 Calculating π
- Exercise 29.5-9 Approximating a Real with a Fraction
- 29.6 Exercises of a General Nature with Loop Control Structures
- 29.7 Review Questions: True/False
- 29.8 Review Exercises
-
29.1 Simple Exercises with Loop Control Structures
- Review in “Loop Control Structures”
-
Part VI Data Structures in Python
-
Chapter 30 One-Dimensional Lists and Dictionaries
- 30.1 Introduction
- 30.2 What is a List?
- 30.3 Creating One-Dimensional Lists in Python
- 30.4 How to Get Values from a One-Dimensional List
- 30.5 How to Alter the Value of a List Element
- 30.6 How to Iterate Through a One-Dimensional List
-
30.7 How to Add User-Entered Values to a One-Dimensional List
- Exercise 30.7-1 Displaying Words in Reverse Order
- Exercise 30.7-2 Displaying Positive Numbers in Reverse Order
- Exercise 30.7-3 Finding the Average Value
- Exercise 30.7-4 Displaying Reals Only
- Exercise 30.7-5 Displaying Elements with Odd-Numbered Indexes
- Exercise 30.7-6 Displaying Even Numbers in Odd–Numbered Index Positions
- 30.8 More about the Concatenation and Repetition Operators
- 30.9 What is a Dictionary?
- 30.10 Creating Dictionaries in Python
- 30.11 How to Get a Value from a Dictionary
- 30.12 How to Alter the Value of a Dictionary Element
- 30.13 How to Iterate Through a Dictionary
- 30.14 More about the Membership Operators
- 30.15 Review Questions: True/False
- 30.16 Review Questions: Multiple Choice
- 30.17 Review Exercises
-
Chapter 31 Two-Dimensional Lists
- 31.1 Creating Two-Dimensional Lists in Python
- 31.2 How to Get Values from Two-Dimensional Lists
- 31.3 How to Iterate Through a Two-Dimensional List
- 31.4 How to Add User-Entered Values to a Two-Dimensional List
- 31.5 What's the Story on Variables i and j?
- 31.6 Square Matrices
- 31.7 Review Questions: True/False
- 31.8 Review Questions: Multiple Choice
- 31.9 Review Exercises
-
Chapter 32 Tips and Tricks with Data Structures
- 32.1 Introduction
- 32.2 Processing Each Row Individually
- 32.3 Processing Each Column Individually
- 32.4 How to Use More Than One Data Structures in a Program
- 32.5 Creating a One-Dimensional List from a Two-Dimensional List
- 32.6 Creating a Two-Dimensional List from a One-Dimensional List
- 32.7 Useful Data Structures Functions/Methods (Subprograms)
- 32.8 Review Questions: True/False
- 32.9 Review Questions: Multiple Choice
- 32.10 Review Exercises
-
Chapter 33 More with Data Structures
-
33.1 Simple Exercises with Lists
- Exercise 33.1-1 Creating a List that Contains the Average Values of its Neighboring Elements
- Exercise 33.1-2 Creating a List with the Greatest Values
- Exercise 33.1-3 Merging One-Dimensional Lists
- Exercise 33.1-4 Creating Two Lists – Separating Positive from Negative Values
- Exercise 33.1-5 Creating a List with Those who Contain Digit 5
- 33.2 Data Validation with Lists
-
33.3 Finding Minimum and Maximum Values in Lists
- Exercise 33.3-1 Which Depth is the Greatest?
- Exercise 33.3-2 Which Lake is the Deepest?
- Exercise 33.3-3 Which Lake, in Which Country, Having Which Average Area, is the Deepest?
- Exercise 33.3-4 Which Students Have got the Greatest Grade?
- Exercise 33.3-5 Finding the Minimum Value of a Two-Dimensional List
- Exercise 33.3-6 Finding the City with the Coldest Day
- Exercise 33.3-7 Finding the Minimum and the Maximum Value of Each Row
-
33.4 Sorting Lists
- Exercise 33.4-1 The Bubble Sort Algorithm – Sorting One-Dimensional Lists with Numeric Values
- Exercise 33.4-2 Sorting One-Dimensional Lists with Alphanumeric Values
- Exercise 33.4-3 Sorting One-Dimensional Lists While Preserving the Relationship with a Second List
- Exercise 33.4-4 Sorting Last and First Names
- Exercise 33.4-5 Sorting a Two-Dimensional List
- Exercise 33.4-6 The Modified Bubble Sort Algorithm – Sorting One-Dimensional Lists
- Exercise 33.4-7 The Selection Sort Algorithm – Sorting One-Dimensional Lists
- Exercise 33.4-8 Sorting One-Dimensional Lists While Preserving the Relationship with a Second List
- Exercise 33.4-9 The Insertion Sort Algorithm – Sorting One-Dimensional Lists
- Exercise 33.4-10 The Three Worst Elapsed Times
-
33.5 Searching Elements in Data Structures
- Exercise 33.5-1 The Linear Search Algorithm – Searching in a One-Dimensional List that may Contain the Same Value Multiple Times
- Exercise 33.5-2 Display the Last Names of All Those People Who Have the Same First Name
- Exercise 33.5-3 The Linear Search Algorithm – Searching in a Two-Dimensional List that May Contain the Same Value Multiple Times
- Exercise 33.5-4 The Linear Search Algorithm – Searching in a One-Dimensional List that Contains Unique Values
- Exercise 33.5-5 Searching for a Social Security Number
- Exercise 33.5-6 The Linear Search Algorithm – Searching in a Two-Dimensional List that Contains Unique Values
- Exercise 33.5-7 Checking if a Value Exists in all Columns
- Exercise 33.5-8 The Binary Search Algorithm – Searching in a Sorted One-Dimensional List
- Exercise 33.5-9 Display all the Historical Events for a Country
- Exercise 33.5-10 Searching in Each Column of a Two-Dimensional List
-
33.6 Exercises of a General Nature with Data Structures
- Exercise 33.6-1 On Which Days was There a Possibility of Snow?
- Exercise 33.6-2 Was There Any Possibility of Snow?
- Exercise 33.6-3 In Which Cities was There a Possibility of Snow?
- Exercise 33.6-4 Display from Highest to Lowest Grades by Student, and in Alphabetical Order
- Exercise 33.6-5 Archery at the Summer Olympics
- Exercise 33.6-6 The Five Best Scorers
- Exercise 33.6-7 Counting the Frequency of Vowels
- 33.7 Review Questions: True/False
- 33.8 Review Exercises
-
33.1 Simple Exercises with Lists
- Review in “Data Structures in Python”
-
Chapter 30 One-Dimensional Lists and Dictionaries
-
Part VII Subprograms
- Chapter 34 Introduction to Subprograms
-
Chapter 35 User-Defined Subprograms
- 35.1 Subprograms that Return Values
- 35.2 How to Make a Call to a Function
- 35.3 Subprograms that Return no Values
- 35.4 How to Make a Call to a void Function
- 35.5 Formal and Actual Arguments
- 35.6 How Does a Function Execute?
- 35.7 How Does a void Function Execute?
- 35.8 Review Questions: True/False
- 35.9 Review Exercises
-
Chapter 36 Tips and Tricks with Subprograms
- 36.1 Can Two Subprograms use Variables of the Same Name?
- 36.2 Can a Subprogram Call Another Subprogram?
- 36.3 Passing Arguments by Value and by Reference
- 36.4 Returning a List
- 36.5 Default Argument Values (Optional Arguments) and Keyword Arguments
- 36.6 The Scope of a Variable
- 36.7 Converting Parts of Code into Subprograms
- 36.8 Recursion
- 36.9 Review Questions: True/False
- 36.10 Review Exercises
- Chapter 37 More with Subprograms
- Review in “Subprograms”
-
Part VIII Object-Oriented Programming
-
Chapter 38 Introduction to Object-Oriented Programming
- 38.1 What is Object-Oriented Programming?
- 38.2 Classes and Objects in Python
- 38.3 The Constructor and the Keyword self
- 38.4 Passing Initial Values to the Constructor
- 38.5 Class Fields vs Instance Fields
- 38.6 Getter and Setter Methods vs Properties
- 38.7 Can a Method Call Another Method of the Same Class?
- 38.8 Class Inheritance
- 38.9 Review Questions: True/False
- 38.10 Review Exercises
- Review in “Object-Oriented Programming”
-
Chapter 38 Introduction to Object-Oriented Programming
-
Part IX Files
- Chapter 39 Introduction to Files
-
Chapter 40 More with Files
-
40.1 Exercises of a General Nature with Files
- Exercise 40.1-1 Calculating the Sum of 10 Numbers
- Exercise 40.1-2 Calculating the Average Value of an Unknown Quantity of Numbers
- Exercise 40.1-3 Finding Minimum and Maximum Values
- Exercise 40.1-4 Concatenating Files
- Exercise 40.1-5 Searching in a File
- Exercise 40.1-6 Combining Files with Subprograms
- 40.2 Review Exercises
-
40.1 Exercises of a General Nature with Files
- Review in “Files”
- Some Final Words from the Author
Product information
- Title: Python and Algorithmic Thinking for the Complete Beginner
- Author(s):
- Release date: June 2024
- Publisher(s): Packt Publishing
- ISBN: 9781836209270
You might also like
book
Python Made Easy
Unlock the power of Python with this comprehensive course. From the basics to advanced topics like …
book
Python Programming by Pearson
Python Programming is designed as a textbook for undergraduate and postgraduate students to provide programming knowledge …
book
Beginning Python: From Novice to Professional
Gain a fundamental understanding of Python’s syntax and features with this revised introductory and practical reference. …
book
Python All-in-One For Dummies, 3rd Edition
Everything you need to know to get into Python coding, with 7 books in one Python …