fbpx
Home Blog Page 1247

Introducing Learn Intermediate JavaScript

0
Introducing Learn Intermediate JavaScript
Introducing Learn Intermediate JavaScript

Year after year, Learn JavaScript stands tall as one of our most popular courses. Millions of learners worldwide have used it to explore the basics of programming and the language’s syntax as they journeyed into web development.

But, while going over the course, we realized that it was a bit longer than our other introductory courses — and it also branched into more advanced concepts (like Await/Async).

To resolve this, we’ve split our JavaScript curriculum into two parts. First, we cut out the advanced concepts from Learn JavaScript to make it better-suited for beginners. Then, we added those more advanced concepts plus new materials to the new Learn Intermediate JavaScript.

Who is the new course right for?

Learn Intermediate JavaScript is for learners who’ve already completed Learn JavaScript and want to explore the language’s more advanced features. It’s also great for developers looking to delve deeper into the language and take their JavaScript skills to the next level.

What will you learn from the new course?

Learn Intermediate JavaScript exposes how the language works under the hood. You’ll explore currying, hoisting, concurrency, and more as you learn how to make your web apps more efficient and scalable. By the end of the course, you’ll know how to:

  • Create classes and use inheritance to minimize redundancy
  • Use JavaScript modules to define reusable logic
  • Identify the ways currying and hoisting contribute to how JavaScript works under the hood
  • Write asynchronous JavaScript with promises and async/await
  • Create calls to various APIs using requests
  • Understand the concurrency module and event loop in JavaScript

How will this affect learners who’ve already completed Learn JavaScript?

You’ll retain your certificate if you’ve already completed Learn JavaScript. If you haven’t, you may see an increase in your progress percentage due to some lessons being removed. Similarly, you may also notice some progress in Learn Build Tools and Learn Intermediate JavaScript if you’ve already completed some of the advanced lessons.

Recap

Our JavaScript curriculum is now split into two parts: Learn JavaScript and Learn Intermediate JavaScript. The former is great for anyone looking to take their first steps into programming with JavaScript. The latter is designed for those who want to explore the language’s advanced features and take their skills to the next level.

Once you’ve completed Learn Intermediate JavaScript, you can continue your learning with courses like:


JavaScript Courses & Tutorials | Codecademy

JavaScript is a fun and flexible programming language. It’s one of the core technologies of web development and can be used on both the front-end and the back-end.

What Is a Proxy Server?

0
What Is a Proxy Server?
What is a Proxy Server?

If you’re familiar with cybersecurity, you’ve probably heard about proxy servers. But what are they exactly, and why do people use them?

In short, proxy servers are used everywhere to streamline web traffic and protect sensitive data. Below, we’ll explore how proxy servers work, the different types of proxy servers, the difference between proxy servers and VPNs, and more.

How a proxy server works

First, remember that every computer on the internet needs a unique IP address. Your IP address is how web servers know where to send data that you request, like the web page for this article.

Like your actual address, your IP address can give away information about where you are in the world. That’s how streaming services know when to limit or block certain content.

When you use a proxy server,  which has its own IP address, all your web traffic is routed through it. The proxy server then communicates with other web servers using its IP address instead of the one assigned to your computer or server (with one notable exception mentioned below).

Depending on the setup, this single proxy server IP address can be primarily used either as a common “exit point” for you and your network to access the internet or as a common “entry point” for people outside of your network to access multiple internal servers.

What is a forward proxy server?

Forward proxy servers are used to manage how a person or group of people communicate with and access external web servers.

Company website filters provide a great example of forward proxy servers in action. Instead of monitoring and regulating every employee’s computer, company IT administrators can set up a forward proxy server to manage traffic between computers on the network and external web servers.

When you try to access a blocked site from your company’s network, the web page request from your computer must first go through the forward proxy server. The server detects the web page request before actually sending it to external web servers.

Instead of completing the request, your company’s forward proxy server will send back a message explaining that you’re not permitted to access the requested page.

Think of forward proxy servers as a tool to manage how a person or small group of people (your company or family) interact with the larger group (the internet). Forward proxy servers come in different flavors and configurations, depending on your needs.

Types of forward proxy servers

Now that you understand what forward proxy servers are used for, let’s take a look at some of the most common. Below, we’ll explore transparent proxies, anonymous proxies, and high anonymity proxies.

Transparent proxy

This is the simplest type of proxy server. When you send a request through a transparent proxy server, the server passes along your information as if you were making the request directly. In other words, transparent proxy servers don’t modify any of your information or offer any more privacy than surfing without a proxy server.

So, why do people use them? Because all network traffic still needs to go through the transparent proxy server. Companies, schools, and libraries use them to monitor web traffic to and from their networks to apply content filters. They can also block malicious code and cache content to help improve performance.

Anonymous proxy

Anonymous proxies offer more privacy than transparent proxies because they don’t pass along your IP address or personal data. Instead, the proxy server will use its own IP address for web requests while identifying itself as a proxy. Anonymous proxy servers are ideal for people who want to avoid targeted ads and general web tracking.

High anonymity proxy

High anonymity proxy servers are the most private because they don’t share your personal data or identify themselves as proxies. Many can regularly change their IP address with each new request, making it difficult for websites to track activity from a single client.

What is a reverse proxy server?

Reverse proxy servers are used to manage how people on the internet access servers in your network. Companies use reverse proxy servers all the time to manage their website traffic, and company website data can be housed on multiple servers to accommodate large volumes of traffic.

With a reverse proxy server in place, all website requests are directed to the single proxy server, which can then fetch the requested data and send it back to the computer.

In this setup, the reverse proxy server acts as a traffic cop to ensure that no website server is overloaded with requests. It also serves as a security buffer that prevents people from directly communicating with company servers.

Think of reverse proxy servers as a tool to manage how a large group (the internet) interacts with a smaller group (your servers).

Proxy servers vs. VPNs

On the surface, proxy servers and virtual private networks (VPNs) seem similar because both hide your IP address and direct web requests through a specific server. But the two aren’t the same, and the key difference is the level of encryption.

While your anonymous proxy server can protect your privacy while you’re using your web browser, it won’t always protect your data from other programs on your system, like mail and videoconferencing apps. VPNs, on the other hand, provide a fully encrypted connection between your computer and the VPN server, no matter where you are in the world. In other words, VPNs allow secure connections over otherwise insecure networks (like public WiFi).

While companies use proxy servers to monitor traffic for computers connected to their network, many prefer — or sometimes require — employees to connect to the internet using a VPN when using their laptops outside the office. That way, all sensitive company information is guaranteed to be encrypted and secured from the computer to the trusted VPN server.

Learn more about internet security

Cybersecurity Specialists use proxy servers (and many other tools) to monitor network activity and detect potential breaches. Our online cybersecurity course goes further in-depth into data protection techniques that you can (and should) use to secure your network.


Cybersecurity Courses & Tutorials | Codecademy

Cybersecurity is a fast-growing field that addresses the security risks of our increasingly connected digital world. Learn cybersecurity, and you will learn how users, companies, and even governments protect themselves and recover from, cyber threats and attacks. Start defending yourself, or your or…

What is AJAX?

0
What is AJAX?
What is AJAX?

While learning how to code, you may have run into the term AJAX and wondered what it means. Is it a programming language, a platform, or an application? Actually, it’s none of these — but by the end of this article, you’ll know what AJAX (Asynchronous JavaScript and XML) is all about.

The history of AJAX

Until the late 1990s, most websites returned complete web pages when you visited a page on the site. To reload any data, you had to reload the complete page.

This was an inefficient way of serving information to users and wasn’t very good for the user experience. It also increased the load on servers and the bandwidth needed to serve data.

In 1996, Microsoft introduced the iframe tag to Internet Explorer, which allowed the browser to fetch data in the background asynchronously. This was a step in the right direction for modern web applications.

In 2004, Google added functionality to Gmail that allowed data to be fetched in the background, and in 2005, they did the same thing for Google Maps.

Both Google’s and Microsoft’s technologies allowed developers to fetch data from a web server using JavaScript without a page reload. This technology was labeled AJAX in 2005 by Jesse James Garrett when he described how Google was accomplishing this in an article he wrote. It quickly became the most popular way to build web applications.

Now that you know a little about AJAX’s history, let’s look at how it works.

How does AJAX work?

What makes AJAX possible is a web browser’s built-in XMLHttpRequest (XHR) object. All modern browsers support this object, including:

  • Chrome
  • Firefox
  • IE7+
  • Safari
  • Opera

Most JavaScript libraries that use AJAX wrap this object in custom code to make it simpler for developers to use, but we’ll look at how AJAX works in regular JavaScript.

The first step is to create a variable that will instantiate this XMLHttpRequest object for you in JavaScript, as we do here:

const request = new XMLHttpRequest();

Because we want to do something with this data when we get it, like print it to a web page, we’ll attach a listener to this request that will tell us when our request has finished and retrieved the data we need.

As the term entails, AJAX requests run asynchronously. This means that the JavaScript code keeps running after making the request and doesn’t wait for a response. By attaching a listener, we can capture the response when it’s done. Here’s how we do that:

function requestListener() {
console.log(this.responseText);
}

request.addEventListener("load", requestListener);

Above, we have a function that will print the response out to the JavaScript console, which we can get from the responseText attribute of the XMLHttpRequest object. We then attach this function to the load event of our request.

The next step is to use this object to open a request to a server using the open method of this XMLHttpRequest object. The open method accepts two parameters. The first is the request method to use. Here are a few of the most common methods:

  • GET: This method is used to retrieve data and is the most common.
  • POST: This method submits data to the requested resource and is most commonly used to create new records or for logging in.
  • PUT: This method replaces current representations of data with the modified representations sent in the request.
  • PATCH: This method is typically used to update part of the data at the requested resource.
  • DELETE: This method is used to delete a specific resource.

The second parameter we pass to this method is the resource we want to retrieve. We’ll use a page from the example.org website and use a GET request to simply retrieve data. Here’s how we’ll retrieve the data:

request.open("GET", "http://www.example.org/example.txt");

The final step is to actually send the request for the remote resource using the send method of the XMLHttpRequest object. Here’s how we would do that:

request.send();

If we’re using the POST request method, PUT request method, or another method that updates the resource, we’d call this method with a parameter that contains the data we’re sending:

request.send(OUR_DATA_VARIABLE)

But in our case, we’re only retrieving data, so once we execute this code, it’ll print out the contents of http://www.example.org/example.txt to the console of our web browser.

This example works to explain how AJAX functions, but AJAX is actually used for more advanced functionality in practice.

What is AJAX used for?

What you should take away from the example above is that all of the code functions in one page load. Actually, the web page with our JavaScript will load first, then our JavaScript will execute, and when it’s done, it’ll print the results of the request.

We could just as easily attach the code above to a function that executes when a button gets clicked. That would mean that every time you clicked the button, the code would execute, make the request, and print the results to the console without another page load.

And that’s the magic that changed how web development is done. With the advent of AJAX, a big part of web development moved to the front end of a web application — the part that runs in the browser. You’ve seen AJAX at work daily without even knowing it.

When you log in to a modern website, you’re presented with a form. You enter your credentials and click the login button. A loading indicator may spin for a few seconds on the page, but if you pay attention, you’ll notice that the page never actually reloads. All you’ve done is send your username and password to a server using AJAX.

The loading indicator is there for eye candy while the request completes and returns, whether you’ve entered valid credentials or not. And, if your credentials are correct, your homepage loads, most likely from another AJAX request.

Most AJAX requests in JavaScript don’t load whole web pages as we did with our example. The data is sent and retrieved in a format called JSON, a text-based format to represent data, and more JavaScript code is used to format this data as HTML and print it to the page. For example, the data sent to log in to a website would look like this in JSON:

{ username: "MyUserName", password: "MyPassword" }

And once the credentials are validated, JSON will be sent back to the browser that holds the bare minimum amount of data to render the dashboard. AJAX, combined with JSON, not only makes modern web pages more responsive but saves bandwidth by sending only the necessary data to generate a web page.

Ready to learn more?

AJAX is the concept that makes the responsiveness of modern web applications possible. To make the most of AJAX, it helps to know HTML, CSS, and JavaScript. Our Learn HTML course covers the basics of the language used to create web pages.

While using AJAX, you don’t actually need to know CSS. Still, if you want to build AJAX-based applications with style, Learn CSS will show you how. But, you’ll also need to know JavaScript. Our Learn JavaScript course will teach you how to build interactive web pages that use AJAX.


JavaScript Courses & Tutorials | Codecademy

JavaScript is a fun and flexible programming language. It’s one of the core technologies of web development and can be used on both the front-end and the back-end.

Web Development Courses & Tutorials | Codecademy

Web Development is the practice of developing websites and web apps that live on the internet. Whether you’re interested in front-end, back-end, or going full-stack, the content in our Web Development domain will help you get there.

10 Swift Code Challenges for Beginners

0
10 Swift Code Challenges for Beginners
10 Swift Coding Challenges for Beginners

Learning Swift or any other programming language can be exciting and fun, but lessons can only get you so far. To truly master coding, it’s important to apply your new skills to exercises and projects that build on all your previous knowledge. That’s why we put together these 10 exercises for Swift beginners.

Before you get started, we recommend that you first understand the fundamental concepts of Swift before taking on these challenges. And it never hurts to understand some foundations of coding to make sure you’re developing good habits from the start.

10 Swift coding challenges

Below are 10 coding challenges for beginners that’ll help you become more familiar with Swift. Half involve strings, and half involve numbers. For each exercise, we’ve also included a slightly more difficult challenge to take on once you’ve mastered the basic exercises.

1. Singular or plural?

Create a function that accepts a string as an input. If the string ends in “-s,” then the string should return TRUE to indicate that the word is plural. Otherwise, it should return FALSE. Keep in mind that the function should return a Boolean value (TRUE or FALSE) and not a string value (“true” or “false”).

We like this challenge because it’s easy to step up the difficulty if you’re feeling up for it. Your function can include cases that handle irregular plurals — “women,” “children,” “geese,” and so on. You can do this using conditional statements within your function.

2. Reverse a string

Come up with a function that takes an input string and reverses its order. For example, “I love Codecademy!” should return “!ymedacedoC evol I.”

For an added challenge, switch capitalization so that each new word is capitalized. So, “I love Codecademy” outputs as “Ymedacedoc Evol I.”

3. Isograms

An isogram is a word that has no repeated letters. For example, “today” is an isogram, but “tomorrow” is not. Create a function that accepts an input string and returns TRUE if the word is an isogram and FALSE if the word is not.

As an added challenge, if the word is an isogram, output the repeated letter or letters instead of outputting TRUE. So, an input of “tomorrow” would output [“o”, “r”].

4. Find the palindrome

You may remember that a palindrome is a word that’s spelled the same backward and forwards — like “mom” or “racecar.” Create a function that accepts a string as input and returns TRUE if the string is a palindrome.

For an extra challenge, find a way to check whether a phrase or sentence is a palindrome — for example, “Taco Cat” or, “Too bad I hid a boot.” You’ll have to find a way to remove spaces in your phrases to get the function to work.

5. Name cards

Imagine that you’re creating name cards for a group of international guests. Their names and home countries can be stored as key-value pairs in a dictionary:

guests = [ “Mike” : “Canada”, “Jane” : “Australia”, “Angela” : “Germany”, “Robert” : “Nigeria”]

Create a function that accepts a name as an input string and outputs a name card greeting that includes the person’s name and country. For example, “I’m [name], and I’m from [country].” So, inputting Robert’s name would output, “I’m Robert, and I’m from Nigeria.”

If a name isn’t in the dictionary, then the output should just include the person’s name.

Looking for a further challenge? If a person’s name isn’t already in the dictionary, display a message like, “New name detected. Please enter country,” and prompt the user to enter a country name. The name and country should then get added to the existing dictionary. Hint: use readLine() to accept user input.

6. Factorial challenge

Remember factorials from high school? The factorial “!” operator means that you should multiply a number by all the whole numbers that come before the number. So, 4! is equal to 4 x 3 x 2 x 1, or 24.

Create a function that accepts an integer as input and calculates the factorial of that number. If the number is 4, then the output should be 24.

Looking for more of a challenge? Try validating the user input. If a number is less than zero, then display a message that says, “Input cannot be negative.” If the input is 0, then the output should be 1.

7. Ascending order

Create a function that outputs the numbers in a positive numerical input in ascending order. For example, an input of 9462 should output 2469.

To give yourself more of a challenge, add an argument to your function that accepts the strings “ascending” or “descending.” Depending on the input of this argument, your function should sort the array in either ascending or descending order.

8. Is there a higher number?

For a given array and number, n, create a function that returns TRUE if a number in the array is greater than n. For example, for an array [24, 32, 42, 34] and n = 50, the output should be FALSE.

For an added challenge, if there are multiple numbers in the array higher than n, return an array of the higher numbers in ascending order. So, for an array [24, 32, 42, 34] and n = 27, the output should be [32, 34, 42].

9. Evens and odds

Create a function that splits an input array into two arrays — one with only even numbers and the other with only odd numbers. For example, an input of [3, 45, 9, 80, 1, 306] will output [[80, 306],[3, 45, 9, 1]].

To make the exercise more challenging, add an additional argument to your function, n. Numbers divisible by n are put in the first output array, and all other numbers go in the second output array. For example, for the input array [3, 5, 18, 10] and n = 3, the output array should be [[3, 18], [5, 10]].

10. Digit length filter

For a given input array and number n, create a function that only outputs numbers with n digits. So, an input of [34, 29, 99, 434, 1, 3] and n = 2 should only output [34, 29, 99].

For an extra challenge, create a function that filters out numbers with a given number of decimal places.

Stand out as a Front-End Developer by mastering Swift

If you’re looking to become a Front-End Developer, learning Swift will help you stand out from the pack — especially in app development. And if you’re not yet sure what else you should learn, don’t worry. Our Career Paths take the guesswork out of figuring out which skills you need to best succeed in your new career as a developer.


Swift Courses & Tutorials | Codecademy

Swift is a modern programming language developed by Apple. This general-purpose programming language is fast and powerful without sacrificing safety or readability. Swift is a great language to learn for those interested in iOS and MacOS development as well as anyone who is just starting to code.

Riddle Me This

0
Riddle Me This

A recent Times article delved into the history of the crossword puzzle, emphasizing how often riddles are used to create some of the more tantalizing clues.

Do you like solving riddles — or do you find them more vexing than entertaining? Have you ever had to create a riddle for a class or school project? What are some of your favorite riddles?

Share a fun riddle or brainteaser in the comments, then read the related article to learn more about the art of crossword clues.


Learn more about Picture Prompts here and find all of our prompts in this column.

Students 13 and older in the United States and the United Kingdom, and 16 and older elsewhere, are invited to comment. All comments are moderated by the Learning Network staff, but please keep in mind that once your comment is accepted, it will be made public.

Word of the Day: fortuitous

0
Word of the Day: fortuitous

1. occurring by happy chance; lucky

2. having no cause or apparent cause

_________

The word fortuitous has appeared in 71 articles on NYTimes.com in the past year, including on June 10 in “Netflix: The Store!” by John Koblin and Sapna Maheshwari:

Products based on entertainment hits go back to the early days of Hollywood. Disney sold plates, jigsaw puzzles, tin pails and other goods featuring Mickey Mouse, Pinocchio, Snow White and other characters as far back as the 1920s. Decades later, George Lucas made a fortune thanks to a fortuitous deal he cut with Fox that let him hang on to the rights to “Star Wars” products in exchange for a discount on his director’s fee, an arrangement he made before the first film in the series came out.

Can you correctly use the word fortuitous in a sentence?

Based on the definition and example provided, write a sentence using today’s Word of the Day and share it as a comment on this article. It is most important that your sentence makes sense and demonstrates that you understand the word’s definition, but we also encourage you to be creative and have fun.

Then, read some of the other sentences students have submitted and use the “Recommend” button to vote for two original sentences that stand out to you.

If you want a better idea of how fortuitous can be used in a sentence, read these usage examples on Vocabulary.com.

If you enjoy this daily challenge, try one of our monthly vocabulary challenges.

Students ages 13 and older in the United States and the United Kingdom, and 16 and older elsewhere, can comment. All comments are moderated by the Learning Network staff.

How Much Do You Know About Brazil?

0
How Much Do You Know About Brazil?

Can you find Brazil on a map? What else do you know about this South American country with 212 million people?

Should Students Be Allowed to Miss School for Mental Health Reasons?

0
Should Students Be Allowed to Miss School for Mental Health Reasons?

Several states, including Arizona, Oregon and Virginia, have recently passed bills that allow students to miss school to take care of their mental health, efforts that were often supported or led by students.

Do you think all students should have the option to take a day off from school to rest, recalibrate and take a break from their regular routine? Does your state or school allow students to take mental health days when necessary?

In “Teens Are Advocating for Mental Health Days Off School,” Christina Caron writes:

By the time Ben Ballman reached his junior year in high school he was busier — and more anxious — than he had ever been.

“I had moments where it felt like the whole world was coming down on me,” he said. “It was definitely a really difficult time.”

Before the pandemic shut everything down, his day started at 6:30 a.m., when he woke up to get ready for school. Next came several Advanced Placement courses; then either soccer practice or his job at a plant nursery; studying for the SAT; and various extracurricular activities. He often didn’t start his homework until 11 p.m., and finally went to bed three hours later. Every day it was the same grueling schedule.

“It’s not even that I was going above and beyond, it was, ‘This is the bare minimum,’” said Ben, now 18 and a recent graduate of Winston Churchill High School in Montgomery County, Md. “It’s like a pressure cooker that’s locked down. There’s nowhere to escape. Eventually you just kind of burst at some point, or, hopefully, you can get through it.”

The article continues:

Faced with high stress levels among adolescents and a mental health crisis that includes worsening suicide rates, some states are now allowing students to declare a mental health day.

In the last two years alone, Arizona, Colorado, Connecticut, Illinois, Maine, Nevada, Oregon and Virginia have passed bills permitting children to be absent from school for mental or behavioral health reasons, efforts that were often aided or spearheaded by students.

And in March, Utah decided that a “valid excuse” for a student’s absence will now include “mental or behavioral health,” broadening an earlier definition that referred to mental illness. The legislator who sponsored the bill, Representative Mike Winder, a Republican, told the television station KUTV in February that it was his daughter, then a senior at Southern Utah University, who suggested the idea.

Late last year the advocacy group Mental Health America surveyed teenagers about the top three things that would be most helpful for their mental health. More than half of the respondents cited the ability to take a mental health break or absence from either school or work. And in a Harris Poll of more than 1,500 teenagers conducted in May of last year, 78 percent of those surveyed said schools should support mental health days to allow students to prioritize their health.

Ben, the recent graduate, said that as a high school student he had spoken with classmates who were struggling and needed support but didn’t know where to turn. So he organized a coalition of students to improve mental health services for students in his state. This year he spent months supporting a mental health day bill in Maryland, but it stalled in the State Senate.

The article also shares some reasons that mental health days may not become a reality at more schools, at least for now:

In the New York City school system, which has more than 1 million students, a day off for mental or behavioral health reasons “would be treated like any other sick day,” Nathaniel Styer, a New York City Department of Education spokesman, said.

The phrase “mental health day” might make some kids and parents uncomfortable. With that in mind, the school board in Montgomery County, Md., decided that it will excuse absences taken for “student illness and well-being,” starting in the new school year.

“We didn’t want to call it a mental health day, because we know there is still stigma around that,” Karla Silvestre, the school board vice president, told Education Week in June.

Schools are also experimenting with other methods beyond mental health days to help students cope with their daily stressors. The Jordan School District in South Jordan, Utah, is using “wellness rooms,” where students can decompress for 10 minutes if they are feeling overwhelmed. And some schools in Colorado have created “oasis rooms,” a student lounge staffed with peer counselors and other resources.

Students, read the entire article, then tell us:

  • Do you think that staying home from school when students feel stressed, anxious, depressed or overwhelmed is a healthy thing to do? Would you ever take a mental health day if you had the option? Why or why not?

  • Dr. Harold S. Koplewicz views mental health days as a joyous occasion: an opportunity to have fun. Do you agree? Why, or why not? What do you think a mental health day should look like?

  • Do you think traditional sick days already include mental or behavioral health, like in the New York City school system? Or does having the ability to call an absence from school a “mental health day” better support students’ well-being?

  • Does using this kind of language help families start to have more open conversations about subjects related to mental health, and potentially reduce some of the stigma associated with self-care?

  • What have you been taught about mental wellness? How do you practice self-care?


About Student Opinion

• Find all of our Student Opinion questions in this column.
• Learn more about how to use our free daily writing prompts for remote learning.

Students 13 and older in the United States and the United Kingdom, and 16 and older elsewhere, are invited to comment. All comments are moderated by the Learning Network staff, but please keep in mind that once your comment is accepted, it will be made public.

Coursera Industry Skills Report highlights critical skills gaps as digital transformation investments accelerate across all major industries

0
Coursera Industry Skills Report highlights critical skills gaps as digital transformation investments accelerate across all major industries

By Leah Belsky, Coursera Chief Enterprise Officer

I am excited to introduce Coursera’s Industry Skills Report 2021, which examines the pandemic’s impact on digital transformation and skills development across major industries. The report analyzes data on skills proficiency from millions of Coursera learners across 10 different industries between June 2020 and May 2021.

The pandemic has accelerated the rate of digitization on a global scale and dramatically changed the way businesses operate. Recent data shows that two years worth of digital transformation were concentrated between May-June 2020 alone. The Industry Skills Report helps companies assess skills gaps within their workforce and understand the critical skills needed to succeed in the new economy. 

Understanding the industry skills data

In the report, we highlight skills proficiency within each industry. This is calculated by grading all relevant skill assessments completed by learners in a specific industry. We then use machine learning models to estimate how proficient a learner is in a given skill. By taking the average of these individual scores, we are able to determine the industry proficiency level for each skill in the report.

The proficiency levels are represented as percentiles, which are grouped into the following four categories:

  • Cutting-edge: 76th percentile or above
  • Competitive: 51st–75th percentile
  • Emerging: 26th–50th percentile
  • Lagging: 25th percentile or below

Among the major trends that the Industry Skills Report identified include: 

Automotive companies show growth across multiple skills but lack proficiency in critical technologies. Digital transformation creates new skill imperatives as autonomous vehicles, high-efficiency electric car batteries, and connected cars become a priority. To stay competitive, automotive companies have developed cutting-edge technology and data skills such as machine learning (100th percentile), mobile development (100th percentile), and computer programming (78th percentile). However, to build business agility and keep pace with rapid change, automotive companies must strengthen development in several critical skills, including cloud computing (11th percentile), security engineering (44th percentile), and data visualization (22nd percentile).

Manufacturing shows improved proficiency across business, technology, and data skills as it increases the adoption of smart manufacturing, smart factory, and robotics technologies. Companies in the industry have demonstrated cutting-edge skills in strategy and operations (100th percentile), software engineering (100th percentile), and data visualization (78th percentile). Despite improvements, the skills gap and labor shortage in the industry remains a concern. To ensure employees have the skills needed to fill critical roles and improve internal mobility, companies must strengthen proficiency in areas like cloud computing (44th percentile), probability and statistics (44th percentile), and statistical programming (33rd percentile).

Financial Services doubling down on technology and data skills as it navigates disruption caused by changing user behavior and platform shifts. As more financial services companies implement cloud computing, cybersecurity, AI, and machine learning technologies, there are rising concerns about the skills gap posing execution risks. The industry is prioritizing development in critical technology and data science skills, including data management (100th percentile), security engineering (89th percentile), and mobile development (89th percentile). The ability to quickly adjust business strategy to create competitive advantages will require improvement in essential skills such as strategy and operations (44th percentile) and leadership and management (44th percentile).  

Professional Services companies must implement digital and virtual processes to supplement human interactions. Professional services is a relationship-driven industry that has relied heavily on in-person interactions. The pandemic and remote work environment are forcing these organizations to use technology in new ways to help build and maintain relationships with clients. Organizations have developed cutting-edge business skills in communication (100th percentile), leadership and management (89th percentile), and marketing (89th percentile). To drive continued growth, companies must implement digital best practices and improve automation by strengthening technical and data skills in mobile development (33rd percentile) and data management (11th percentile). 

Technology companies work to address the short shelf-life of skills with continuous development opportunities. The rapid pace of innovation and the decreasing shelf-life of technology skills will require companies to accelerate development efforts. As expected, the industry has many cutting-edge technology and data skills, including cloud computing (100th percentile), software engineering (89th percentile), and data management (78th percentile). However, to effectively deliver on strategic initiatives, technology companies must also improve critical business skills in low-performing areas such as human resources (22nd percentile), finance (11th percentile), and marketing (11th percentile). 

Telecommunications industry must increase technology and data skills to maximize growth opportunities around 5G Networks. The global telecom services market is expected to be valued at $2.5 trillion by 2028, and continued investments in deploying 5G wireless networks are a crucial growth driver. To deliver on this opportunity, telecom companies have developed cutting-edge technology skills in computer networking (100 percentile), security engineering (100 percentile), and cloud computing (78 percentile). The shift towards 5G networks will have massive data implications. To fully harness the power of their data and maintain a competitive advantage, telcos must significantly improve skills in data analysis (11th percentile), data visualization (11th percentile), and machine learning (33rd percentile). 

Despite the recent downturn, investing in job-based skills development remains a priority for many businesses. We are honored to work with industry leading organizations across the world to provide them with the high-demand skills needed to fill critical roles, deliver stronger business outcomes, and thrive in the digital economy. 

With over 87 million learners and 6,000 institutions subscribing to thousands of courses on the platform,  Coursera has one of the largest data sets for identifying and measuring skill trends. This report includes data from 40 million new learners who registered during the pandemic between Jan 1, 2020 and June 30, 2021.

To download the Industry Skills Report 2021 and explore the sector findings, click here.

 

What is React?

0
What is React?
What is React?

React is the most popular JavaScript front-end framework in use today. It’s used by both established companies and new startups.

React was released by Facebook in 2013, and they still use it today for many of their applications. If you’re new to React, this article will help introduce you to the basics. Or, if you’d rather learn by doing, you can jump right in with our Learn React course.

What is React used for?

React is a JavaScript library for creating user interfaces. Here are three places you’ll find it being used:

Web development

This is where React got its start and where you’ll find it used most often. React is component-based. An example of a component could be a form or even just a form field or button on a website. In React, you build up complete applications using components like these by nesting them.

Components in React can manage their own state and communicate that state to child components. By “state,” we mean the data that populates the web application.

An example would be a user profile form that holds the state of the user’s data, including first name, last name, and other values. This form component would have nested field components that it passes its state to in order to populate them.

Components in React are also reusable, which means you can use one button component for every button on your site. If you need the button to look different, you can simply change its style.

Mobile app development

React Native is a JavaScript framework that uses React. With React Native, developers can apply web-based React principles to creating mobile apps for Android and iOS. Here, React is used to connect the mobile user interface of the application to the phone’s operating system.

Desktop app development

Developers can also use React with Electron, another JavaScript library, to create cross-platform desktop apps. Some apps you may know about that are built with Electron include Visual Studio Code, Slack, Skype, Discord, WhatsApp, and WordPress Desktop.

React example

Let’s look at a React example so you have a better idea of how it works. A React web application runs on one web page. Here’s an example of an HTML file used to run a React app:

       

Using script tags, we import the JavaScript libraries necessary for React to run. React and React DOM are the basic React libraries we need. Babel is a JavaScript library that compiles the JSX language that React uses into JavaScript the browser can understand.

The div element that has the root id is where the whole React app will run. And the script tag below that is where all the React code will go, which we’ll look at in more detail next.

To use React, you need to create components that use JSX. Below is an example component:

function Heading(props) { return 

{props.value}

; }

The component above is a simple JavaScript function that accepts a parameter called props — a special keyword in React used to pass data between components.

The function returns the value attribute of props wrapped with what looks like an HTML h1 tag. This isn’t actual HTML, yet. It’s called JSX, a React-specific syntax that allows HTML-like text to co-exist with JavaScript.

Below, we have another component that uses our Heading component. In fact, it uses it three times to create headings with different values. Note that the props in React are passed to child components as attributes of the JSX.

function App() { return ( 
); }

You’ll also notice that the name of this component is App. This is because it’s our complete application. Everything in React is a component, including the whole application. To render this app to the browser, we need one more piece of code.

ReactDOM.render( , document.getElementById('root') );

This code tells React to render the results in the HTML element that has the root id.

React vs. Angular

React is often compared to another JavaScript framework called Angular, but there are a lot of differences between the two. Here’s an overview of some of the main distinctions between the two frameworks:

  • Web development: Angular is a complete front-end framework for building web applications. It’s based on the MVC (Model-View-Controller) pattern. React, on the other hand, is for creating user interfaces — or just the View part of this pattern. This means you’ll need other libraries or more code to create complete web apps, but you’ll also have greater customizability for your features and structure.
  • Updates: Angular operates directly on a web page’s DOM, so the entire page must be updated when a change is made to its data model. React updates the virtual DOM. These updates are quicker because they don’t trigger changes in the page layout itself. Plus, once React updates the virtual DOM, it’s then compared to the real DOM, and only those parts that differ are updated — allowing for faster rendering and performance.
  • Data binding: Angular uses both one- and two-way data binding, while React only uses one-way. With Angular, changes in data can trigger changes in the view and vice versa. But, with React, data only flows in one direction — which makes debugging an app easier.

How to learn more about React

So, now you know a little about React and why developers use it to build applications. If you’re ready to learn more about React and start building front-end web applications, our Learn React course will teach you the framework’s fundamentals and essential concepts. To apply these newly learned skills and build a complete front-end web app, check out Create a front-end app with React.


Mobile Development Courses & Tutorials | Codecademy

Every year more and more people rely on mobile devices to meet their needs. Where websites used to be the gold-standard, people now rely on mobile apps. The technologies used to create these apps are expanding and improving quickly, so it’s an exciting time to start learning Mobile Development!

Web Development Courses & Tutorials | Codecademy

Web Development is the practice of developing websites and web apps that live on the internet. Whether you’re interested in front-end, back-end, or going full-stack, the content in our Web Development domain will help you get there.