Python 3: Deep Dive (Part 2 - Iterators, Generators)
Master Python's sequences, iterables, and generators! Learn how iterators and context managers simplify code and boost efficiency.
$ Need a web app, AI feature or SaaS built? Hire the devs behind TutorialSearch.io — start a project
Learn programming languages and concepts with comprehensive tutorials covering Python, JavaScript, Java, C++, and more. Master software development, algorithms, data structures, and coding best practices. Perfect for beginners and experienced developers seeking to learn new languages or strengthen their programming fundamentals.
We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.
Highest rated courses across all topics in this category.
Browse all available topics in Programming Languages
This topic covers techniques for optimizing JavaScript applications and APIs. Learn to identify performance bottlenecks, implement efficient coding practices, and leverage browser developer tools for profiling. Key areas include minimizing DOM manipulation, optimizing loops, and reducing script loading times. Achieve lightning-fast performance and enhance user experience.
Explore programming with C, C++, Python, and Ruby. This course provides practical skills in multiple languages, covering syntax, data structures, and object-oriented programming. Learn to choose the right language for different projects and build versatile software solutions. Includes real-world examples and project-based learning.
This topic explores networking concepts specifically tailored for embedded systems. It covers protocols like LIN, CAN, and Ethernet, focusing on their implementation and application in automotive and industrial contexts. Learn about network configuration, data transmission, and communication challenges in resource-constrained environments. Gain practical skills in embedded network design and troubleshooting.
Explore the fundamentals of metal fabrication, encompassing cutting, shaping, and joining techniques. This topic covers various welding processes, including TIG, MIG, and stick welding, along with metal forming methods like bending and forming. Learn about material properties, safety protocols, and practical applications for creating durable metal structures and components.
Explore the Boost C++ Libraries, a collection of peer-reviewed, portable C++ source libraries. This topic covers the purpose, benefits, and key components of Boost, enabling developers to leverage pre-built, high-quality functionalities for various C++ applications. Learn how to integrate and utilize these libraries effectively.
Explore the world of cryptography with Python! This tutorial covers fundamental encryption and decryption techniques using libraries like cryptography and PyCryptodome. Learn about symmetric and asymmetric encryption, hashing algorithms, and secure key management. Protect your data and build secure applications with Python.
Explore the inner workings of Arduino boards! This tutorial provides a step-by-step guide to building a custom Arduino, delving into components like microcontrollers, voltage regulators, and PCB design. Learn about electronics fundamentals and how Arduino hardware functions, empowering you to create more advanced projects.
Explore the mathematical foundations of 3D game development. This topic covers vectors, matrices, transformations, and linear algebra – essential for positioning objects, calculating physics, and creating realistic game mechanics. Learn to apply these concepts to enhance game visuals and gameplay. Develop practical skills for game programming.
Learn to build interactive data dashboards with Streamlit, a Python library. This topic covers creating user interfaces, data visualization techniques, and deploying Streamlit apps. Ideal for data scientists and analysts to quickly prototype and share insights. Gain practical skills in building web applications for data exploration and reporting.
This topic covers advanced C# concepts and professional development techniques. It delves into OOP principles, design patterns, and best practices for building scalable and maintainable applications. Learn about performance optimization, testing strategies, and real-world application development workflows. Focuses on practical application of C#.
Explore building systems including electrical, HVAC, and refrigeration. This topic covers electrical installation, NR10 safety protocols, and utilizing Revit for building design. Gain a comprehensive understanding of building infrastructure and prepare for a career in building engineering. Learn about system integration and sustainable building practices.
Explore COBOL and its role in mainframe systems. This topic covers COBOL syntax, data structures, file handling, and working with mainframe environments. Learn to develop and maintain legacy applications, understand mainframe architecture, and gain insights into this vital, often overlooked, area of computing. Build a career in a stable and in-demand field.
This topic covers Apache Kafka for developers, focusing on building robust producers and consumers with Spring Boot 3.x. It delves into Kafka testing using unit and integration tests, enabling enterprise-ready messaging solutions. Learn about Kafka's architecture, data streaming, and real-time data processing capabilities.
This topic covers the intersection of mobile app development and robotics, specifically focusing on controlling physical robots through mobile devices. Learn to integrate Bluetooth communication, sensor data processing, and app interfaces for remote robot control. Ideal for makers and developers interested in building interactive robotic systems.
Explore design patterns (Gang of Four) and SOLID principles within the TypeScript ecosystem. Learn to write maintainable, scalable, and testable code using object-oriented programming (OOP) concepts. This topic covers best practices for applying design patterns to build robust applications with TypeScript, enhancing code quality and reusability.
This topic covers the creation, packaging, and distribution of Python packages. Learn how to structure your code for reusability, manage dependencies with `pip`, and publish your packages to the Python Package Index (PyPI). Develop and share your own Python libraries with the wider community.
This topic covers Python programming specifically for cybersecurity applications. Learn to leverage Python's libraries for penetration testing, ethical hacking, network analysis, and vulnerability assessment. Explore security concepts and build practical tools to protect systems and data. Develop skills in scripting for security automation.
Explore the fundamentals of digital logic systems. This topic covers Boolean algebra, fundamental logic gates (AND, OR, NAND, NOR, XOR), Arithmetic Logic Units (ALUs), and their applications in digital design. Learn to analyze and design basic digital circuits, building a solid foundation for hardware and embedded systems.
Explore the world of programming with block-based coding! This topic covers visual programming concepts, logic flow, and computational thinking using platforms like Mblock. Learn to create interactive projects, control devices, and build a foundation for future coding endeavors. Ideal for beginners and educators alike.
Explore Python functions from fundamental definitions to advanced techniques. Learn about function arguments, return values, scope, and lambda functions. This topic covers code modularity, reusability, and creating efficient Python code. Includes practical examples and project-based learning for intermediate programmers.
Develop interactive data dashboards using Python and Plotly Dash. This topic covers building dynamic visualizations, data filtering, and user interface design. Learn to create dashboards for various applications, including data analysis, reporting, and real-time monitoring. Gain skills in data presentation and communication.
Develop strong data analysis skills with Python. This course covers data cleaning, transformation, visualization, and statistical analysis using libraries like Pandas, NumPy, and Matplotlib. Learn to extract insights from data, build predictive models, and automate analytical tasks. Suitable for beginners and intermediate learners alike.
Explore building dynamic and interactive web applications with real-time data updates. This topic covers technologies like SignalR, WebSockets, and server-sent events. Learn to create chat applications, collaborative tools, and live dashboards. Understand the challenges and best practices for handling real-time communication in modern web development.
Prepare for Associate Developer certifications with comprehensive practice tests. This topic covers essential coding skills, problem-solving techniques, and certification exam strategies. Boost your confidence and ensure success in your coding career. Practice tests are designed to simulate real exam conditions.
Explore using MATLAB for solving engineering challenges. This topic covers fundamental MATLAB coding techniques, numerical methods, data analysis, and visualization tailored for engineering applications. Learn to model systems, simulate processes, and analyze results effectively. Gain practical skills for engineering problem-solving.
Learn Visual Basic (VB) to develop Windows applications. This tutorial covers VB syntax, data types, control structures, and event handling. Explore GUI design, database connectivity, and building user-friendly interfaces. Suitable for beginners and those seeking to enhance their desktop application development skills with VB.
Explore network security concepts, including firewalls, intrusion detection/prevention systems, VPNs, and secure network design. Learn to protect networks from unauthorized access, malware, and data breaches. Covers security protocols, best practices, and common vulnerabilities to build robust and resilient network infrastructures.
Explore the world of connected devices with this topic. Learn about IoT devices, their architecture, communication protocols (like MQTT), and common use cases. Covers hardware (ESP32) and software (NodeRed) aspects, enabling hands-on projects and smart solutions. Discover the potential of IoT for automation and data collection.
This topic covers using Python for financial data analysis, including data cleaning, manipulation, and visualization. Learn to apply statistical methods and machine learning techniques to financial datasets. Explore algorithmic trading strategies and risk management concepts. Develop skills for quantitative finance roles.
Explore the intricacies of memory management in C, a fundamental aspect of system programming. This topic delves into manual memory allocation, dynamic memory allocation, heap structures, and techniques for preventing memory leaks. Learn to optimize memory usage and build robust, efficient C applications. Includes heap leak detection.
This topic covers the Python Django framework, a high-level web framework for rapid development. Learn about Django's architecture, models, views, templates, and URLs. Explore building robust web applications with features like user authentication, database management, and REST APIs. Gain practical skills for full-stack Python web development.
This topic covers the development of modern conversational agents. Learn to build chatbots using platforms like LINE Bot Designer and Node-RED. Explore concepts of conversational flow, API integration, and automated responses. Gain skills in creating engaging and functional chatbot experiences for various applications.
Develop robust and scalable enterprise-level applications using VB.NET and SQL Server. This topic covers database design, application architecture, user interface development, and deployment strategies. Learn to build solutions for managing business data and streamlining workflows, essential for modern businesses. Focuses on building complex, integrated systems.
This topic covers essential ABAP debugging techniques for SAP ERP systems. Learn to analyze code execution, identify and resolve errors efficiently, and optimize system performance. Covers breakpoints, watchpoints, debugging tools, and troubleshooting common ABAP issues. Ideal for SAP developers and consultants seeking to improve their debugging skills.
This topic covers the Agile Scrum framework, a popular project management methodology. Learn about Scrum roles (Product Owner, Scrum Master, Development Team), ceremonies (Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective), and artifacts (Product Backlog, Sprint Backlog). Gain insights into iterative development, collaboration, and delivering value incrementally.
Explore the exciting world of generative applications! This topic covers building dynamic web experiences using JavaScript, focusing on algorithms that create novel content. Learn to leverage JavaScript's capabilities for art, music, and interactive design. Ideal for developers seeking creative coding skills and innovative web development techniques.
This topic covers the principles and practices of flight simulation training. Learn about realistic flight simulators, navigation techniques, and safety procedures. It includes understanding flight dynamics, instrument approaches, and decision-making in simulated environments. Develop skills for confident and safe real-world flying.
Explore the power of JavaScript generators! This topic delves into the creation and usage of generator functions and iterators. Learn to implement custom iterators, control execution flow, and optimize code for memory efficiency. Unlock advanced JavaScript techniques for cleaner, more maintainable code.
Explore fundamental electronic components like capacitors and inductors. Learn their properties, applications, and how they function within circuits. This topic covers basic circuit analysis, Ohm's Law, and practical calculations for LED resistor design. A great starting point for electronics enthusiasts!
Explore the world of coding with Scratch! This topic covers fundamental programming concepts using Scratch's visual block-based interface. Learn to create interactive stories, games, and animations. Develop problem-solving skills, computational thinking, and creativity. Ideal for absolute beginners looking for a fun and engaging introduction to programming.
This topic focuses on extracting data from various sources using Python. It covers techniques like web scraping, API integration, and parsing different data formats (JSON, XML, CSV). Learn to automate data collection, clean and transform data, and prepare it for analysis. Ideal for data engineers and analysts alike.
Learn to automate video editing workflows using Python and MoviePy. This topic covers batch processing, video manipulation, and creating videos programmatically. Ideal for content creators and video professionals looking to streamline their video production process. You'll gain skills in video processing, scripting, and automation.
Learn to create professional videos using AI voice synthesis tools like Voicepeak. This topic covers using PowerPoint and Canva to generate engaging video content, leveraging AI to add realistic voiceovers, and streamlining the video creation process. Ideal for presentations, marketing, and educational materials. No software expertise required.
Explore advanced algorithmic trading with MQL5. This topic covers developing multi-strategy and multi-symbol expert advisors for the MetaTrader 5 platform. Learn to implement complex trading logic, risk management techniques, and backtesting strategies. Gain proficiency in MQL5 programming for automated trading systems.
Explore the world of aerial mapping using drones. This tutorial covers drone flight planning, data acquisition, photogrammetry techniques, and orthomosaic generation. Learn to process drone imagery for accurate topographic maps and 3D models. Ideal for surveying, construction, and environmental monitoring applications.
Learn to automate the creation of JSON and YAML files using Jsonnet. This tutorial covers the fundamentals of Jsonnet syntax, data transformations, and practical applications for simplifying data workflows. You'll gain proficiency in generating structured data for testing, configuration, and API development, improving efficiency and reducing manual effort.
This topic covers techniques for analyzing geographic data, including mapping, spatial statistics, and remote sensing. Learn to interpret satellite imagery, perform spatial queries, and create visualizations for security applications. Focuses on using GIS software and data analysis methods for situational awareness and threat detection. Develop skills in analyzing spatial patterns and trends.
This topic explores effective strategies for teaching programming to beginners. It covers common learning patterns, mentoring techniques, and approaches to supporting new programmers. Focuses on pedagogical approaches and best practices for fostering a positive and productive learning environment. Ideal for educators and those interested in improving coding instruction.
Explore strategies for generating revenue from mobile applications. This tutorial covers various monetization models like in-app purchases, advertising, subscriptions, and freemium. Learn how to implement these models effectively to build a sustainable app business and maximize your earnings. Discover best practices for user engagement and revenue optimization.
This topic covers modern PHP 8 development, encompassing both front-end and back-end skills. Learn object-oriented programming principles, database interaction, API development, and fullstack architecture. Build practical applications and prepare for a career as a versatile PHP developer. Master the entire development lifecycle.