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¶
- Python Interpreter Overview
- Python 2 vs Python 3
- Browser-Based Python Environments
- Repl.it Online IDE
- Thonny Beginner IDE
- Spyder Scientific IDE
- VS Code Editor
- Jupyter Notebooks
- JupyterLab Environment
- Conda Package Manager
- pip Package Installer
- Virtual Environments
- Installing Python Locally
- Running Scripts from Terminal
- Python REPL Shell
- Raspberry Pi Python Platform
- Skulpt Browser Python
- Google Colab Environment
- Command Line Basics
- File System Navigation
2. Basic Syntax & Output¶
- print() Function
- Single-Line Comments
- Multi-Line Strings
- Indentation as Syntax
- Case Sensitivity
- Python Keywords
- Blank Lines and Readability
- Code Block Structure
- Statement vs Expression
- Whitespace Rules
3. Variables & Assignment¶
- Variable Definition and Assignment
- Variable Naming Rules
- Snake_case Convention
- Meaningful Variable Names
- Multiple Assignment
- Augmented Assignment Operators
- Constants by Convention
- Variable Reassignment
- Swap Two Variables
- Naming Conflicts to Avoid
4. Data Types — Numeric¶
- Integer Type
- Float Type
- Division Returns Float
- Integer Division Operator
- Modulo Operator
- Exponentiation Operator
- Arithmetic Operators
- Order of Operations
- Negative Numbers
- Scientific Notation Floats
5. Data Types — Boolean¶
- Boolean Type
- Comparison Operators
- Logical Operators
- Truthiness and Falsiness
- Short-Circuit Evaluation
- Boolean in Conditions
- Chained Comparisons
6. Data Types — Strings¶
- String Type
- Single vs Double Quotes
- String Concatenation
- String Repetition
- String Indexing
- String Slicing
- Escape Characters
- String Length with len()
- String lower() upper() strip()
- String split() join() replace()
- String startswith() endswith() find()
- String isdigit() isalpha() isalnum()
- String format() Method
- f-Strings
- String Immutability
- Raw Strings
- String Comparison
- Multiline String Formatting
7. Data Types — None¶
- None Value and NoneType
- Functions Returning None
- Checking for None with is
8. Type Conversion¶
- int() Conversion
- float() Conversion
- str() Conversion
- bool() Conversion
- type() Function
- isinstance() Function
- Implicit vs Explicit Conversion
9. User Input¶
- input() Function
- Prompting the User
- Converting Input to Numbers
- Input Validation Basics
- Reading Multiple Inputs
- Strip Whitespace from Input
10. Control Flow — Conditionals¶
- if Statement
- if...else Block
- elif Chains
- Nested if Statements
- Conditional Ternary Expression
- match/case Statement
- Truthiness in Conditions
- Compound Conditions
11. Control Flow — Loops¶
- for Loop over Sequence
- for Loop with range()
- range(start, stop, step)
- while Loop
- break Statement
- continue Statement
- else Clause on Loops
- Nested Loops
- Loop Counter Variable
- Infinite Loops to Avoid
- enumerate() Function
- zip() Function
- Loop Accumulator Pattern
- Loop with List Building
- Countdown Loop
12. Functions¶
- Defining a Function with def
- Calling a Function
- Positional Parameters
- Default Parameter Values
- Keyword Arguments
- return Statement
- Functions Returning None
- Local Scope
- Global Scope
- global Keyword
- nonlocal Keyword
- Docstrings
- Pure Functions vs Side Effects
- Recursion Concept
- Recursion Base Case
- Recursion Depth and Stack
- Lambda Functions
- Variable Number of Arguments *args
- Keyword Variable Arguments **kwargs
- Function as Argument (Higher-Order)
- Nested Functions
- Returning Multiple Values
13. Collections — Lists¶
- List Type
- Creating a List
- List Indexing
- Negative Indexing
- List Slicing
- len() for Lists
- List append() insert() extend()
- List remove() pop() clear()
- List sort() reverse() copy()
- List index() count()
- Membership with in Operator
- List Concatenation and Repetition
- Iterating over a List
- Nested Lists
- List Comprehensions
- Mutable vs Immutable Types
- List as Stack
- List as Queue
14. Collections — Tuples¶
- Tuple Type
- Creating a Tuple
- Tuple Indexing and Slicing
- Tuple Unpacking
- Tuples vs Lists
- Single-Element Tuple Syntax
- Named Tuple Concept
- Tuple as Return Value
15. Collections — Dictionaries¶
- Dictionary Type
- Creating a Dictionary
- Accessing Values by Key
- dict get() Method
- Adding and Updating Key-Value Pairs
- Removing Entries pop() del
- Dictionary keys() values() items()
- Iterating over a Dictionary
- Key Membership with in
- Nested Dictionaries
- Dictionary Comprehensions
- Default Dictionary Pattern
- Dictionary from Two Lists with zip()
16. Collections — Sets¶
- Set Type
- Creating a Set
- Set Union Intersection Difference
- Set add() remove() discard()
- Set Membership with in
- Frozensets
17. Built-in Functions¶
- print() Output Function
- input() Read Input
- len() Sequence Length
- range() Number Sequence
- type() Get Object Type
- int() float() str() bool() Conversions
- list() tuple() set() dict() Constructors
- max() min() Functions
- sum() Function
- abs() Absolute Value
- round() Function
- sorted() Function
- reversed() Function
- enumerate() with Index
- zip() Combine Iterables
- map() Apply Function
- filter() Filter Items
- dir() List Attributes
- help() Documentation
- id() Object Identity
- hash() Function
- any() and all() Functions
- chr() and ord() Functions
18. Modules & Imports¶
- import Statement
- from...import Specific Names
- import...as Alias
- from...import Star
- Creating Custom Modules
- name == "main" Guard
- Standard Library Overview
- Module Search Path
- Reloading a Module
19. Standard Library — random¶
- random Module Overview
- random.randint()
- random.choice()
- random.shuffle()
- random.seed()
- random.random() Float
- random.sample()
20. Standard Library — math¶
- math Module Overview
- math.sqrt() floor() ceil()
- math.sin() cos() pi
- math.radians() degrees()
- math.log() exp()
- math.factorial()
21. Standard Library — Other Modules¶
- string Module Constants
- time Module Overview
- time.sleep()
- sys Module
- sys.path Search Path
- os Module
- os.path Operations
- json Module Overview
- json.loads() json.dumps()
- json.load() json.dump()
- csv Module Basics
- datetime Module Basics
- collections Module
- itertools Module Overview
22. Regular Expressions¶
- re Module Import
- re.search() First Match
- re.findall() All Matches
- re.split() Split by Pattern
- re.sub() Substitute Matches
- Digit Word Whitespace Patterns
- Anchors Start and End
- Character Classes
- Quantifiers Plus Star Question
- Alternation with Pipe
- Escaping Special Characters
- Raw Strings for Regex
- Regex Groups with Parentheses
- Compiled Regex Patterns
23. File Input/Output¶
- open() Function
- File Modes r w a b
- file.read()
- file.readlines()
- file.readline()
- file.write()
- file.close()
- with Statement Context Manager
- Iterating over File Lines
- Text Processing strip() lower()
- CSV File Reading
- CSV File Writing
- Reading JSON from File
- Writing JSON to File
- File Path Handling
- Checking if File Exists
24. Error Handling¶
- Syntax vs Runtime vs Logic Errors
- Common Exception Types
- Reading a Traceback
- try...except Block
- Catching Specific Exceptions
- else Clause in try/except
- finally Clause
- raise Statement
- assert Statement
- Debugging with print()
- Using Search Engines to Debug
- Exception Hierarchy
- Custom Exception Classes
- Exception Chaining
25. Object-Oriented Programming¶
- Objects and Classes Overview
- Attributes of an Object
- Methods of an Object
- class Keyword
- init() Constructor
- self Parameter
- Creating Class Instances
- Accessing Attributes and Methods
- String Methods as OOP Examples
- List Methods as OOP Examples
- Inheritance Basics
- str() String Representation
- repr() Developer Representation
- Subclasses and Method Overriding
- super() Function
- Class Variables vs Instance Variables
- Static Methods
- Properties with @property
- Dunder Methods Overview
- Object Composition
26. Turtle Graphics¶
- import turtle
- turtle.Turtle() Object
- turtle.Screen() Object
- Screen Setup and bgcolor()
- Movement forward() backward()
- Turning left() right()
- Absolute Positioning goto()
- Pen Control penup() pendown()
- Pen Size and Color
- Fill begin_fill() end_fill()
- Drawing circle() and Polygons
- Turtle Appearance shape()
- Hiding and Showing Turtle
- Writing Text with turtle.write()
- Clearing and Resetting
- Position Query xcor() ycor()
- Speed Control speed()
- setheading() Direction
- onscreenclick() Event Handler
- Animation with Turtle Loops
- Color Picker with Turtle
- Fractals with Recursion and Turtle
- Sine Wave with Turtle and Math
- Drawing Star Patterns
- Turtle Race Simulation
- Maze Visualization with Turtle
27. Data Visualization¶
- matplotlib Library Overview
- import matplotlib.pyplot as plt
- plt.plot() Line Plot
- plt.show() Display
- Plot Title and Axis Labels
- plt.grid() Grid Lines
- Plotting a Sine Wave
- Lists as XY Plot Data
- plt.scatter() Scatter Plot
- plt.bar() Bar Chart
- plt.hist() Histogram
- plt.legend() Legend
- plt.savefig() Save Plot
- Multiple Lines on One Plot
- Subplots with plt.subplot()
28. Numerical Computing — NumPy¶
- numpy Library Overview
- import numpy as np
- np.array() Creating Arrays
- np.argmax() Index of Max
- Array Operations and Broadcasting
- Reshaping Arrays
- np.zeros() np.ones()
- np.linspace() Evenly Spaced Values
- Array Slicing and Indexing
- Element-wise Math Operations
- np.mean() np.std()
29. Image Processing¶
- PIL Pillow Library Overview
- Image.open() Open Image
- image.show() Display Image
- Pixel Data and Image Arrays
- Image Resize and Crop
- Image Color Conversion
- Saving Images
30. Data Structures & Algorithms¶
- Abstract Data Types Overview
- Stack LIFO Structure
- Queue FIFO Structure
- Queue enqueue() dequeue()
- Graph Nodes and Edges
- Adjacency List Representation
- Breadth-First Search BFS
- BFS Color Tracking
- BFS for Path Finding
- Depth-First Search DFS
- DFS with Recursion
- DFS and BFS for Maze Solving
- Sorting Algorithms Overview
- Bubble Sort
- Selection Sort
- Insertion Sort
- Binary Search Concept
- Time Complexity Big-O Overview
- Space Complexity Overview
- Linked List Concept
- Tree Data Structure Concept
- Binary Tree Basics
31. Machine Learning & Neural Networks¶
- Machine Learning Overview
- Supervised vs Unsupervised Learning
- keras Library Overview
- Sequential Model
- Dense Fully Connected Layers
- Activation Functions relu softmax
- Conv2D Convolutional Layers
- MaxPooling2D Pooling Layers
- Dropout Regularization
- Flatten Layer
- model.compile()
- model.fit() Training
- model.evaluate() Testing
- model.predict() Inference
- Categorical Crossentropy Loss
- Adam Optimizer
- Accuracy Metric
- Batch Size and Epochs
- MNIST Dataset
- Data Normalization
- Convolutional Neural Networks
- Feedforward Networks
- Recurrent Networks RNN Overview
- LSTM Networks Overview
- Autoencoders Overview
- Training vs Validation vs Test Sets
- Overfitting Concept
- Feature Extraction
32. Graphics in Jupyter¶
- ipycanvas Canvas in Jupyter
- mobilechelonian Turtle in Jupyter
- Drawing Shapes on Canvas
- Color Bars in Jupyter
33. Event-Driven Programming¶
- Event-Driven Programming Model
- Mouse Click Event Handlers
- Keyboard Event Handlers
- Callback Functions
- Animation Loops
- Event Queue Concept
- Timer-Based Events
34. Programming Practices¶
- Modularity in Code
- Code Reusability
- DRY Principle
- Meaningful Names
- Code Comments When and Why
- Literate Programming in Jupyter
- Reading Docs with help() and dir()
- Version Control Basics
- Searching Documentation
- Code Refactoring
- Test-Driven Thinking
- Pair Programming Concept
35. Color & Graphics Concepts¶
- Named Colors
- Hex Color Values
- RGB Color Model
- Color in Turtle Graphics
- Background and Pen Colors
- HSL Color Model
- Color Theory Basics
- Transparency and Alpha
36. Computational Thinking Foundations¶
- Decomposition
- Pattern Recognition
- Abstraction in Programming
- Algorithm Design
- Pseudocode Writing
- Debugging Strategies
37. Modern Development Tools¶
- uv
- Rust