> For the complete documentation index, see [llms.txt](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming.md).

# Python Programming

- [Prerequisite Skills](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/prerequisite-skills.md): These skills are vital for early programmers to start their programming journey properly.
- [Keyboard Typing](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/prerequisite-skills/keyboard-typing.md)
- [Files & Directories](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/prerequisite-skills/files-and-directories.md)
- [Use of Command Line](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/prerequisite-skills/use-of-command-line.md)
- [Git & GitHub](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/prerequisite-skills/git-and-github.md)
- [Markdown](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/prerequisite-skills/markdown.md)
- [Starting Your Python Project](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/prerequisite-skills/starting-your-python-project.md)
- [Python Programming](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming.md)
- [Python Basics](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics.md)
- [What is Python?](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/what-is-python.md)
- [Procedural Programming & Programming Paradigms](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/procedural-programming-and-programming-paradigms.md)
- [String Formatting](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/string-formatting.md)
- [Data Types](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/data-types.md)
- [Input & Output to Console](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/input-and-output-to-console.md)
- [Working with Numbers](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/working-with-numbers.md)
- [Useful Built-in Functions](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/useful-built-in-functions.md)
- [Math & Random Module](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/math-and-random-module.md)
- [Boolean Data Object](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/boolean-data-object.md)
- [Comparison, Logical, and Membership Operators](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/comparison-logical-and-membership-operators.md)
- [If Statements](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/if-statements.md)
- [Binary Decisions](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/binary-decisions.md)
- [Multiple Decisions](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/multiple-decisions.md)
- [Nested Conditions](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/nested-conditions.md)
- [Iterations](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/iterations.md)
- [Introduction to While Loops](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/iterations/introduction-to-while-loops.md)
- [Infinite Loop](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/iterations/infinite-loop.md)
- [Controlling Your While Loops](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/iterations/controlling-your-while-loops.md)
- [Introduction to For Loops](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/iterations/introduction-to-for-loops.md)
- [For Loops w/ Numeric Sequences](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/iterations/for-loops-w-numeric-sequences.md)
- [For Loops w/ Strings & Lists](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/iterations/for-loops-w-strings-and-lists.md)
- [Iterable Functions w/ For Loops](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/iterations/iterable-functions-w-for-loops.md)
- [Collections](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections.md)
- [Strings](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/strings.md)
- [String Basics](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/strings/string-basics.md): Strings are our first sequence-like data type that we get to manipulate in Python.
- [String Indexing](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/strings/string-indexing.md)
- [String Slicing](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/strings/string-slicing.md)
- [String Operators & Functions](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/strings/string-operators-and-functions.md)
- [Basic String Methods](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/strings/basic-string-methods.md)
- [String Methods Extended](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/strings/string-methods-extended.md)
- [Tuples & Lists](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/tuples-and-lists.md)
- [Tuples](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/tuples-and-lists/tuples.md)
- [List Basics](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/tuples-and-lists/list-basics.md)
- [List are Mutable](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/tuples-and-lists/list-are-mutable.md)
- [Adding Items to a List](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/tuples-and-lists/adding-items-to-a-list.md)
- [Removing Items from a List](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/tuples-and-lists/removing-items-from-a-list.md)
- [Search & Reverse a List](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/tuples-and-lists/search-and-reverse-a-list.md)
- [List Comprehension](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/tuples-and-lists/list-comprehension.md)
- [Sets](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/sets.md)
- [Dictionary](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/dictionary.md)
- [How to Store Multiple Data Items](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/collections/how-to-store-multiple-data-items.md)
- [Defining Functions](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/defining-functions.md)
- [Functions](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/defining-functions/functions.md)
- [print() vs return](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/defining-functions/print-vs-return.md)
- [Pre-determined Arguments](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/defining-functions/pre-determined-arguments.md)
- [Nested Functions](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/defining-functions/nested-functions.md)
- [Map & Filter](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/defining-functions/map-and-filter.md)
- [\[Extra\] Dynamic Arguments](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/defining-functions/extra-dynamic-arguments.md)
- [File I/O](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/file-i-o.md)
- [How to Save Text to an External File](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/file-i-o/how-to-save-text-to-an-external-file.md)
- [Basic Python Projects](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects.md)
- [Basic Calculator](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects/basic-calculator.md)
- [Improving the calculator](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects/basic-calculator/improving-the-calculator.md)
- [Exercise Set 1](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects/basic-calculator/exercise-set-1.md)
- [Exercise Set 2](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects/basic-calculator/exercise-set-2.md)
- [Streamlit Application #1](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects/basic-calculator/streamlit-application-1.md)
- [Basic Password Generator](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects/basic-password-generator.md)
- [Exercise Set 3](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects/basic-password-generator/exercise-set-3.md)
- [Exercises Related to Math](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects/basic-password-generator/exercises-related-to-math.md)
- [Streamlit Application #2](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects/basic-password-generator/streamlit-application-2.md)
- [A To-Do Task List](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/basic-python-projects/a-to-do-task-list.md)
- [Introduction to Algorithmic Thinking](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking.md)
- [Big-O Notation](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/big-o-notation.md)
- [Basic Algorithms](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/basic-algorithms.md)
- [Linear Search](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/basic-algorithms/linear-search.md)
- [Binary Search](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/basic-algorithms/binary-search.md)
- [Basic Sorting Algorithms](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/basic-algorithms/basic-sorting-algorithms.md)
- [Recursion](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/recursion.md)
- [Brute Force Algorithms](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/brute-force-algorithms.md)
- [Greedy Algorithm](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/greedy-algorithm.md)
- [Time on Task (CCC 2013 J4)](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/greedy-algorithm/time-on-task-ccc-2013-j4.md)
- [Dijkstra’s Algorithm](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/greedy-algorithm/dijkstras-algorithm.md)
- [Divide and Conquer](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/divide-and-conquer.md)
- [Merge Sort](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/divide-and-conquer/merge-sort.md)
- [Dynamic Programming](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/introduction-to-algorithmic-thinking/dynamic-programming.md)
- [Object Oriented Programming](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming.md)
- [Class & Objects (Definitions)](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/class-and-objects-definitions.md)
- [OOP in Python](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/oop-in-python.md)
- [Encapsulation](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/encapsulation.md)
- [Polymorphism](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/polymorphism.md)
- [Inheritance & Overriding](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/inheritance-and-overriding.md)
- [Override Magic Methods](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/override-magic-methods.md)
- [Case Study: 2D Vectors](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/case-study-2d-vectors.md)
- [Case Study: Deck of Cards](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/case-study-deck-of-cards.md)
- [Exercise](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/exercise.md)
- [Abstract Data Types](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/abstract-data-types.md)
- [Case Study: Static 1D Array From Java](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/object-oriented-programming/case-study-static-1d-array-from-java.md)
- [Competitive Programming](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming.md)
- [Is This Sum Possible?](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/is-this-sum-possible.md)
- [Is the dataset sorted?](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/is-this-sum-possible/is-the-dataset-sorted.md)
- [Searching for a value](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/is-this-sum-possible/searching-for-a-value.md)
- [Determine if the difference between an integer from the array and the target value exists](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/is-this-sum-possible/determine-if-the-difference-between-an-integer-from-the-array-and-the-target-value-exists.md)
- [Sorting Algorithms](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/is-this-sum-possible/sorting-algorithms.md)
- [Using Two Pointers](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/is-this-sum-possible/using-two-pointers.md)
- [Two Sum - LeetCode](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/two-sum-leetcode.md)
- [Generate all possible pairs of values](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/two-sum-leetcode/generate-all-possible-pairs-of-values.md)
- [Subtract each value from the target, see if the difference exists in the list](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/two-sum-leetcode/subtract-each-value-from-the-target-see-if-the-difference-exists-in-the-list.md)
- [Longest Common Prefix - LeetCode](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/longest-common-prefix-leetcode.md)
- [Compare all possible prefixes](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/longest-common-prefix-leetcode/compare-all-possible-prefixes.md)
- [Create the longest common prefix with the direct neighbour](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/longest-common-prefix-leetcode/create-the-longest-common-prefix-with-the-direct-neighbour.md)
- [Length of Last Word - LeetCode](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/length-of-last-word-leetcode.md)
- [Compare all possible prefixes](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/length-of-last-word-leetcode/compare-all-possible-prefixes.md)
- [Where can I go from one point to another?](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/where-can-i-go-from-one-point-to-another.md)
- [Sample Outline](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/competitive-programming/sample-outline.md)
- [IB Recipe Book](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/ib-recipe-book.md)
- [Python & Databases](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases.md)
- [Intro to Databases & Data Modeling](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/intro-to-databases-and-data-modeling.md)
- [Common Data Types in SQL](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/intro-to-databases-and-data-modeling/common-data-types-in-sql.md)
- [Introduction to ERDs](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/intro-to-databases-and-data-modeling/introduction-to-erds.md)
- [Primary Keys and Foreign Keys](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/intro-to-databases-and-data-modeling/primary-keys-and-foreign-keys.md)
- [Database Normalization](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/intro-to-databases-and-data-modeling/database-normalization.md)
- [What is SQL?](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql.md)
- [Getting Started](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/getting-started.md)
- [SELECT Queries](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/select-queries.md)
- [Selection with Conditions](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/select-queries/selection-with-conditions.md)
- [Selection with Fuzziness](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/select-queries/selection-with-fuzziness.md)
- [Selection and Sorting in Order](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/select-queries/selection-and-sorting-in-order.md)
- [Selection without Duplicates](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/select-queries/selection-without-duplicates.md)
- [Selection with Limited Number of Outputs](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/select-queries/selection-with-limited-number-of-outputs.md)
- [AGGREGATE Queries](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/aggregate-queries.md)
- [Counting Rows](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/aggregate-queries/counting-rows.md)
- [Sum, Average, Min/Max Queries](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/aggregate-queries/sum-average-min-max-queries.md)
- [Working with Aggregate Queries](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/aggregate-queries/working-with-aggregate-queries.md)
- [Power of using Groups](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/aggregate-queries/power-of-using-groups.md)
- [Exercise](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/aggregate-queries/exercise.md)
- [Interacting with Multiple Table](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/interacting-with-multiple-table.md)
- [Inserting Data](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/inserting-data.md)
- [External Resource](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-and-databases/what-is-sql/external-resource.md)
