
NumPy Indexing on ndarrays
In this lab, we will explore the basics of indexing in NumPy. Indexing allows us to access and manipulate specific elements or subsets of elements in an array. Understanding how to use indexing effectively is crucial for working with arrays in NumPy.
NumPyPython

NumPy Data Types
This lab will provide a step-by-step guide to understanding the different data types available in NumPy, and how to modify an array's data type. NumPy supports a wide range of numerical types, including booleans, integers, floating point numbers, and complex numbers. Understanding these data types is important for performing various numerical computations and data analysis tasks using NumPy.
NumPyPython

NumPy Universal Functions
In this lab, we will explore the basics of NumPy Universal Functions (ufuncs). Ufuncs are functions that operate on ndarrays in an element-by-element fashion, supporting array broadcasting, type casting, and other standard features. We will learn about the different methods of ufuncs, broadcasting rules, type casting rules, and how to override ufunc behavior.
NumPyPython

NumPy Broadcasting
Broadcasting is a powerful feature in NumPy that allows arrays with different shapes to be used in arithmetic operations. It provides a way to vectorize array operations and improve computational efficiency. This lab will guide you through the basics of broadcasting in NumPy.
NumPyPython

NumPy Copies and Views
In this lab, you will learn the basics of working with NumPy arrays. NumPy is a powerful library for numerical computing in Python. It provides efficient data structures and functions for performing mathematical operations on arrays.
NumPyPython

NumPy Structured Arrays
In this lab, we will learn about structured arrays in NumPy. Structured arrays are ndarrays whose datatype is a composition of simpler datatypes organized as a sequence of named fields. They are useful for working with structured data, such as tabular data, where each field represents a different attribute of the data.
NumPyPython

NumPy IO Genfromtxt
In this lab, we will learn how to import data using the numpy.genfromtxt function. This function allows us to read tabular data from various sources and convert it into NumPy arrays. We will explore different options for defining the input, splitting the lines into columns, choosing columns, setting the data type, and tweaking the conversion.
NumPyPython

NumPy Array Creation
This lab provides a step-by-step guide on how to create arrays using NumPy, a fundamental library for array containers in Python. You will learn different methods for array creation, including converting Python sequences, using intrinsic NumPy array creation functions, replicating and joining existing arrays, and reading arrays from disk.
NumPyPython

Manage Dictionaries in Python
In this lab, you will gain hands-on experience managing dictionaries in Python. Dictionaries are essential data structures for storing data in key-value pairs. You will learn how to create and inspect dictionaries, access and modify elements, add and delete elements, and explore dictionary view objects.
Python

Documenting Python Functions with Docstrings
In this lab, you will learn the importance of documenting your Python code using docstrings. We will explore how to access existing docstrings for built-in functions using the help() function and the __doc__ attribute. Furthermore, you will gain practical experience in writing your own docstrings for custom functions and verifying their accessibility using the help() function, making your code more understandable and maintainable.
Python

Handle Exceptions with try except in Python
In this lab, you will learn how to effectively handle exceptions in Python using the `try...except` statement. We will explore how to catch specific exceptions like `ValueError`, handle multiple exception types, and execute code regardless of whether an exception occurred using `else` and `finally` blocks. You will also learn how to raise custom exceptions to signal specific error conditions in your code. Through hands-on exercises, you will gain practical experience in writing robust and error-tolerant Python programs.
Python

Use Tuples in Python
In this lab, you will gain a comprehensive understanding of tuples in Python. You will learn how to create tuples, access their elements using indexing and slicing, and explore how to modify them through techniques like slicing and concatenation, keeping in mind their immutable nature. Furthermore, you will delve into tuple operators and unpacking, discovering how to efficiently work with tuple data. Finally, you will explore and utilize common built-in tuple functions and methods to perform various operations on tuples.
Python

Handle Input and Output in Python
In this lab, you will learn the fundamental concepts of handling input and output in Python. We will explore how to display information to the console using the print() function, including controlling separators between multiple arguments. Furthermore, you will gain practical experience in obtaining user input from the keyboard, writing data to files, and reading data back from files, covering essential skills for interacting with external data sources in your Python programs.
Python

Define Classes and Objects in Python
In this lab, you will learn the fundamental concepts of Object-Oriented Programming (OOP) in Python. We will explore how to define classes, which serve as blueprints for creating objects, and understand the relationship between classes and objects. You will then gain practical experience by creating and using instances of your defined classes. The lab will guide you through initializing objects with the __init__ method to set their initial state and customizing their string representation using the __repr__ method for better debugging and readability.
Python

Manipulate Lists in Python
In this lab, you will gain hands-on experience manipulating lists in Python, a fundamental data structure. You will learn to create, access, add, remove, modify, sort, query, and nest lists. By the end, you'll effectively work with lists to manage and process data in your Python programs.
Python

Define and Use Functions in Python
In this lab, you will learn how to define and use functions in Python. Functions are essential for organizing code and promoting reusability. You will begin by understanding the concept of functions and exploring Python's built-in functions, learning how to call them with parameters and observe their output. Following the exploration of built-in functions, you will learn how to define your own simple functions. Finally, you will practice calling these user-defined functions to execute the code blocks they contain, solidifying your understanding of function creation and usage in Python.
Python

Import Modules and Packages in Python
In this lab, you will learn how to import and use modules and packages in Python. We will explore Python modules with pydoc, import modules using import, import specific objects with from...import, and understand Python packages. This lab provides hands-on practice for effective code organization and reuse.
Python

Add Comments in Python
In this lab, you will learn the importance and practical application of comments in Python programming. Comments are essential for making your code understandable to humans, which is crucial for maintenance and collaboration, especially as programs grow in complexity. You will explore different types of comments and understand how to use them effectively.
Python