
External
Intro to Programming with Programming Fundamentals and Python for Everyone
- Publisher
- LibreTexts
- Source
- LibreTexts
- Language
- EN
- Category
- Information Technology
Contents· 331 sections
- 01: Welcome to Programming
- 1.01: What is a program
- 1.02: Integrated Development Environment
- 1.03: Terminology - Interpreter and Compiler
- 1.04: Why should you learn to write programs
- 1.05: Creativity and Motivation
- 1.06: Understanding Programming
- 1.07: The Learning Journey
- 02: Commands
- 2.01: Hello World
- 2.02: Words and Sentences
- 2.03: Conversing with Python
- 2.04: What could possibly go wrong
- 2.05: Comments
- 2.06: Comments
- 03: Principles of Structured Programming
- 3.01: The Building Blocks of Programs
- 3.02: Structured Programming
- 04: Functions and Events
- 4.01: Modular Programming
- 4.02: Why functions
- 4.03: Function Calls
- 4.04: Definitions and Uses
- 4.05: Flow of Execution
- 4.06: Parameters and Arguments
- 4.07: Parameters and Arguments
- 05: Algorithms and Design
- 5.01: Thinking Algorithmically
- 5.02: Program Design
- 5.03: Program Quality
- 06: Math and Variables
- 6.01: Arithmetic Operators
- 6.02: Order of Operations
- 6.03: Constants and Variables
- 6.04: Identifier Names
- 6.05: Variable names and Keywords
- 6.06: Choosing Mnemonic Variable Names
- 6.07: Statements
- 6.08: Assignment
- 6.09: Variables
- 6.10: Updating Variables
- 6.11: Python Examples
- 6.12: Arrays and Lists
- 6.13: Index Notation
- 6.14: A list is a sequence
- 6.15: Lists are mutable
- 6.16: Debugging
- 07: Problem Solving and Design
- 7.01: Pseudocode
- 7.02: Flowcharts
- 7.03: Activity 3 - Using pseudo-codes and flowcharts to represent algorithms
- 08: Decisions
- 8.01: Relational Operators
- 8.02: Boolean Expressions
- 8.03: Conditional Execution
- 8.04: If Then Else
- 8.05: Alternative Execution
- 8.06: Assignment vs Equality
- 8.07: Code Blocks
- 8.08: Chained Conditionals
- 09: Helper Functions
- 9.01: Adding New Functions
- 9.02: Definitions and Uses
- 9.03: Why functions
- 9.04: Flow of Execution
- 9.05: Function Examples
- 9.06: Hierarchy or Structure Chart
- 10: Nested Decision
- 10.01: Logical Operators
- 10.02: Logical Operators
- 10.03: Nested If Then Else
- 10.04: Condition Examples
- 10.05: Python Examples
- 10.06: Nested Conditionals
- 10.07: Catching exceptions Using Try and Except
- 11: Software Development Life Cycle
- 11.01: Systems Development Life Cycle
- 11.02: Software Testing
- 11.03: Version Control
- 11.04: Programming Style
- 12: Variable Scope
- 12.01: Scope
- 13: For Loops
- 13.01: Iteration Control Structures
- 13.02: For Loop
- 13.03: Definite loops using for
- 13.04: Counting and Summing Loops
- 14: More Math and Random Numbers
- 14.01: Integer Division and Modulus
- 14.02: Modulus Operator
- 14.03: Standard Libraries
- 14.04: Random Numbers
- 14.05: Math Functions
- 15: Nested For Loops
- 15.01: Nested For Loops
- 16: Data Types and User Input
- 16.01: Data Types
- 16.02: Integer Data Type
- 16.03: Floating-Point Data Type
- 16.04: String Data Type
- 16.05: Boolean Data Type
- 16.06: Values and Types
- 16.07: Data Type Conversions
- 16.08: Input and Output
- 16.09: Asking the user for input
- 17: Strings
- 17.01: Strings
- 17.02: A string is a sequence
- 17.03: String Functions
- 17.04: String Operations
- 17.05: Getting the length of a string using len
- 17.06: Traversal through a string with a loop
- 17.07: String Slices
- 17.08: Strings are immutable
- 17.09: Looping and Counting
- 17.10: The in operator
- 17.11: String Comparison
- 17.12: String Methods
- 17.13: Parsing strings
- 17.14: String Formatting
- 17.15: Format operator
- 18: While Loops
- 18.01: While Loop
- 18.02: The while Statement
- 18.03: Flag Concept
- 18.04: Infinite Loops
- 18.05: Loop patterns
- 18.06: Maximum and Minimum Loops
- 18.07: Loop Examples
- 18.08: Python Examples
- 19: Lists
- 19.01: Arrays and Lists
- 19.02: Index Notation
- 19.03: Displaying Array Members
- 19.04: Traversing a List
- 19.05: List operations
- 19.06: List Slices
- 19.07: List Methods
- 19.08: Deleting Elements
- 19.09: Math Statistics with Arrays
- 19.10: Searching Arrays
- 19.11: Sorting Arrays
- 19.12: Parallel Arrays
- 19.13: Multidimensional Arrays
- 20: Function Return
- 20.01: Return Statement
- 20.02: Fruitful functions and void functions
- 20.03: Python Examples
- 21: File Input Output
- 21.01: File Input and Output
- 21.02: Opening Files
- 21.03: Text files and Lines
- 21.04: Reading Files
- 21.05: Writing Files
- 21.06: Using try except and open
- 21.07: Loading an Array from a Text File
- 21.08: Letting the user choose the file name
- 21.09: Searching through a File
- 21.10: Python Examples
- 22: Searching and Sorting Algorithms
- 22.01: Activity 1 - Searching Algorithm
- 22.02: Activity 2 - Sorting Algorithm
- 23: Object Oriented Programming
- 23.01: Managing Larger Programs
- 23.02: Getting Started
- 23.03: Objects and Classes
- 23.04: Using Objects
- 23.05: Our First Python Object
- 23.06: Python Examples
- 24: Networked Programs
- 24.01: HyperText Transfer Protocol - HTTP
- 24.02: The World's Simplest Web Browser
- 24.03: Retrieving an image over HTTP
- 24.04: Retrieving web pages with urllib
- 24.05: Parsing HTML and scraping the web
- 24.06: Parsing HTML using regular expressions
- 24.07: Parsing HTML using BeautifulSoup
- 24.08: Reading binary files using urllib
- 24.E: Networked Programs (Exercises)
- 24.G: Networked Programs (Glossary)
- 25: Python and Web Services
- 25.01: eXtensible Markup Language - XML
- 25.02: Looping through Nodes
- 25.03: JavaScript Object Notation - JSON
- 25.04: Parsing JSON
- 25.05: Application Programming Interfaces
- 25.06: Google geocoding web service
- 25.07: Security and API usage
- 25.E: Python and Web Services (Exercises)
- 25.G: Python and Web Services (Glossary)
- 26: Algorithms
- 26.01: Activity 1 - Overview of Algorithm Design and Analysis
- 26.02: Activity 1 - Introduction to Algorithms and Problem Solving
- 26.03: Activity 2 - The characteristics of an algorithm
- 27: Additional Fundamentals of Programming
- 27.01: Introduction
- 27.1.01: Computer Hardware Architecture
- 27.1.02: Writing a Program
- 27.1.E: Introduction (Exercises)
- 27.1.G: Introduction (Glossary)
- 27.02: Introduction to Programming
- 27.2.01: C Examples
- 27.2.02: C Examples
- 27.2.03: Java Examples
- 27.2.04: JavaScript Examples
- 27.2.05: Swift Examples
- 27.2.06: Practice- Introduction to Programming
- 27.03: Data and Operators
- 27.3.01: JavaScript Examples
- 27.3.02: Swift Examples
- 27.3.03: Practice- Data and Operators
- 27.3.04: Nothing Data Type
- 27.3.05: Lvalue and Rvalue
- 27.3.06: Input-Process-Output Model
- 27.3.07: C Examples
- 27.3.08: C Examples
- 27.3.09: Java Examples
- 27.04: Functions
- 27.4.01: Call by Value vs. Call by Reference
- 27.4.02: Void Data Type
- 27.4.03: C Examples
- 27.4.04: C Examples
- 27.4.05: Java Examples
- 27.4.06: JavaScript Examples
- 27.4.07: Swift Examples
- 27.4.08: Practice- Functions
- 27.05: Conditions
- 27.5.01: Case Control Structure
- 27.5.02: C Examples
- 27.5.03: C Examples
- 27.5.04: Java Examples
- 27.5.05: JavaScript Examples
- 27.5.06: Swift Examples
- 27.5.07: Practice- Conditions
- 27.5.08: Selection Control Structures
- 27.06: Loops
- 27.6.01: Do While Loop
- 27.6.02: Branching Statements
- 27.6.03: Integer Overflow
- 27.6.04: C Examples
- 27.6.05: C Examples
- 27.6.06: Java Examples
- 27.6.07: JavaScript Examples
- 27.6.08: Swift Examples
- 27.6.09: Practice- Loops
- 27.07: Arrays and Lists
- 27.7.01: Arrays and Functions
- 27.7.02: Dynamic Arrays
- 27.7.03: C Examples
- 27.7.04: C Examples
- 27.7.05: Java Examples
- 27.7.06: JavaScript Examples
- 27.7.07: Python Examples
- 27.7.08: Swift Examples
- 27.7.09: Practice- Arrays and Lists
- 27.08: Strings and Files
- 27.8.01: C Examples
- 27.8.02: C Examples
- 27.8.03: Java Examples
- 27.8.04: JavaScript Examples
- 27.8.05: Swift Examples
- 27.8.06: Practice- Strings and Files
- 27.09: Object-Oriented Programming
- 27.9.01: Encapsulation
- 27.9.02: Inheritance and Polymorphism
- 27.9.03: C Examples
- 27.9.04: C Examples
- 27.9.05: Java Examples
- 27.9.06: JavaScript Examples
- 27.9.07: Swift Examples
- 27.9.08: Practice
- 28: Additional Python 4 Everyone
- 28.01: A trip to Jupyter
- 28.1.01: Jupyter Notebooks
- 28.1.02: Code and Output
- 28.02: Variables Expressions and Statements
- 28.2.01: Variable names and Keywords
- 28.2.02: Operators and Operands
- 28.2.03: Expressions
- 28.2.04: Order of Operations
- 28.2.05: Choosing Mnemonic Variable Names
- 28.2.06: Debugging
- 28.2.E: Variables Expressions and Statements (Exercises)
- 28.2.G: Glossary
- 28.03: Conditional Execution
- 28.3.01: Short-Circuit Evaluation of Logical Expressions
- 28.3.02: Debugging
- 28.3.E: Conditional Execution (Exercises)
- 28.3.G: Conditional Execution (Glossary)
- 28.04: Functions
- 28.4.01: Function Calls
- 28.4.02: Built-in Functions
- 28.4.03: Type Conversion Functions
- 28.4.04: Parameters and Arguments
- 28.4.05: Debugging
- 28.4.E: Functions (Exercises)
- 28.4.G: Functions (Glossary)
- 28.05: Iterations
- 28.5.01: Infinite loops and break
- 28.5.02: Finishing iterations with continue
- 28.5.03: Debugging
- 28.5.E: Iterations (Exercises)
- 28.5.G: Iterations (Glossary)
- 28.06: Strings
- 28.6.01: Debugging
- 28.6.E: Strings (Exercises)
- 28.6.G: Strings (Glossary)
- 28.07: Files
- 28.7.01: Persistence
- 28.7.02: Debugging
- 28.7.E: Files (Exercises)
- 28.7.G: Files (Glossary)
- 28.08: Lists
- 28.8.01: Lists and Functions
- 28.8.02: Lists and Strings
- 28.8.03: Parsing lines
- 28.8.04: Objects and Values
- 28.8.05: Aliasing
- 28.8.06: List arguments
- 28.8.07: Debugging
- 28.8.E: Lists (Exercises)
- 28.8.G: Lists (Glossary)
- 28.09: Object-Oriented Programming
- 28.9.01: Starting with Programs
- 28.9.02: Subdividing a Problem - Encapsulation
- 28.9.03: Classes as Types
- 28.9.04: Many Instances
- 28.9.05: Object Lifecycle
- 28.9.06: Inheritance
- 28.9.G: Object-Oriented Programming (Glossary)
- 28.9.S: Object-Oriented Programming (Summary)