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
Explore modern programming languages like V, Rust, and Go. This course covers their syntax, memory management, concurrency models, and application domains. Learn to write efficient, safe, and performant code for various projects. Gain insights into the latest trends in language design and development.
Explore the fundamental concepts of Python programming. This topic covers core syntax, data types (lists, dictionaries, etc.), control flow (if/else, loops), and defining functions. You'll learn to write simple programs and build a solid foundation for more advanced Python development. Perfect for beginners!
Explore the core concepts of programming, including variables, data types, control flow, and functions. This tutorial provides a foundational understanding applicable across various programming languages. Learn to problem-solve using algorithmic thinking and build the basis for more advanced coding skills. Discover how to choose the right tools for your projects.
This topic covers JavaScript fundamentals and advanced concepts essential for front-end development. Learn DOM manipulation, asynchronous JavaScript, ES6+ features, and build interactive user interfaces. It's designed for aspiring developers aiming to build dynamic web applications and gain a competitive edge in the job market.
A beginner-friendly introduction to Java object-oriented programming. Covers core concepts like classes, objects, inheritance, polymorphism, and encapsulation. Includes practical exercises to build a solid foundation for Java development. Learn to design and implement robust, reusable code for various applications.
Explore Object-Oriented Programming (OOP) principles. This topic covers classes, objects, encapsulation, inheritance, and polymorphism. Learn to design and build modular, reusable, and maintainable software systems using OOP paradigms. Practical exercises reinforce core concepts for effective software development.
This topic covers the fundamentals of automation development, equipping learners with skills to streamline workflows and enhance efficiency. It explores core concepts, practical techniques, and tools for automating repetitive tasks. Learn to design, implement, and maintain robust automation solutions, boosting productivity and career prospects.
Develop practical Python applications with this comprehensive tutorial. Learn to build real-world solutions, from simple scripts to more complex programs. Covers project planning, code structure, and best practices for creating maintainable and scalable Python applications. Ideal for those seeking hands-on experience.
Explore Git hooks and automation tools to streamline your development workflow. Learn to automate tasks like code validation, testing, and deployment. Discover how to use Git attributes and submodules for enhanced project management and efficient bug detection. Boost productivity and improve code quality with Git automation.
Develop robust web applications using the Spring Framework. This topic covers core Spring concepts like dependency injection, aspect-oriented programming, and Spring MVC. Learn to build RESTful APIs, manage transactions, and integrate with databases. Gain practical skills for enterprise-level Java development.
This topic covers the fundamentals of embedded systems, focusing on hardware and software integration. Learn about microcontrollers like STM32, real-time operating systems (RTOS), and communication protocols. Explore applications in IoT, industrial automation, and robotics. Gain practical skills for designing and developing embedded solutions.
Explore Elixir, a powerful functional language. This topic covers core concepts like immutability, pure functions, and pattern matching. Learn to build scalable and concurrent applications using Elixir's robust features. Gain proficiency in functional programming paradigms and their application in modern software development.
General tutorials for Programming Languages that don't fit specific topics
Explore fundamental algorithms in C++! This topic covers sorting, searching, and common algorithmic patterns. Learn to implement efficient solutions for data manipulation and problem-solving. Includes practical examples and LeetCode exercises to enhance your C++ skills and prepare for technical interviews.
Deep dive into Python's core concepts and advanced applications. Covers object-oriented programming, data structures, algorithms, and design patterns. Learn to build robust and scalable applications using Python. Explore machine learning, web development, and data science with Python. Develop problem-solving skills.
Learn PHP for building dynamic websites and web applications. This topic covers core PHP concepts, including syntax, variables, control structures, and working with databases. You'll gain practical skills to create interactive web pages and understand server-side scripting with PHP. Build a strong foundation for a career in web development.
Explore the key enhancements introduced in C# 9. This topic covers features like record types, pattern matching, global using directives, and improved nullability. Learn how these modern features streamline development, enhance code readability, and boost productivity. Ideal for C# developers seeking to leverage the latest language capabilities.
Learn the fundamentals of version control using Git and GitHub. This topic covers creating repositories, committing changes, branching, merging, and collaborating with others. Gain essential skills for managing code history, tracking modifications, and working effectively in team environments. Ideal for software developers.
Explore TypeScript, a superset of JavaScript, designed to enhance code quality. This topic covers core TypeScript concepts like static typing, interfaces, classes, and modules. Learn how to catch errors early, improve code maintainability, and build scalable applications with TypeScript. Ideal for JavaScript developers.
Explore fundamental software design principles and patterns. Learn how to structure code for improved readability, maintainability, and scalability. This topic covers design patterns, modularity, abstraction, and SOLID principles. Develop skills in creating robust and adaptable software systems, essential for professional development.
Explore Node.js for building scalable network applications. This topic covers JavaScript runtime, asynchronous programming, npm package management, and building server-side applications. Learn about Express.js for web framework development and its use in creating RESTful APIs. Master Node.js for efficient backend development.
This topic delves into advanced Java programming concepts beyond the basics. Explore object-oriented design patterns, exception handling, multithreading, and effective coding techniques. Learn to write robust, scalable, and maintainable Java applications. This tutorial provides practical exercises and real-world examples to solidify your Java skills.
A comprehensive Python Bootcamp covering fundamental concepts like syntax, data structures, control flow, and functions. This topic provides a strong foundation for building Python applications. Learn to work with lists, dictionaries, and files. Ideal for beginners seeking a structured learning path.
Explore C# 12 and the latest .NET 8 features. This topic covers modern C# development, including language enhancements, performance optimizations, and the .NET runtime. Learn to build robust and scalable applications using the newest tools and libraries. Gain proficiency in contemporary .NET development practices.
Learn the fundamentals of Kotlin, a modern programming language gaining popularity for Android development and server-side applications. This topic covers syntax, data types, control flow, functions, object-oriented principles, and core Kotlin features. Build a strong foundation for developing efficient and maintainable code.
Explore the fundamentals of Arduino programming! This topic covers setting up your Arduino environment, writing basic sketches, understanding digital and analog input/output, and controlling hardware components. Learn to interact with the physical world through simple code. Ideal for beginners diving into embedded systems.
Explore the fundamentals of the Internet of Things (IoT). This topic covers sensor technologies, communication protocols (like MQTT and CoAP), cloud connectivity, and data processing for smart devices. Learn to build and manage IoT solutions, focusing on practical applications and real-world use cases. A hands-on approach for beginners.
Explore fundamental application design patterns like MVC, 3-tier architecture, and clean architecture. Learn to model applications effectively using service classes and domain models. This tutorial equips you with the skills to design robust and maintainable software systems, a crucial skill for application engineers.
Develop graphical user interfaces (GUIs) using Python. This topic covers Tkinter, a widely used Python GUI library. Learn to design layouts, handle events, and create interactive desktop applications. Suitable for beginners and intermediate Python developers aiming to build user-friendly software. Includes practical examples and project ideas.
Explore the world of programming with Scratch! This topic covers fundamental programming concepts like sequencing, loops, conditionals, and events using Scratch's visual block-based interface. Learn to create interactive stories, games, and animations. Ideal for beginners of all ages to develop computational thinking skills and foster creativity.
Learn Windows PowerShell scripting with hands-on exercises! This tutorial covers automating tasks, managing systems, and boosting productivity using PowerShell. Explore cmdlets, scripting syntax, and practical applications for system administration and automation. Gain proficiency in automating repetitive tasks and streamlining workflows.
This topic covers web scraping techniques using Python, focusing on libraries like Beautiful Soup and Requests. Learn to extract data from websites, clean and structure it, and store it in databases. This hands-on tutorial provides practical skills for data collection and analysis, essential for various data-driven projects.
This topic focuses on preparing for technical interviews, specifically those involving data structures and algorithms. It covers problem-solving techniques, common interview question patterns, and strategies for efficient coding. Learn to analyze time and space complexity, implement algorithms effectively, and communicate your solutions clearly. Ideal for job seekers aiming for FAANG or similar roles.
Enhance software longevity by focusing on code quality. This topic covers principles for writing clean, maintainable, and robust code. Learn about code smells, refactoring techniques, and testing strategies to reduce technical debt and improve overall project health. Achieve higher code standards and boost team productivity.
This topic covers building applications with Laravel 10. You'll learn about routing, controllers, models, and database interactions. Focus is on practical application, enabling you to create robust web applications. Develop skills in PHP framework development and enhance your web development capabilities.
Explore building desktop applications with .NET and C#. This topic covers WinUI, WPF, and Windows Forms frameworks, enabling you to create robust Windows applications. Learn UI design principles, data binding, and application lifecycle management. Choose the optimal framework for your project's needs and requirements.
Learn Visual Basic for Applications (VBA) to automate Excel tasks. This topic covers VBA syntax, working with objects, event handling, and writing macros. You'll gain skills to customize spreadsheets, perform complex calculations, and significantly improve your Excel productivity. Ideal for data analysis and reporting.
This topic covers comprehensive unit testing strategies for JavaScript. Learn to utilize testing frameworks like Jest and Mocha, write effective test cases, and achieve high code coverage. Discover techniques for mocking, assertion, and debugging to ensure robust and reliable JavaScript applications. Improve code quality and reduce bugs.
This topic covers professional macOS app development using Swift and Xcode. Learn modern coding practices, UI/UX design principles, and the tools necessary to build powerful and user-friendly applications for macOS. Explore frameworks, APIs, and deployment strategies for successful macOS app creation.
Explore the core concepts of Scala 3, including syntax, data types, functional programming paradigms, and object-oriented principles. Learn to write concise and expressive code, leverage immutability, and utilize Scala's powerful features for building robust applications. This covers the essential building blocks for Scala development.
Explore Apache Groovy, a powerful dynamic language for Java developers. This course covers Groovy syntax, data structures, scripting, and integration with the Java ecosystem. Learn to write concise and expressive code for automation, testing, and application development. Gain proficiency in leveraging Groovy's features for enhanced productivity.
Explore Python for data manipulation and analysis. This topic covers essential libraries like NumPy and Pandas, enabling data cleaning, transformation, and insightful analysis. Learn to work with data structures, perform calculations, and visualize results. Ideal for beginners seeking practical data skills.
Explore Git, the industry-standard version control system. Learn to track changes, collaborate with others, and manage project history effectively. This topic covers core Git commands like commit, push, pull, branch, and merge. Gain proficiency in using GitHub for remote repository management and collaborative development workflows.
This topic covers the design and implementation of microservices, a popular architectural style for building scalable and resilient applications. Learn about service decomposition, inter-service communication, API gateways, and containerization using Docker. Gain practical experience with building and deploying microservices.
Sharpen your Python skills with realistic practice tests. This topic focuses on applying core Python concepts like data structures, algorithms, and problem-solving. Prepare for coding interviews and exams by tackling challenging Python problems and reinforcing your understanding of the language's practical application.
Explore automation workflows within the Microsoft Power Platform. This topic covers building automated processes to streamline tasks, integrate systems, and improve efficiency. Learn to design, implement, and manage workflows using Power Automate, covering triggers, actions, and data manipulation techniques. Ideal for process optimization.
Explore reactive programming with RxSwift & RxCocoa. This topic covers observable sequences, operators, and functional approaches for managing asynchronous events and data streams in iOS development. Learn to build responsive and maintainable applications by leveraging reactive principles for cleaner code and improved concurrency.
Explore the power of the command line! This tutorial covers essential UNIX commands and Vim basics for efficient computing on macOS. Learn navigation, file manipulation, text editing, and scripting fundamentals. Boost your productivity and gain deeper system control. Suitable for beginners and those seeking enhanced workflow.
Learn essential Git commands for QA automation. This topic covers core functionalities like staging, committing, branching, merging, and resolving conflicts. Gain practical skills to manage code changes effectively, collaborate with teams, and streamline your testing workflow using Git. Includes best practices for version control.
Explore Java Enterprise Edition (Java EE) 7, a powerful platform for building scalable and robust enterprise applications. This topic covers core Java EE technologies like Servlets, JSPs, EJBs, and RESTful web services. Learn to design and develop backend systems with a focus on modularity, security, and performance. Ideal for experienced Java developers.