Docs

Loops
Loops
This document explains Python loops, including for and while loops, with practical examples using lists, tuples, and the range function. It covers loop syntax, iteration methods, and common use cases for data manipulation.
Conditions and Branching
Conditions and Branching
This document explains Python conditions and branching, including comparison operators, Boolean logic, if/else/elif statements, and practical examples for decision-making in code.
Dictionaries
Dictionaries
This document explains Python dictionaries, including keys, values, creation access, modification, deletion, and methods for managing key-value pairs.
Expression Variable
Expression Variable
This document explains Python expressions and variables, including arithmetic operations, assignment, variable naming, and practical usage for storing and manipulating values.
List and Tuples
List and Tuples
This document explains Python lists and tuples, including indexing, slicing mutability, concatenation, nesting, methods, and aliasing, with practical examples for data manipulation.
Starting Jupyter
Starting Jupyter
This document provides a comprehensive introduction to Jupyter, a freely available web application for interactive computing. It covers Jupyter's key features, advantages for data science, and practical guidance on operating notebooks, including cell management, working with multiple notebooks presenting results, and managing sessions.
Strings
Strings
This document explains Python strings, including indexing, slicing concatenation, replication, immutability, escape sequences, and string methods for manipulating character data.
Types
Types
This document introduces Python data types, including integers, floats strings, booleans, and typecasting. It explains how Python represents and converts data types, with practical examples and key concepts for beginners.
Test Fixture
Test Fixture
This document explains the purpose and use of test fixtures in software testing, covering their role in establishing known states, ensuring test isolation, and the different fixture types available in PyUnit.
Writing Assertion
Writing Assertion
This document demonstrates the workflow for writing test assertions, debugging failing tests, and building robust test cases for stack operations in Python.
Test Assertion
Test Assertion
This document explains the purpose of assertions in testing, describes common PyUnit assertions, and discusses the role of happy and sad paths in test case design.
Test Case Anatomy
Test Case Anatomy
This document explains the structure of a test case, the role of test fixtures, and how frameworks help developers build assertions for reliable testing.
Test With Nose and Pytest
Test With Nose and Pytest
This document compares Python's unittest and Nose test runners, showing how to run tests, interpret reports, and use coverage tools for better code quality.
Test Driven Development Benefits
Test Driven Development Benefits
This document explains the Red/Green/Refactor workflow in TDD, its steps, and how TDD saves time and improves code reliability.
Case Study
Case Study
This document presents a case study on the practical application of TDD and BDD in a real-world software project, highlighting challenges, solutions, and lessons learned for effective testing and delivery.
Introduction to Test-Driven and Behavior-Driven Development
Introduction to Test-Driven and Behavior-Driven Development
This document explores the principles and workflows of Test-Driven Development (TDD) and Behavior-Driven Development (BDD), highlighting their benefits techniques, and practical applications in software engineering.
TDD and BDD
TDD and BDD
This document compares test-driven development (TDD) and behavior-driven development (BDD), explaining their differences, complementary roles, and how they support robust software design and testing.
Testing Importance
Testing Importance
This document explores why testing is essential in software engineering drawing lessons from the Apollo program and connecting them to modern DevOps and automation practices.
Testing Levels
Testing Levels
This document explains the four main levels of software testing—unit integration, system, and acceptance—and describes how each fits into the traditional release cycle and environments.
Why don't Developers want to test?
Why don't Developers want to test?
This document explores common reasons developers avoid testing, the risks of skipping tests, and the long-term benefits of maintaining a robust test suite for code reliability and collaboration.