Educative Highlights from November: New courses, paths, projects
Hunter Johnson
Posted on December 14, 2022
This past month, our authors, contributors, and the whole Educative team succeeded in adding a brand new roster of learning materials to our extensive collection.
With technologies such as Rust on the rise and system architecture, web development, and data science becoming increasingly sought-after skills, our learning resources are covering the bases for developers across various industries and every skill level.
Our learning resources have been celebrated for their interactivity, text-based curriculum, and the embedded ability to test your skills with quizzes and assessments. These practices have continued into our November products, and we cannot wait to share them with you!
Today, we'll highlight just a few of the 50+ new learning resources from November, including what skills and knowledge you can expect to gain.
We'll cover:
New Skill Paths
Our skill paths are comprised of multiple modules, each with a unique purpose. Each module is a standalone course that has been carefully curated, along with the others, to create a smooth path toward a new skill or concept.
1. Become a Rust Web Developer Skill Path
This skill path is designed to take you from the fundamentals of Rust all the way to creating your first fully functional full-stack web application. Through these three modules, you start from the fundamentals, jump to 24 practice problems/ brainteasers that cover all aspects of Rust, and finally practice with scalable Rust web apps in the concluding section.
Contributor spotlight:
This skill path curates content from contributors such as:
The Pragmatic Programmers: Creators of timely, practical, and informative books and learning resources to help you practice your craft and accelerate (or even jumpstart) your software engineering career.
Werner Echezuria: A software developer with experience in Ruby, PHP, and Rust. Werner specializes mostly in web development.
Prerequisites:
None! This path is designed for those with no prior experience in Rust. The only requirement is a baseline understanding of programming languages. If you've ever practiced with any other language, then you're ready to start!
Use cases:
Beginners and professionals alike, either looking to learn Rust completely or continue practicing creating full-stack applications in Rust, can use this path. It begins with the basics and progresses to scalable applications, leaving tons of space in between to learn whatever you're after about web development in Rust!
Learning Outcomes:
- Learn Rust fundamentals and processes.
- Increase your general understanding of Rust by solving some brainteasers.
- Learn to create functioning full-stack web applications in Rust.
2. Golang for Programmers
Golang (or Go) is consistently one of the more beloved programming languages year after year. It is an open-source programming language that includes many cool features, including:
- A standard library
- Package management
- Static typing
- Support for testing
- Platform independence
In this path, you'll learn basic and advanced concepts, such as error handling, networking, templating, and concurrency. You will go through a lot of brainteasers and puzzles to refine your critical thinking and problem-solving skills with Golang. By the time you're done with the four modules in this skill path, you'll be able to use Go to write efficient and practical applications.
Contributor Spotlight:
The Pragmatic Programmers: As authors of multiple courses for Educative, it is wonderful to have such a proven and learner-driven company contribute to our content!
Ivo Balbaert: Ivo Balbaert managed software projects for many years, then transferred toward the teaching and writing profession. He has written several books and courses on emerging programming languages, including Go, Dart, Julia, Rust, and Crystal.
Prerequisites:
This is another new skill path with minimal prerequisites! As long as you hold a general understanding of how programming languages work, then you're good to start learning the basics of Go in the initial module!
Use cases:
Since this path starts basic and ends with more advanced topics, the use cases are limitless. Whether you're just starting to learn Go, practicing with Go, or preparing for an interview in Go, you can find what you need in this skill path.
Learning Outcomes:
- Get familiar with the basics of Golang.
- Learn about concurrency and its building blocks in Golang.
- Learn how to build a complete web application in Golang.
3. Microservices Architecture
Mastering microservices is the kind of skill that immediately makes you a more valuable developer for any team. Microservices are one of the most coveted software architecture trends that form the basis of companies like Netflix, Uber, Amazon, and many more. In this skill path, you’ll start with the basics of microservices, including their advantages and disadvantages.
Also, you'll read all about the details of real-world implementation and the basics of Model-View-Controller, Spring Boot, and Go. Towards the end of this skill path, you’ll begin learning to interact with a database, create a dynamic web-user interface, manage errors, and create various Spring Boot applications.
Microservices architecture is a complicated topic, which is why this step-by-step path from the fundamentals to advanced topics is so valuable to any developer at any stage of their career!
Contributor Spotlight:
Eberhard Wolff: Eberhard Wolff has 15+ years of experience as an architect and consultant, often at the intersection of business and technology. He is a Fellow at INNOQ in Germany. As a speaker, he has given talks at international conferences, and as an author, he has written more than 100 articles and books about microservices and continuous delivery. His technological focus is on modern architectures – often involving cloud services, continuous delivery, DevOps, or microservices.
Ezif Automation labs: Ezif Automation is a team of passionate developers from, Adobe, SAP Labs, Yahoo, and VMware. They hold expertise in training and developing test automation frameworks for UI, Mobile, Performance, and back-end systems.
Prerequisites:
This path assumes a general knowledge of software architecture and software development. All practical examples are documented in such a way that they can be executed with very little prior knowledge. The path also utilizes examples in multiple programming languages, so no one is considered the most important.
Use cases:
The best use of this skill path can vary greatly based on your current experience. If you're newer to system architecture, then this is a great place to start learning the fundamentals!
If you're a professional developer looking to climb the management ladder at your company by learning more about microservices, that is also a great use of these modules. And if you're an experienced developer looking to immediately learn about the implementation and development of applications, then there is absolutely a place for you here.
The great thing about all of these skill paths is that they apply to novice and experienced devs!
Learning Outcomes:
- Learn about microservices in great detail.
- Understanding technical microarchitecture.
- Learn about Docker's vital role in microservices.
- Learn all about self-contained systems.
- Explore the different implementations of microservices.
- Learn to develop your application using the Spring Boot framework.
Interested in checking out more skill paths from November? Feel free to check out the following:
New Courses
Courses are our bread and butter here at Educative! Courses are shorter and less expansive than the multi-module skill paths. Instead, our courses are laser-focused on a specific topic or concept for a specific skill level (beginner, intermediate, or advanced).
4. Introduction to Data Science with Python
Python is consistently regarded as one of the prime programming languages for data analytics and science. For aspiring data scientists, Python and its helpful libraries are great for first learning how to analyze and collect relevant data.
This course acts as a comprehensive introduction to statistical analysis using Python. You’ll start with a step-by-step guide to the fundamentals of Python. You’ll then learn to apply these functions to numerical data. You’ll first look at strings, lists, dictionaries, loops, functions, and data maps. After mastering these, you’ll take a deep dive through various Python libraries, including Pandas, NumPy, Matplotlib, Seaborn, and Plotly. You’ll conclude with guided projects to clean, analyze, and visualize unique datasets using these external libraries.
Author Spotlight:
- Dr. Junaid Qazi: Dr. Junaid Qazi is a subject matter specialist and a professional consultant in data science, machine learning, and blockchain. He is a team builder, advisor, professional development coach, mentor, author, technical writer, and invited speaker in his domain of expertise. We feel very fortunate to have Dr. Qazi as a contributor!
Prerequisites:
Although we’ve designed the course to be accessible to anyone, the following knowledge will be helpful:
- Some knowledge of Python programming.
- Some knowledge of common Python libraries, such as NumPy and Pandas.
- Some basic high-school-level mathematics knowledge.
Use cases:
This course is designed for beginner to intermediate-level programmers who want to learn various methods of visually representing and analyzing data with Python.
Learning Outcomes:
- A deep familiarity with the data functions of Python.
- The ability to visualize statistical data using Matplotlib and Plotly libraries.
- A working knowledge of the Pandas and NumPy libraries.
- A strong proficiency in the basics of data science and the Python programming language.
5. Getting started with GraphQL Using Node.js
GraphQL is a query language for web APIs and fulfilling queries with existing data. GraphQL gives clients the power to ask for precisely what they desire, making it simple to evolve APIs with powerful tools.
This course is an introduction to GraphQL using the Node.js JavaScript runtime environment and Apollo Server. You’ll start with an introduction to GraphQL’s architecture and functions before exploring the structure of GraphQL data. You'll also learn to perform significant and complex queries. There's also plenty of practice on how to update server data using different mutations.
You’ll then explore the GraphQL type system and schemas to set up a GraphQL server using the Apollo Server. Once the server is set, you’ll finally implement a full GraphQL application using Apollo and Node.js.
Author Spotlight:
- Kelvin: Kelvin is a full-cycle developer proven by experience in the full software life cycle. They've been proficient with SDLC (mobile, web, API) to DevOps (cloud infrastructure, continuous integration & deployment) for more than six years across various industries (e-commerce, fintech, HR, payment).
Prerequisites:
Only a general knowledge of how programming languages work is required to succeed in this course. No prior knowledge of Node.js or GraphQL is necessary!
Use cases:
This course is designed for beginning programmers who have never programmed in Node.js and want to get started with GraphQL.
This course will cover GraphQL, beginning with the basics. You'll get everything that you need to know to write a basic program, assuming that you have no prior knowledge. The course will also go over programming concepts found in various other programming languages.
Learning Outcomes:
- A strong understanding of GraphQL’s type system and schemas.
- An in-depth understanding of mutations and queries in GraphQL.
- A working knowledge of HTTP and REST APIs compared to GraphQL.
- Hands-on experience in creating GraphQL applications with Node.js.
6. Using Apache Camel with Enterprise Integration Patterns
The Camel Enterprise Integration Patterns (EIP) provide the interfaces to communicate with large component-based distributed systems. When designing the optimal integration plan for message-oriented applications, these handy patterns will save valuable time and effort.
In this course, you'll learn all about these patterns. You'll be introduced to Error Handling patterns, Deployment patterns, and Configuration patterns. Each design pattern is discussed in detail to be used in specific settings. You'll also gain a deep understanding of how the patterns work under various circumstances and how to implement them appropriately using real-world examples.
By the end, you'll have plenty of hands-on practice with valuable interfaces and the simplification processes for integrating applications.
Author Spotlight:
- Bilgin Ibryam: Bilgin Ibryam is a product manager and an ex-principal architect at Red Hat, a committer, and a member of the Apache Software Foundation. He is an open-source advocate, prolific blogger, speaker, and the author of "Kubernetes Patterns and Camel Design Patterns."
Prerequisites:
Experience with enterprise-level architecture and distributed systems is required to get the most out of this content.
Use cases:
Developers who wish to continue their education by integrating enterprise-level architecture are the intended audience for this course. This course will continue that education by covering these integration patterns in Apache Camel in depth.
Learning Outcomes:
- Develop a strong familiarity with enterprise integration best practices and guidelines.
- Gain a proficient understanding of Camel Enterprise Integration Patterns with helpful examples.
- Learn the structure and organization of the integration flow.
- Hands-on practice with practical examples of integration flows and their interactions.
Looking to experience more courses from November? Feel free to check out the following:
New Projects
Our projects are an outstanding way to get hands-on practice in a real-world scenario with the technologies and/or concepts that you've been learning. Sometimes, the best way to practice is by doing. That is what our projects are all about!
7. Deploy a Flask Application Using Azure CLI
In this project, you'll deploy a custom Flask application to the cloud using the Azure CLI. The application you'll be deploying is a simple e-learning course catalog. You'll construct the container image for our application using a Dockerfile that will make this application ready to be deployed to the cloud with Azure command-line tools.
Azure is a popular cloud computing service from Microsoft for application management.
The simple e-learning course catalog application you will be implementing shows a list of courses with a search bar that allows users to explore various courses.
The structure of the website should look something like this:
Prerequisites:
- A basic knowledge of Azure CLI
- A basic knowledge of Azure resources
- An updated Microsoft Azure subscription
Use cases:
Developers looking for practice with Docker, cloud and Azure services, and Flask applications will benefit from this content.
Learning Outcomes:
- Apply the fundamentals of Azure deployment.
- Build and add custom docker images to the Azure Container Registry.
- Learn how to use the Azure CLI to configure cloud applications and services.
- Learn how to use the Azure CLI to build a Flask application.
8. Build a Web Assistant with OpenAI GPT-3
Here is another project for those looking to practice with Python and Flask! In this project, you'll build a Flask application from scratch and enable a chat feature in the application.
You’ll use the GPT-3 API from OpenAI to integrate a web assistant for replying to user queries. GPT-3 is the third version of the Generative Pre-trained Transformer (GPT) series. It is a pre-trained neural network model used for producing written text and is by far the biggest of the neural networks. The text generated by GPT-3 is of such high quality that it is difficult to distinguish it from text written by a human hand.
Prerequisites:
- A general understanding of API integration
- Intermediate knowledge of Flask
- Intermediate knowledge of programming in Python
Use cases:
Developers of all skill levels looking to advance their skills with Flask and API integration with hands-on practice and instruction will benefit.
Learning Outcomes:
- Create a functional Flask application.
- Connect an OpenAI API with the Flask application.
- Create many new templates in the Flask application.
- Render responses of APIs.
9. Evaluate Hamming distance using Quantum Computing
If you're keen on practicing quantum computing concepts, then this very well may be the project for you! Hamming distance is a metric in information theory that is used to assess how many points a given signal varies from another. The smaller the Hamming distance is, the more alike the signals. In quantum computing, Hamming distance finds applications in domains such as quantum information science and quantum cryptography, where it is used to compare quantum data.
Although quantum computing employs a different technology, quantum data encoded in quantum circuits need a different algorithm for evaluating the Hamming distance.
By the end of the project, you'll be implementing a quantum circuit to evaluate the Hamming distance between two state vectors.
Prerequisites:
- Experience with programming in Python
- A beginner-level understanding of quantum computing
Use cases:
Intermediate-level developers looking to increase their skills in quantum computing and quantum algorithms with an interactive project and get more repetitions with NumPy, Qiskit, and Python will benefit.
Learning Outcomes:
- Build, simulate, and deploy a quantum circuit using Qiskit.
- Introduce a quantum algorithm and verify its operation.
- Learn how to visualize the results of quantum simulation using dedicated packages.
- Gauge quantum superposition for parallel computing purposes.
Do you want to test out more interactive and educational projects published in November? Feel free to check out the following:
Continue your learning
This wraps up some of our highlights from November here at Educative! Even with all we covered here, there is still so much more new content from this past month that stretches to all corners of the tech industry.
December is already underway, and we are delivering even more excellent course content! Once you've explored our November collection further, we welcome you to return soon for our December learning product recap if you're craving more relevant content.
For the time being, don't hesitate to explore the rest of our offerings from November and beyond.
Happy learning!
Continue reading more about quality online learning resources for developers on Educative
- 7 best API courses for 2023
- LeetCode vs. Educative: Engaging your long-term memory
- The Complete Toolkit for Grokking Modern System Design
Start a discussion
What has been your favorite way to learn to code online? Was this article helpful? Let us know in the comments below!
Posted on December 14, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.