Skip to content

Beginning Python — Concept List

Generated for the learning graph. This list includes all 350 concepts from concept-list-v1.md plus additional foundational and dependency concepts, expanded to 452 total.


1. Development Environments & Setup

  1. Python Interpreter Overview
  2. Python 2 vs Python 3
  3. Browser-Based Python Environments
  4. Repl.it Online IDE
  5. Thonny Beginner IDE
  6. Spyder Scientific IDE
  7. VS Code Editor
  8. Jupyter Notebooks
  9. JupyterLab Environment
  10. Conda Package Manager
  11. pip Package Installer
  12. Virtual Environments
  13. Installing Python Locally
  14. Running Scripts from Terminal
  15. Python REPL Shell
  16. Raspberry Pi Python Platform
  17. Skulpt Browser Python
  18. Google Colab Environment
  19. Command Line Basics
  20. File System Navigation

2. Basic Syntax & Output

  1. print() Function
  2. Single-Line Comments
  3. Multi-Line Strings
  4. Indentation as Syntax
  5. Case Sensitivity
  6. Python Keywords
  7. Blank Lines and Readability
  8. Code Block Structure
  9. Statement vs Expression
  10. Whitespace Rules

3. Variables & Assignment

  1. Variable Definition and Assignment
  2. Variable Naming Rules
  3. Snake_case Convention
  4. Meaningful Variable Names
  5. Multiple Assignment
  6. Augmented Assignment Operators
  7. Constants by Convention
  8. Variable Reassignment
  9. Swap Two Variables
  10. Naming Conflicts to Avoid

4. Data Types — Numeric

  1. Integer Type
  2. Float Type
  3. Division Returns Float
  4. Integer Division Operator
  5. Modulo Operator
  6. Exponentiation Operator
  7. Arithmetic Operators
  8. Order of Operations
  9. Negative Numbers
  10. Scientific Notation Floats

5. Data Types — Boolean

  1. Boolean Type
  2. Comparison Operators
  3. Logical Operators
  4. Truthiness and Falsiness
  5. Short-Circuit Evaluation
  6. Boolean in Conditions
  7. Chained Comparisons

6. Data Types — Strings

  1. String Type
  2. Single vs Double Quotes
  3. String Concatenation
  4. String Repetition
  5. String Indexing
  6. String Slicing
  7. Escape Characters
  8. String Length with len()
  9. String lower() upper() strip()
  10. String split() join() replace()
  11. String startswith() endswith() find()
  12. String isdigit() isalpha() isalnum()
  13. String format() Method
  14. f-Strings
  15. String Immutability
  16. Raw Strings
  17. String Comparison
  18. Multiline String Formatting

7. Data Types — None

  1. None Value and NoneType
  2. Functions Returning None
  3. Checking for None with is

8. Type Conversion

  1. int() Conversion
  2. float() Conversion
  3. str() Conversion
  4. bool() Conversion
  5. type() Function
  6. isinstance() Function
  7. Implicit vs Explicit Conversion

9. User Input

  1. input() Function
  2. Prompting the User
  3. Converting Input to Numbers
  4. Input Validation Basics
  5. Reading Multiple Inputs
  6. Strip Whitespace from Input

10. Control Flow — Conditionals

  1. if Statement
  2. if...else Block
  3. elif Chains
  4. Nested if Statements
  5. Conditional Ternary Expression
  6. match/case Statement
  7. Truthiness in Conditions
  8. Compound Conditions

11. Control Flow — Loops

  1. for Loop over Sequence
  2. for Loop with range()
  3. range(start, stop, step)
  4. while Loop
  5. break Statement
  6. continue Statement
  7. else Clause on Loops
  8. Nested Loops
  9. Loop Counter Variable
  10. Infinite Loops to Avoid
  11. enumerate() Function
  12. zip() Function
  13. Loop Accumulator Pattern
  14. Loop with List Building
  15. Countdown Loop

12. Functions

  1. Defining a Function with def
  2. Calling a Function
  3. Positional Parameters
  4. Default Parameter Values
  5. Keyword Arguments
  6. return Statement
  7. Functions Returning None
  8. Local Scope
  9. Global Scope
  10. global Keyword
  11. nonlocal Keyword
  12. Docstrings
  13. Pure Functions vs Side Effects
  14. Recursion Concept
  15. Recursion Base Case
  16. Recursion Depth and Stack
  17. Lambda Functions
  18. Variable Number of Arguments *args
  19. Keyword Variable Arguments **kwargs
  20. Function as Argument (Higher-Order)
  21. Nested Functions
  22. Returning Multiple Values

13. Collections — Lists

  1. List Type
  2. Creating a List
  3. List Indexing
  4. Negative Indexing
  5. List Slicing
  6. len() for Lists
  7. List append() insert() extend()
  8. List remove() pop() clear()
  9. List sort() reverse() copy()
  10. List index() count()
  11. Membership with in Operator
  12. List Concatenation and Repetition
  13. Iterating over a List
  14. Nested Lists
  15. List Comprehensions
  16. Mutable vs Immutable Types
  17. List as Stack
  18. List as Queue

14. Collections — Tuples

  1. Tuple Type
  2. Creating a Tuple
  3. Tuple Indexing and Slicing
  4. Tuple Unpacking
  5. Tuples vs Lists
  6. Single-Element Tuple Syntax
  7. Named Tuple Concept
  8. Tuple as Return Value

15. Collections — Dictionaries

  1. Dictionary Type
  2. Creating a Dictionary
  3. Accessing Values by Key
  4. dict get() Method
  5. Adding and Updating Key-Value Pairs
  6. Removing Entries pop() del
  7. Dictionary keys() values() items()
  8. Iterating over a Dictionary
  9. Key Membership with in
  10. Nested Dictionaries
  11. Dictionary Comprehensions
  12. Default Dictionary Pattern
  13. Dictionary from Two Lists with zip()

16. Collections — Sets

  1. Set Type
  2. Creating a Set
  3. Set Union Intersection Difference
  4. Set add() remove() discard()
  5. Set Membership with in
  6. Frozensets

17. Built-in Functions

  1. print() Output Function
  2. input() Read Input
  3. len() Sequence Length
  4. range() Number Sequence
  5. type() Get Object Type
  6. int() float() str() bool() Conversions
  7. list() tuple() set() dict() Constructors
  8. max() min() Functions
  9. sum() Function
  10. abs() Absolute Value
  11. round() Function
  12. sorted() Function
  13. reversed() Function
  14. enumerate() with Index
  15. zip() Combine Iterables
  16. map() Apply Function
  17. filter() Filter Items
  18. dir() List Attributes
  19. help() Documentation
  20. id() Object Identity
  21. hash() Function
  22. any() and all() Functions
  23. chr() and ord() Functions

18. Modules & Imports

  1. import Statement
  2. from...import Specific Names
  3. import...as Alias
  4. from...import Star
  5. Creating Custom Modules
  6. name == "main" Guard
  7. Standard Library Overview
  8. Module Search Path
  9. Reloading a Module

19. Standard Library — random

  1. random Module Overview
  2. random.randint()
  3. random.choice()
  4. random.shuffle()
  5. random.seed()
  6. random.random() Float
  7. random.sample()

20. Standard Library — math

  1. math Module Overview
  2. math.sqrt() floor() ceil()
  3. math.sin() cos() pi
  4. math.radians() degrees()
  5. math.log() exp()
  6. math.factorial()

21. Standard Library — Other Modules

  1. string Module Constants
  2. time Module Overview
  3. time.sleep()
  4. sys Module
  5. sys.path Search Path
  6. os Module
  7. os.path Operations
  8. json Module Overview
  9. json.loads() json.dumps()
  10. json.load() json.dump()
  11. csv Module Basics
  12. datetime Module Basics
  13. collections Module
  14. itertools Module Overview

22. Regular Expressions

  1. re Module Import
  2. re.search() First Match
  3. re.findall() All Matches
  4. re.split() Split by Pattern
  5. re.sub() Substitute Matches
  6. Digit Word Whitespace Patterns
  7. Anchors Start and End
  8. Character Classes
  9. Quantifiers Plus Star Question
  10. Alternation with Pipe
  11. Escaping Special Characters
  12. Raw Strings for Regex
  13. Regex Groups with Parentheses
  14. Compiled Regex Patterns

23. File Input/Output

  1. open() Function
  2. File Modes r w a b
  3. file.read()
  4. file.readlines()
  5. file.readline()
  6. file.write()
  7. file.close()
  8. with Statement Context Manager
  9. Iterating over File Lines
  10. Text Processing strip() lower()
  11. CSV File Reading
  12. CSV File Writing
  13. Reading JSON from File
  14. Writing JSON to File
  15. File Path Handling
  16. Checking if File Exists

24. Error Handling

  1. Syntax vs Runtime vs Logic Errors
  2. Common Exception Types
  3. Reading a Traceback
  4. try...except Block
  5. Catching Specific Exceptions
  6. else Clause in try/except
  7. finally Clause
  8. raise Statement
  9. assert Statement
  10. Debugging with print()
  11. Using Search Engines to Debug
  12. Exception Hierarchy
  13. Custom Exception Classes
  14. Exception Chaining

25. Object-Oriented Programming

  1. Objects and Classes Overview
  2. Attributes of an Object
  3. Methods of an Object
  4. class Keyword
  5. init() Constructor
  6. self Parameter
  7. Creating Class Instances
  8. Accessing Attributes and Methods
  9. String Methods as OOP Examples
  10. List Methods as OOP Examples
  11. Inheritance Basics
  12. str() String Representation
  13. repr() Developer Representation
  14. Subclasses and Method Overriding
  15. super() Function
  16. Class Variables vs Instance Variables
  17. Static Methods
  18. Properties with @property
  19. Dunder Methods Overview
  20. Object Composition

26. Turtle Graphics

  1. import turtle
  2. turtle.Turtle() Object
  3. turtle.Screen() Object
  4. Screen Setup and bgcolor()
  5. Movement forward() backward()
  6. Turning left() right()
  7. Absolute Positioning goto()
  8. Pen Control penup() pendown()
  9. Pen Size and Color
  10. Fill begin_fill() end_fill()
  11. Drawing circle() and Polygons
  12. Turtle Appearance shape()
  13. Hiding and Showing Turtle
  14. Writing Text with turtle.write()
  15. Clearing and Resetting
  16. Position Query xcor() ycor()
  17. Speed Control speed()
  18. setheading() Direction
  19. onscreenclick() Event Handler
  20. Animation with Turtle Loops
  21. Color Picker with Turtle
  22. Fractals with Recursion and Turtle
  23. Sine Wave with Turtle and Math
  24. Drawing Star Patterns
  25. Turtle Race Simulation
  26. Maze Visualization with Turtle

27. Data Visualization

  1. matplotlib Library Overview
  2. import matplotlib.pyplot as plt
  3. plt.plot() Line Plot
  4. plt.show() Display
  5. Plot Title and Axis Labels
  6. plt.grid() Grid Lines
  7. Plotting a Sine Wave
  8. Lists as XY Plot Data
  9. plt.scatter() Scatter Plot
  10. plt.bar() Bar Chart
  11. plt.hist() Histogram
  12. plt.legend() Legend
  13. plt.savefig() Save Plot
  14. Multiple Lines on One Plot
  15. Subplots with plt.subplot()

28. Numerical Computing — NumPy

  1. numpy Library Overview
  2. import numpy as np
  3. np.array() Creating Arrays
  4. np.argmax() Index of Max
  5. Array Operations and Broadcasting
  6. Reshaping Arrays
  7. np.zeros() np.ones()
  8. np.linspace() Evenly Spaced Values
  9. Array Slicing and Indexing
  10. Element-wise Math Operations
  11. np.mean() np.std()

29. Image Processing

  1. PIL Pillow Library Overview
  2. Image.open() Open Image
  3. image.show() Display Image
  4. Pixel Data and Image Arrays
  5. Image Resize and Crop
  6. Image Color Conversion
  7. Saving Images

30. Data Structures & Algorithms

  1. Abstract Data Types Overview
  2. Stack LIFO Structure
  3. Queue FIFO Structure
  4. Queue enqueue() dequeue()
  5. Graph Nodes and Edges
  6. Adjacency List Representation
  7. Breadth-First Search BFS
  8. BFS Color Tracking
  9. BFS for Path Finding
  10. Depth-First Search DFS
  11. DFS with Recursion
  12. DFS and BFS for Maze Solving
  13. Sorting Algorithms Overview
  14. Bubble Sort
  15. Selection Sort
  16. Insertion Sort
  17. Binary Search Concept
  18. Time Complexity Big-O Overview
  19. Space Complexity Overview
  20. Linked List Concept
  21. Tree Data Structure Concept
  22. Binary Tree Basics

31. Machine Learning & Neural Networks

  1. Machine Learning Overview
  2. Supervised vs Unsupervised Learning
  3. keras Library Overview
  4. Sequential Model
  5. Dense Fully Connected Layers
  6. Activation Functions relu softmax
  7. Conv2D Convolutional Layers
  8. MaxPooling2D Pooling Layers
  9. Dropout Regularization
  10. Flatten Layer
  11. model.compile()
  12. model.fit() Training
  13. model.evaluate() Testing
  14. model.predict() Inference
  15. Categorical Crossentropy Loss
  16. Adam Optimizer
  17. Accuracy Metric
  18. Batch Size and Epochs
  19. MNIST Dataset
  20. Data Normalization
  21. Convolutional Neural Networks
  22. Feedforward Networks
  23. Recurrent Networks RNN Overview
  24. LSTM Networks Overview
  25. Autoencoders Overview
  26. Training vs Validation vs Test Sets
  27. Overfitting Concept
  28. Feature Extraction

32. Graphics in Jupyter

  1. ipycanvas Canvas in Jupyter
  2. mobilechelonian Turtle in Jupyter
  3. Drawing Shapes on Canvas
  4. Color Bars in Jupyter

33. Event-Driven Programming

  1. Event-Driven Programming Model
  2. Mouse Click Event Handlers
  3. Keyboard Event Handlers
  4. Callback Functions
  5. Animation Loops
  6. Event Queue Concept
  7. Timer-Based Events

34. Programming Practices

  1. Modularity in Code
  2. Code Reusability
  3. DRY Principle
  4. Meaningful Names
  5. Code Comments When and Why
  6. Literate Programming in Jupyter
  7. Reading Docs with help() and dir()
  8. Version Control Basics
  9. Searching Documentation
  10. Code Refactoring
  11. Test-Driven Thinking
  12. Pair Programming Concept

35. Color & Graphics Concepts

  1. Named Colors
  2. Hex Color Values
  3. RGB Color Model
  4. Color in Turtle Graphics
  5. Background and Pen Colors
  6. HSL Color Model
  7. Color Theory Basics
  8. Transparency and Alpha

36. Computational Thinking Foundations

  1. Decomposition
  2. Pattern Recognition
  3. Abstraction in Programming
  4. Algorithm Design
  5. Pseudocode Writing
  6. Debugging Strategies

37. Modern Development Tools

  1. uv
  2. Rust