Cloud Contraptions offers a variety of courses on programming languages and technologies. Each class is
taught
by a live instructor in an online or in-person format.
We teach classes in-person and online. We are able to teach online classes with Zoom, Microsoft Teams, Cisco
WebEx, and Google Meet.
Online classes sold directly by Cloud Contraptions can be recorded with recordings made available after each
day of class once the meeting software finishes processing it.
The Introduction to Python Programming training course is designed for beginners or those primarily using Python for data analysis in Jupyter Notebooks, emphasizing essential Python programming concepts, syntax, and best practices, while using Jupyter Notebooks for most of the course as a familiar environment.
The Intermediate Python Programming training course is intended for experienced programmers aiming to enhance their Python skills, covering topics such as configuring development environments, advanced Python concepts, and concurrent programming options within Python, including the Global Interpreter Lock (GIL) and variable locks.
The Object-Oriented Programming with Python training course is designed for Python-experienced individuals seeking to deepen their understanding of object-oriented programming, covering Python classes, core OOP principles, SOLID principles, and design patterns.
The Task Automation with Python training course is designed for Python-experienced students who want to automate tasks using Python, covering core Python skills, including environment variables, file system operations, regular expressions, and asynchronous programming, which are then applied to subprocesses, concurrent programming, and networking operations.
The Distributed Task Automation with Python training course is designed for Python-experienced students looking to distribute automated tasks using Python, covering core Python skills along with containerization, database access, message sending, task orchestration, and remote SSH command execution in a distributed manner.
The Build REST APIs with Python and FastAPI training course is designed for Python-experienced students interested in creating REST APIs, covering REST API fundamentals, database integration with Python, FastAPI as the framework (alternatively, Flask), and additional topics like security and cloud deployment.
The Jupyter Widgets Programming course instructs Python and JavaScript/TypeScript developers on extending Jupyter Labs/Notebooks with customized widgets, covering both high-level and low-level concepts and offering the option to use either JavaScript or TypeScript.
The C Programming for Python Developers course is designed for students looking to learn C programming and integrate custom C libraries into their Python programs, with a focus on teaching C essentials, and prior knowledge of Python is optional but mentioned in later parts of the course.
The High-Performance Python with C training course is intended for experienced Python and C programmers, emphasizing legacy C code support for Python Extensions, highly performant code writing with Cython, incorporating NumPy arrays, and exploring the use of the Zig language as an alternative to C for extensions.
The Rust Essentials course offers a beginner-friendly, hands-on approach to teach participants foundational Rust programming concepts, enabling them to write safe and efficient code and become proficient in the language.
The Mastering Rust course provides an in-depth exploration of Rust programming, suitable for both seasoned developers and newcomers, covering advanced topics like macros and FFI integration, and equipping participants with the skills to write efficient code and tackle complex projects.
This course helps Python developers transition to Rust by providing a structured pathway to mastering Rust's memory safety guarantees and concurrency model, enabling them to build efficient, safe, and concurrent applications in Rust while leveraging their Python expertise.
The Rust for JavaScript/TypeScript Developers course is designed to teach JavaScript/TypeScript developers how to build web and server applications with Rust, enabling them to leverage their existing skills and gain expertise in Rust's safety, performance, and concurrency features for developing secure and efficient applications.
The Rust for C# Developers course provides experienced C# developers with a seamless transition to Rust, introducing them to Rust's innovative features, syntax, libraries, and tools, and enabling them to write high-performance and secure systems-level software by leveraging their existing knowledge in object-oriented programming.
This course demonstrates how to use Rust, typically associated with systems programming, for building front-end web applications with WebAssembly, focusing on the Leptos framework, which is a component-based front-end web framework, and covers topics like component creation, data handling, event handling, and working with signals to enable participants to create front-end web applications with Rust and Leptos.
This course demonstrates how to utilize Rust, often seen as a systems programming language, for building web server-based REST API applications, focusing on the ActixWeb framework, and covers topics such as route creation, database connectivity, and CRUD operations to enable participants to create their own REST APIs with Rust and ActixWeb.
This course teaches how to build cross-platform desktop applications using Rust and the Tauri framework, which combines a web browser app and a server app for desktop application development, covering UI elements, system interactions, and providing flexibility with various web frameworks for the browser app part.
The Rust Memory Safe Programming course aims to help developers, particularly those transitioning from other languages, grasp and apply the challenging concept of memory safety in Rust, focusing on ownership and borrowing rules.
Master ASP.NET Core Blazor with our comprehensive course, covering core principles, Razor Components for composable UIs, data binding, routing, deployment, server data consumption, JavaScript integration, and unit testing for robust application development.
Become a proficient Test-Driven Development (TDD) practitioner in web development through our comprehensive course, covering TDD principles and best practices, applying TDD to ASP.NET and JavaScript/TypeScript code, mastering unit and end-to-end testing, organizing tests effectively, testing for Blazor WebAssembly and ASP.NET Core Web APIs, using mocks, stubs, and fakes for isolation, unit testing client-side Blazor WebAssembly and server-side Web APIs code, and integrating testing into development tools and CI/CD pipelines for high-quality software delivery.
In our React Essentials course, you'll gain a comprehensive understanding of React, covering its foundational architecture, JSX, Virtual DOM, React components, best practices, form creation, AJAX calls to REST APIs, routing, and testing, equipping you to excel in modern web development.
Join our Introduction to Web Components course to master modern web development, understand the pivotal role of Web Components, gain proficiency in essential languages like HTML, CSS, JavaScript, and TypeScript, delve into Shadow DOM intricacies, develop expertise in Custom Elements, utilize Templates, and acquire crucial unit testing skills, all while preparing to tackle complex web development challenges.
Master TypeScript through our TypeScript Essentials course, starting with fundamental concepts, exploring its type system, delving into advanced typing, custom types, and generic types, and applying TypeScript to real-world web development scenarios, equipping you with the skills to excel in modern web development.
Become an Azure B2C expert by mastering user authentication, authorization, tenant configuration, web application integration, user flow customization, identity provider management, and security measures in our comprehensive course.
The Zig Essentials class teaches students how to write software using the Zig programming language, a compiled, lower-level language with customizable memory control, null reference protection, required error handling, and interoperability with existing C libraries, focusing on key language features and concepts.