Reading Files
This document explains how to read files in Python using the open function file objects, reading methods, and best practices for file handling and data extraction.
Module Summary
This document provides a concise overview of Python conditions, branching loops, functions, exception handling, and object-oriented programming summarizing their practical applications and key concepts for effective Python development.
Objects and Classes
This document explains Python objects and classes, including data types attributes, methods, class construction, and practical examples for object-oriented programming.
Exception Handling
This document explains Python exception handling, including try, except, else and finally statements, with practical examples for robust error management and program control.
Functions
This document explains Python functions, including built-in and user-defined functions, their syntax, scope, parameters, and practical use cases for code reuse and data processing.
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.
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.
Strings
This document explains Python strings, including indexing, slicing concatenation, replication, immutability, escape sequences, and string methods for manipulating character data.
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.
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.
Expression Variable
This document explains Python expressions and variables, including arithmetic operations, assignment, variable naming, and practical usage for storing and manipulating values.
Dictionaries
This document explains Python dictionaries, including keys, values, creation access, modification, deletion, and methods for managing key-value pairs.
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.
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
This document demonstrates the workflow for writing test assertions, debugging failing tests, and building robust test cases for stack operations in Python.
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
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
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
This document explains the Red/Green/Refactor workflow in TDD, its steps, and how TDD saves time and improves code reliability.
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.
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.
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.
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.
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.
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.
System Design Overview
This document introduces the essential concepts and building blocks of system design, including client-server architecture, DNS, proxies, HTTP/HTTPS, APIs databases, and scaling strategies for modern applications.
Overview of Microservices
This document explores the evolution from monolithic to microservices architectures, highlighting their differences, challenges, and best practices for building, scaling, and communicating between services.
Pulling Image from a Repository
This lab guides you through pulling an image from Docker Hub and running it as a container. It is a simple exercise to familiarize you with Docker commands and the process of working with container images.
Service Binding
Explains the concept, process, and best practices of service binding in Kubernetes, including how to securely connect applications to external services using secrets and environment variables.
Config Map and Secrets
Explains Kubernetes ConfigMaps and Secrets, their characteristics, creation methods, and usage for managing configuration and sensitive data in deployments.