fbpx
Home Blog Page 1070

Cool Job: I Use Python to Analyze Esports Data for Evil Geniuses

0
Cool Job: I Use Python to Analyze Esports Data for Evil Geniuses
Cool Job: I Use Python to Analyze Esports Data for Evil Geniuses

Data is changing the game for the professional sports industry, giving athletes new ways to track biometrics and optimize their performance. Competitive esports is no different: There’s high demand for Data Scientists who can interpret all of the data coming out of video games and help coaching staff make informed decisions.

Evil Geniuses is one of the oldest competitive esports gaming organizations, with rosters of pros in games like League of Legends, Dota 2, and Counter-Strike. Even if you’re familiar with esports, you might not know that the organization employs as many Data Scientists and Engineers as it does Coaches — a fun detail that CEO Nicole LaPointe Jameson recently shared with The Washington Post.

Ivan Sheng is one of the Data Scientists at Evil Geniuses, where he focuses on the games League of Legends and Counter-Strike. “I take data from video games and I create predictions and business use cases in order to have an edge over our competition,” Ivan explains. (Ivan is also a Codecademy contributor and worked on our recent course Introduction to Big Data with PySpark.)

Here’s how Ivan uses Python and SQL to help esports pros strategize and succeed, plus the programming languages you need to know to become a Data Scientist in competitive esports.

What got me interested in the job

“I’ve actually known about Evil Geniuses since I was in middle school. I had a friend who was really into this one game called StarCraft: Brood War. We started watching clips on YouTube and this concept out of South Korea called ‘esports’ popped up. I got addicted to it, and one of my favorite players was signed with Evil Geniuses.

My introduction to data was kind of interesting. As a junior in college, you’re kind of desperate for internships, so I just shot my resume everywhere. One day I got a call from an unknown number, and it was apparently an interview for a data analyst internship at a marketing agency that I forgot that I applied to. Going from a mechanical engineering major into a marketing agency where everyone’s super young and sociable was a culture shock for me. I kind of fell in love with it.

I had two really great mentors that I still keep in touch with today — one who is also a Data Scientist, and taught me pretty much everything I know about data. Once I entered the job market, I had a manager who gave me my foundations in Python and natural language processing, and then that’s pretty much where everything kind of just skyrocketed.”

How I got in the door

“I did some contract work for Evil Geniuses prior to actually going full-time with them. I would do some data science work, write about it, and submit it to one of our ESPN-like websites called Factor.

That eventually evolved into me doing some software development work; Monte Carlo simulations and things like that. And then that blossomed into a conversation of, ‘I’m graduating and I’m going to start interviewing.’ Our Chief Innovation Officer basically said, ‘Hey, do you want to come over here?’ I was like, ‘Yeah, I’ll entertain it. Of course!’

It’s super cool to work with products or companies that you’re familiar with, because you have some personal stake in it. I came to Evil Geniuses from Disney Streaming, where I got to see the birth of Disney+ and all that fun stuff. I had the same good feelings coming over to Evil Geniuses, because I’ve known about this since I was a kid as well.”

What I actually do every day

“I am basically sitting down in Python, just coding up lots of different things. As for what I’m coding, it depends on the day and the task. We’re a bit of a small company, so I’ve done work all the way from creating automated data pipelines to creating models in the deterministic and non deterministic side of things. On our team, we’re kind of split between gaming and marketing: I’m working with gaming data like 60% of the time, and then 40% on the business side of things.

I’ve also done some software development work in terms of flagging interesting in-game events to kind of let our coaches know like, This thing happened at this specific time point in the game. Maybe you guys could check it out? Maybe this was a big turning point in the game? I don’t directly talk to our pros. I usually talk to the coaches or an analyst who works directly with the team — those people are the main stakeholders.

Now I’m following more esports, because I have to learn about all these different games. Like, I never really got that into Counter-Strike before, but that’s my biggest responsibility now. So I’ve been watching that endlessly.”

Here’s what you need to get started

If you’re interested in becoming a Data Scientist, it’s a good idea to learn Python. Ivan strongly recommends that you learn SQL too, because it’s frequently used in Data Science careers. “I think it’s criminal to underrate SQL as a language,” Ivan says.

Inspired to start your journey to becoming a Data Scientist? Here are the courses and paths that will help you pick up the skills you need for the field:

  • Data Scientist: Analytics Specialist: In this Career Path, you’ll learn how to use SQL and Python to answer big questions with data. There’s even a portfolio project where you’ll be analyzing streaming data from players on Twitch.
  • Analyze data with SQL: This beginner-friendly SQL path will have you querying data right away, plus includes prep for technical interviews.
  • Analyze data with Python: With Python, you can present data in compelling visuals like graphs and charts. In this course, you’ll also learn how to use common Python libraries like NumPy, Matplotlib, and Pandas.
  • Fundamental Math for Data Science: “Having a strong statistics foundation is just as important as your programming capabilities,” Ivan says. Need to brush up on your math? This skill path will review key statistics, algebra, and calculus concepts and help you build a foundation for more technical work.

There’s more to being a successful Data Scientist than just programming and software engineering: Communication skills are a must, because you’ll often have to translate data and findings for people who aren’t data-oriented, Ivan says.  

Once you reach a stage where you’re applying to jobs and landing technical interviews, don’t skimp on practice, Ivan says. “With a lot of these tests, especially the SQL ones, there’s a pattern that you can figure out — because they always test very similar concepts,” he says. Our skill path Data Analyst Interview Prep is a great way to get familiar with common interview questions and practice formulating answers.

Ivan’s other tip for slaying a technical interview or live programming test? “Be very open and communicative with your recruiter,” he says. “They’re there for you and want to see you succeed, so it’s important to have a back-and-forth with them if you’re ever confused.”

Data Science Courses & Tutorials | Codecademy

Data Scientists try to make sense of the data that’s all around us. Learning Data Science can help you make informed decisions, create beautiful visualizations, and even try to predict future events through Machine Learning. If you’re curious about what you can learn about the world using the data p…

What Is Natural Language Processing?

0
What Is Natural Language Processing?
What Is Natural Language Processing?

Natural language processing (NLP) is more important than ever before as computers become more integrated into our daily lives.

In the past, you’d need technical knowledge to interact with computers. But now, thanks to NLP, computers can understand and decode human language to respond to our verbal and written commands.

NLP refers to a range of methods for processing language using artificial intelligence.

Today’s users expect to be able to speak to their devices, which means devices need to be able to understand and accurately interpret speech patterns — including different languages, accents, slang, and regional terms. But NLP’s utility extends far beyond speech recognition. You’ll find it in chatbots, hiring tools like applicant tracking systems (ATS), email filters, and more.

Many programming languages can be used to conduct NLP, but Python, in particular, has many high-quality NLP libraries that are used extensively in the industry. These tools include language models and functions for analyzing language and finding insights.

Why is natural language processing important?

NLP’s importance can’t be overstated. Over the last decade, it’s grown to power many computing interfaces that make daily life more convenient. It also plays a huge role in accessibility, making it easier for people with physical and cognitive impairments to navigate and interact with their devices.

How NLP works

A wide range of tools are used within NLP, ranging from algorithms for processing and analyzing text to large language models. Still, whether you’re using numerical or text-based data, the first step is always to prepare the data by standardizing it. This makes it possible for the software to analyze it and find patterns.

Preprocessing text

Before any analysis can happen, the source data has to be cleaned up to make it optimal for NLP tools and models. Text preprocessing is the term used for the preparation of this data. Key parts of preprocessing text include:

  • Formatting and Error Correction: The removal of characters, punctuation, or mistakes that could pollute the analysis derived from the text.
  • Tokenization: Breaking inputted text into separate words or sentences.
  • Stop Word Removal: Normalizing text by removing stop words such as articles and prepositions.

All language includes filler words that don’t help determine a statement’s intent, such as “the” or “me.” Removing these words helps focus the analysis or modeling on the words with the most significance or predictive value. You can use libraries like pandas to automate this process to some extent if you’re working with a large dataset.

Parsing Text

Text segmentation, the grouping of text into meaningful units, plays a huge role in a computer’s analysis. This can be achieved by parsing statements to identify speech, verbs, and proper names.

Prioritizing these high-value words (in lieu of considering each word in a given statement) can streamline text processing. For example, by parsing text, an application could identify the proper name “The Empire State Building” and the verb “walking,” which would indicate a query regarding directions to that location on foot.

Language modeling

We train applications to understand our language, speech patterns, and the structure of our commands through a process called language modeling. Language models allow a system to predict which words will be used and in what order they’ll be introduced, improving the accuracy of NLP. Commonly used models include:

  • Unigram or bag-of-words: This model uses a count of each word used to draw conclusions about the statement or command without considering grammar or syntax. The model simply organizes the words in order of most to least used to suggest intent or meaning that can be drawn from analyzing the words used most often.
  • N-gram: More advanced than the bag-of-words model, n-gram considers which words are placed next to each other and how they subsequently impact the meaning of the statement. The n-gram model works best on longer sentences or statements because a wider sample of words results in natural-sounding language and presents a more accurate prediction of what comes next.
  • Neural language models (NLMs): NLMs are based on neural networks and go deeper than bag-of-words or N-gram to offer an analysis that goes beyond simple sentence structure or word usage frequency.

Topic Modeling

Language modeling can help devices process simple commands and straightforward statements, but it becomes harder to use these models as the commands grow longer. This is where topic modeling comes in. Rather than focusing on the order of the words, topic modeling tries to find hidden topics and meanings within a statement.

Unlike language models that count the frequency of each word and use this count to assign importance, topic models prioritize the words that are used less frequently. This kind of topic modeling is known as term frequency-inverse document frequency (TF-IDF).

Another form of topic modeling is called latent Dirichlet allocation (LDA). This model, based on statistical analysis, determines which words are often used in the same context.

NLP Key Issues and Considerations

Working with NLP, programmers and developers are likely to run into issues surrounding privacy and other hot button topics. Collecting data that powers NLP can be seen as invasive, particularly if it’s then shared with (or sold to) third parties.

For example, prediction software can be powered by location-based data, leading users to wonder how much the app developers know about their movements. And some language models contain memory cells with sensitive information that can identify a user if programmers aren’t careful.

How to learn NLP

The possibilities for a career in NLP are only growing as smart devices become more popular — and more complex. Interested in working in this exciting field? Start by learning Python, then jump into our natural language processing courses like:

You can also check out our Data Scientist: Natural Language Processing Specialist career path. Codecademy Data Science Domain Manager Michelle McSweeney says that NLP Specialists hold a unique role compared to other types of Data Scientists. “This is the entry point for artificial intelligence,” she says. “Working with chatbots and taking data science to the next level of what’s possible in this new world of NLP and language and getting computers to act more like humans.”

In our NLP Specialist career path, you’ll gain all the skills you’ll need to launch your new career. You’ll learn programming with SQL and Python, the fundamentals of supervised and unsupervised learning, text preprocessing, language parsing, and more, as you build your own chatbots and other projects you can use to build a portfolio that’ll help you land a job.

Ready to get started? Sign up now!


Data Science Courses & Tutorials | Codecademy

Data Scientists try to make sense of the data that’s all around us. Learning Data Science can help you make informed decisions, create beautiful visualizations, and even try to predict future events through Machine Learning. If you’re curious about what you can learn about the world using the data p…

How Does the Internet Work?

0
How Does the Internet Work?
How Does the Internet Work?

The internet’s become a crucial part of our daily lives. We use it to connect with other people, stream our favorite songs and TV shows, and even work from home.

But for many of us, how it works remains a mystery. The good news is: It’s not as complicated as you might think. Ahead, we’ll go over a brief history of the internet’s development and explore how it works and its key components.

A brief history of the internet

The concept of the internet goes back more than a half-century:

  • 1962 – MIT researcher J.C.R. Licklider presents the idea of a group of computers connected to each other, enabling them to share data and programs together, no matter where each computer was physically located.
  • 1965 – Two other MIT researchers, Leonard Kleinrock and Lawrence G. Roberts, connect two computers to each other from across the country using a telephone line.
  • 1968 – The Defense Advanced Research Projects Agency (DARPA) expands on their predecessors’ work and creates a system, ARPANET,  used to send information between computers.
  • 1969 – A host computer connected to a separate computer at UCLA, and then researchers at Stanford connected their computers to the same network, which was part of the ARPANET project.

And so the internet, based on ARPANET, was born. Now that you understand its origins, let’s take a closer look at how it works.

The internet at a glance

The internet is composed of many computers connected to each other and exchanging information. These connections establish what’s known as a “network.” When you connect to the internet, you’re connecting to a huge network consisting of many computers.

How computers talk to each other

So we know the internet is computers talking to each other, but how do they do this? While the way information is sent and received can be complex, the basic structure behind the internet is very simple:

  • Computers and other devices have addresses.
  • Computers send and receive information to and from each other with these addresses.
  • When shared between computers, the information is turned into chunks of data the internet knows how to handle.
  • Some computers, called servers, can send out information to other computers upon request.

Computers need hardware to interact with each other, and the hardware they use is controlled by software. If you want to learn more about hardware and the technology that drives computer processing and communication, check out our Learn Hardware Programming with Circuit Python and Computer Architecture courses.

The key components of the internet

The following components are vital to how the internet works:

  • IP addresses
  • Protocols
  • Data packets
  • Networking infrastructure
  • Internet infrastructure
  • Internet routing
  • Domain names

Let’s explore each component in further detail.

IP addresses

Computers use Internet protocol (IP) addresses to connect with one another through the internet. Conceptually, they’re similar to the addresses we use to send postal mail.

Every computer has some form of an IP address depending on what network they’re connected to and what they’re doing. For example, your computer may have an IP address that allows information to be sent to it from your printer. It also has another IP address that’s publicly available, which is used while you’re connected to the internet.

When you connect to the internet through your internet service provider (ISP), your IP address is assigned to you, and it identifies your computer, as well as its location. Your computer’s public IP address is used by applications to make sure it gets sent the right information.

In some situations, this can affect the kind of information you receive. For example, Netflix will only show certain content to computers with IP addresses from the United States. If you’ve ever been in another country and connected to Netflix, you may have noticed that the kinds of shows you’re allowed to see are different. This is because your IP address has changed, reflecting where your computer is.

Nodes and hosts

All computers and devices connected to a network are nodes. Hosts are nodes that run applications that send and accept information from other nodes.

As the internet evolved, the connections between nodes got too demanding, and there was a need for new protocols to be developed to make it easier for information to travel. As a result, Network Control Protocol (NCP) and then Transmission Control Protocol/Internet Protocol (TCP/IP) were invented. TCP/IP is used extensively today to make it easier for computers to exchange information.

Protocols

A protocol is a way of transmitting data between computers and other devices. Computers can’t listen or talk. All they can do is process data, which comes in the form of bytes. These are just strings of 0s and 1s.

The easiest way to understand bytes is to imagine switching a light bulb. “On” is 1, and “off” is 0. These electrical signals cause the light bulb to either illuminate or turn off. Bytes do the same thing, except in far more complex arrangements.

The only way for one computer to turn the bytes sent to it by another computer into something people can understand is to use a protocol. Without protocols, the only thing you’d see on your screen would be hundreds of thousands of zeroes and ones — and even rendering that on your screen would require some sort of protocol.

Here are some of the most common protocols used to send data across the internet:

  • Simple Mail Transfer Protocol (SMTP). This is used for email.
  • Hypertext Transfer Protocol (HTTP). HTTP is used to connect to web pages on the World Wide Web (WWW).
  • Transmission Control Protocol (TCP). TCP routes protocols designed to help run applications to the appropriate app on a computer.

Data packets

Data packets are how bytes of data are packaged before traveling through the internet. They’re similar to normal packages that contain the parts of something that must be put together.

For example, if you order a bed, the furniture company probably isn’t going to send you the legs in one box, the headboard in a different box, and the frame in another one. All the components are sent in one package. This makes it easier to assemble them into what they’re supposed to be.

And if you order an entire bedroom set, complete with a bed, bedside tables, and an armoire, you’re not going to get one gigantic box with everything in it. Most likely, each major component will be packaged by itself. Otherwise, it would be too hard to deliver — the box would be too huge.

Data packets work in the same way. Instead of one huge file, such as a high-definition movie, being sent in a single transmission, the data is broken up into smaller pieces. Those pieces are put through protocols that allow them to be understood by the computer receiving them. The receiving computer, which may be your phone, TV, or laptop,, understands the protocol and uses it to turn the packets of data into images, text, and sound that you can understand.

Much of cybersecurity, which involves keeping people safe while connected to the internet, hinges on technology that studies data packets. Tools like firewalls can read the information in the data packet and tell if it’s malicious. (To learn more about cybersecurity, check out  our Introduction to Cybersecurity course.)

Networking infrastructure

Networking infrastructure refers to the physical devices that networks use to transmit data. In the case of a network set up by your Internet service provider (ISP), the following steps describe how data flows through the networking infrastructure. We’ll use a movie on Netflix as an example and assume the network consists of fiber optic cable.

  1. The movie, which is on a server run by Netflix, gets sent out to a modem.
  2. The modem sends the movie data over fiber-optic lines, where it moves as light bounces off the walls of glass tubes.
  3. Your Internet service provider (ISP) has its own pool of modems, and the one that corresponds with your account gets the movie’s data.
  4. This gets sent to a port server, which organizes port numbers that serve to identify the transaction as coming from Netflix and headed to your computer, TV, or another device.
  5. The movie’s data packets go through routers, which are physical devices that forward data to each other.
  6. The data packets of the movie eventually get routed to your local area network (LAN), which is the modem in your house or another network you’re connected to, such as a café or one at your job.
  7. The packets then go to your computer, which decodes the data using protocols and shows it to you on your screen, playing the sound that goes along with it.

Sometimes something goes wrong, and what you see doesn’t look right, the sound doesn’t line up, or the video freezes. This is because at some point in the process, between Netflix’s server and your eyes and ears, the data was mishandled by an element of the networking infrastructure or the software that sends and receives the data.

Internet infrastructure

The infrastructure of the internet is built and supported by network service providers (NSPs). By “infrastructure,” we mean the physical components that carry data through the internet. For example, these would include core routers, which take data and send it someplace else, and fiber optic cables, which carry data.

NSP’s install these core components, allowing internet service providers (ISPs) to connect to them. ISPs then provide internet service to people and businesses.

Some popular NSPs include:

  • CenturyLink
  • AT&T
  • Sprint
  • Verizon Business
  • Deutsche Telecom
  • China Telecom

Some of the major ISPs include:

  • AT&T
  • Comcast Xfinity
  • Verizon
  • Charter
  • Time Warner Cable

Internet routing

In order for data to be sent to the right place over the internet, each data packet has routing information that tells it where to go. In this way, data on the internet is similar to mail you send through the post office. Each packet of data has information that tells it where it needs to be sent. Then a router, which sends data along the right route, takes the data, reads the information that says where it’s supposed to go, and sends it there.

Each time the data goes from one router to another, it’s called a “hop.” Eventually, the data hops to your computer or another device.

Domain names

Obviously, when you connect to a website or web service like Google or Zoom, you’re not typing in the IP address of the computer that provides the data. For example, one of Google’s public IP addresses is 8.8.8.8. While this number is relatively simple, IP addresses are often far harder to memorize.

So if you don’t know the IP address, how do you connect to the server that has the website’s data and services? This is where domain names and domain name servers come in.

A domain name is what you type into your browser, such as “Google.com,” “Yahoo.com,” or “Codecademy.com.” Domain names generally consist of two parts: Top-level domains (TLDs) and second-level domains (2LDs). TLDs are what follow the period in a domain name, like “.com” or other common TLDs like “.gov” or “.edu.”

There are rules and regulations surrounding the use of certain TLDs. For example, “.gov” is typically reserved for governmental organizations. Some TLDs are country-specific, like “.ca” for websites based in Canada or “.de” for those based in Germany.

2LDs precede the period in a domain name. For “Codecademy.com,” “Codecademy” is the 2LD. Generally, a 2LD can be whatever you want it to be — as long as it’s not already in use.

A domain name service takes a table of all the domain names and their IP addresses. Then, it takes what you type in, looks it up in its database, and finds the IP address. This allows you to connect to the site you want.

The internet vs. the World Wide Web

It’s easy to confuse the internet with the World Wide Web, or “the web,” for short. But they’re two distinct things. As described above, the internet is a network of computers connected together and exchanging information with each other.

The collection of websites that use the internet to send and receive data is called the World Wide Web (WWW). In other words, the World Wide Web uses the internet to transmit its data. It needs the internet to survive. But if all websites disappeared, the internet would still exist.

The internet in a nutshell

To recap:

  • The internet is a lot of computers connected to each other exchanging information. Protocols are used to facilitate communications between them and ensure transmissions are sent and that the receiving computers and people can understand the data.
  • This data is organized in data packets that get sent using routers from point A to point B. To ensure data reaches the right destination, computers and other devices have IP addresses to which the data gets sent.
  • Oftentimes, data is sent to and from websites, which have domain names, like Google.com or Codecademy.com, and a domain name service ensures that IP addresses are associated with the right domain names.

Want to learn more? Try our Introduction to IT course. You’ll learn more about the internet and how it works, along with the basics of networking, software development, and cybersecurity.

And if you want to start building applications that live on the internet, check out our programming courses.


All Courses & Tutorials | Codecademy

Explore our full catalog of programming courses, Skill Paths, and Career Paths for complete beginners, advanced learners, and everyone in between.

What Is Data Analysis?

0
What Is Data Analysis?
What is Data Analysis?

Data is revolutionizing the world as we know it. As we produce more and more data every day, businesses are finding new ways to put it to good use. But in order to utilize data, you need to know how to analyze it to find data-based insights. That’s why data analysis is so important — and why Data Analysts and Data Scientists are in such high demand.

Ahead, we’ll take a closer look at the different types of data analysis, how it’s used, how it’s performed, and the different careers that use it. (Or if you’d rather learn how to analyze data yourself, check out our Data Scientist: Analytics Specialist career path).

What is data analysis?

Data analysis is the process of collecting and analyzing data for insights. Many businesses use these insights to improve their systems and products — boosting operational efficiency, improving how services are delivered to customers, and refining products.

A Data Analyst is able to examine data and discover how to use it to boost the bottom line of an organization. Because businesses today generate so much data, a Data Analyst has a lot to work with. As a result, they often play a key role in the operation of an organization.

“We’re seeing data transform our society and everything we do,” says Codecademy Data Science Domain Manager Michelle McSweeney, “whether it’s measuring how well something performed or deciding what we’re going to do next.”

The role of big data

As the name suggests, big data involves large amounts of data, and it’s often used to both improve basic processes and generate machine learning models. Machine learning is a branch of artificial intelligence that enables Data Scientists to predict outcomes and mimic the learning processes of humans in machines. The collection of big data gives Machine Learning Engineers enough information to build very accurate prediction models.

For instance, the artificial intelligence systems that control self-driving cars learn based on huge storehouses of image data. Images are aligned with categories, such as “people,” “vehicle,” “animal,” and “road element,” allowing the vehicle to decide what to do based on the kind of object its cameras are viewing.

Big data also plays a critical role in figuring out how customers use products, their buying habits, and how they may react to the release of services or products. For example, a company with a rewards card program can collect data regarding the kinds of products customers purchase, when they do, and where. They can then use that information to create promotions aimed at giving customers exactly what they want, when they want it.

Real-time data

Real-time data refers to data that is collected as it’s generated. When real-time data is used in a process, it gives the application using it more agility, allowing it to adapt to changing circumstances.

A common example of a source of real-time data is the stock market. As the prices of different stocks rise and fall, the data has to be received, processed, and analyzed in order to ensure investors can make the best decisions possible.

Real-time data also plays a central role in certain medical care environments, allowing computer systems to tell doctors and nurses whether they need to respond to a situation immediately or if a patient’s needs don’t necessarily have to be tended to right away.

Machine data

Machine data is data generated by machines, but this includes a wide variety of industrial and personal tools. Machine data can be generated by:

  • Robots on a production floor
  • Handheld devices in a warehouse
  • Your smartphone
  • Computers and monitoring systems in hospitals
  • Applications run by a business
  • Cybersecurity systems

Machine data is one of the most diverse categories of data, and analyzing it can improve operations, safety, and the quality of services.

Qualitative vs. quantitative data analysis

Quantitative data analysis involves examining data that can be measured. For example, say a spreadsheet contained a collection of customer ratings for a given product. A Data Analyst could use this data to produce tangible, measurable insights.

Qualitative data analysis is different in that it’s based on data that cannot be easily measured using numbers. For example, if a customer responds to a survey asking them to describe their experience, their responses would be qualitative data. Even though qualitative data analysis involves, in some ways, a very different process than the analysis of quantitative data, the insights produced are just as valuable.

Using machine learning, qualitative data can be transformed into quantitative data when the machine learning algorithm studies patterns in the data sets. For example, if 30% of customers included the word “great” in their reviews in March, and that number progressively decreased over the next six months, a machine learning algorithm could observe the trend and even provide recommendations. A customer service team could start implementing the suggestions in time for the holiday season and significantly boost sales revenue.

Why is data analysis important?

Data analysis is important because it gives decision-makers tangible information on which to base their strategy. This information has a wide range of applications, from improving systems and processes to better understanding clients and even human behavior.

For instance, if a high-end coffee chain were selling a new flavor and customers were buying 35% less of it than the company projected, they could take action to scrap the new flavor in favor of a different one. They could even use customer comments and buying habits to craft new flavors.

Safety

In some cases, data analysis can mean the difference between a safe environment and one that threatens people’s health or well-being. For instance, you can use data analysis to study the movement patterns of people on a factory floor.

The distances they get from dangerous machinery can be studied in relation to the person’s speed, the time of day, and even the habits of specific employees. You can then use this information to set up boundaries and guidelines that keep people out of harm’s way.

Objective information

Data analysis also plays an important role because it provides objective information as opposed to subjective, emotional perspectives. While emotions are a crucial element of the decision-making process, they can sometimes get in the way, especially when somebody is personally invested in an outcome.

For example, if an executive is personally invested in the success of a product they helped conceive, they may fail to see some of its flaws. On the other hand, with data analysis, the reactions of end-users can provide concrete numbers that can produce decisions motivated by facts instead of feelings.

Note that while data analysis can provide objective information, data professionals need to be mindful of biases in the data that can influence analysis and insights and lead to poor outcomes.

There are several techniques you can use to analyze data and a variety of technological tools that can make the process faster.

Data analysis techniques

There are many types of data analysis techniques, but the most popular include regression analysis, Monte Carlo simulation, and cohort analysis.

Regression analysis

Regression analysis refers to finding the relationship between different sets of variables. Whenever you do any kind of regression analysis, you’re trying to see a connection between independent and dependent variables. A dependent variable is a factor you’re trying to predict or measure, and an independent variable is one that may affect the dependent variable.

For instance, if you’re studying people’s voting habits in a certain town, one of your dependent variables may be the percentage of registered voters that show up to the polls. Your independent variable could be the temperature outside on voting day. You may discover a correlation between how hot or cold the day was and the number of people that went to the polls.

Monte Carlo simulation

Monte Carlo simulation involves a computer analyzing a set of data and then producing a report that outlines the chance of different outcomes happening. In most situations, the data a computer is analyzing has been organized into a spreadsheet, and the computer figures out the percentage of times a certain outcome occurs and then uses that to predict what may happen in the near future.

For instance, if a city’s traffic light system has been set according to configuration A, and there are 165 accidents over the course of two months, but with configuration B, there are 232 accidents, the computer can use this data to predict which configuration is safest. Configuration B produced about 29% fewer accidents than configuration A, perhaps making it the better choice.

Cohort analysis

Cohort analysis focuses on separating large data sets into smaller groups that are then examined individually. This helps Data Analysts study the behavior and tendencies of specific subjects.

For example, suppose a university has a freshman class of 2,000 people. You can divide these into several smaller cohorts. For instance, you could group the students according to their high school grade point averages. Data Analysts at the university could then follow students in each grade point average cohort and observe how successful they are in different kinds of classes.

You could use this information to provide tailored support services to students based on their cohort. You could also design support systems around specific types of classes or within certain majors, all using the data gathered from the cohort analysis.

Data analysis tools

Computerized tools make data analysis faster, easier, and more accessible. Some of the most common data analysis tools include Microsoft Excel and the programming languages Python, R, and SQL. Our courses can provide you with a strong foundation to build a career as a Data Analyst. Some of our best courses for data analysis are:

Using these tools, you can create your own databases, complete with rules and configurations that allow you to generate data-based insights. You can also incorporate these kinds of databases into other programs.

For instance, you could design a database using SQL that allows users of an eCommerce clothing app to search through products, specifying elements such as size, color, and style. The end user’s search experience can then be tailored in any way you want, ensuring they get the search options they need and stay engaged with the app and the company’s products.

Who uses data analysis?

In reality, nearly any career that brings you into contact with substantial amounts of data can use data analysis. Even if your role doesn’t specifically require you to analyze data, having some background in it can position you to:

  • Be a more effective leader — one that makes decisions based on data.
  • Offer better insights to executives and managers.
  • Come up with more actionable solutions.

That being said, there are some professions where data analysis is a must. These include:

  • Data Scientist: A Data Scientist uses algorithms and scientific methods to derive discoveries from vast amounts of apparently random data.
  • Data Analyst: A Data Analyst focuses on exploring and visualizing data, applying statistical methods to generate insights, and communicating their findings.
  • Data Engineer: A Data Engineer collects and observes data for a wide range of disciplines, setting up pipelines and data warehouses.
  • Business Analyst: A Business Analyst is essentially a Data Analyst focused on improving business outcomes.
  • Product Manager: A Product Manager uses insights gained from data analysis to strategize the design of a specific product or a sequence of products. These could be physical or digital products, such as software applications.
  • Digital Marketer: A Digital Marketer uses data analysis to choose the most effective marketing channels for a product or service.

Getting started with data analysis

The best way to work with data analysis is to get comfortable using the tools and techniques that power data analytics. You can get started today with our Data Scientist: Analytics Specialist career path. In this course, you’ll learn how to use SQL, Python, and various libraries including pandas and Matplotlib, to analyze and visualize data and share your discoveries. Sign up today to get started for free.


Data Analytics Courses & Tutorials | Codecademy

Data analytics is the process of taking raw data and turning it into something meaningful we can understand. By finding trends and patterns, you can make predictions and uncover new information that helps inform decisions. There’s a great demand for Data Analysts in healthcare, marketing, retail, i…

How to Become a Computer Programmer Without a Degree

0
How to Become a Computer Programmer Without a Degree

Programming, or coding, has existed since the 19th century, but the field has clearly evolved since its analog beginnings in the 1800s. It now includes over 700 coding languages and has helped bring the world into the digital era, inspiring countless people to become Computer Programmers — a now in-demand job.

Considering how technical the role is, you might think that Computer Programmers must hold degrees in computer science, mathematics, or information technology. But in a recent survey, 72% of employers said they believe that coders who have passed intensive online training courses perform just as well as those with degrees, or even better. Meaning: While a degree may be helpful, it’s possible to become a successful Computer Programmer without one.

Let’s break down what a Computer Programmer does, and what you need to know to become one. If you’re eager to get started, we offer a variety of online courses — from learning the fundamentals of coding to mastering specific coding languages — that are designed to get you job-ready.

What does a Computer Programmer do?

Computer Programmers write code for software programs and computer and mobile applications. They also test and maintain software and systems to ensure they run smoothly. Interestingly, about 70% of coding jobs are in careers unrelated to technology, which means you can basically work in any field that you’re interested in by becoming a Computer Programmer.

Roles

As a Computer Programmer, you’ll wear a lot of hats and use your technical skills in different ways depending on what you need to accomplish. Your role may include:

  • Writing code: Some coders write and test new software or programs. If they work on the front-end, they are involved in creating the overall look and feel of the application and ensuring its functionality, similar to a Web Designer.
  • Maintenance: Programs constantly evolve as the needs of users and parameters of the industry are constantly in flux. Maintenance includes creating and installing updates, troubleshooting, and repairing bugs and errors.
  • Diversification: Often computer programmers also need to rewrite code for existing software and applications so they can be compatible with various operating systems. This can be done by using various languages to run the program on each operating system or using one language that works across multiple operating systems.
  • Security: Many programmers work in cybersecurity, identifying malicious software and providing patches for vulnerable applications. Others write code that prevents data leaks or breaches in security or creates software and applications for protecting systems from attack.

Skills

Coders will need to learn a coding language (or, more likely, languages), as well as other important skills.

  • Programming languages: First and foremost, Computer Programmers need to know how to code. We offer courses in popular languages like Python, C++, C#, JavaScript, and PHP, whether you’re a beginner or more experienced.
  • Problem-solving and math: A Computer Programmer needs to be able to visualize solutions to various obstacles. It can also be helpful to have a solid background in math — but don’t get deterred if math hasn’t always been your strong suit, since that’s not a prerequisite for all types of developers. Plus, if you’re new to coding, our courses provide the fundamentals for developing these skills.
  • Communication and creativity: Besides the technical skills needed for coding, you’ll also need to develop your soft skills. Effective communication, creativity, collaboration, reporting, and documentation are the building blocks of nearly every project a Computer Programmer will take on.

How long does it take to become a Computer Programmer?

This question truly depends on how much time you have to devote to learning to code, building out your portfolio and resume, and job-hunting.

If you’re learning online, you’ll likely be able to go at your own pace so that your learning fits within your lifestyle and goals. When it comes to getting the technical skills, many of our courses can be completed in a matter of hours, while others can take a few weeks. Here are some examples:

  • Python 3: You can finish this beginner-friendly course in just 25 hours, and you’ll learn coding skills and complete projects that will help you build your programming portfolio.
  • JavaScript: In about 30 hours, you can complete both the beginner and intermediate courses in this language. Included projects will help you showcase your new skills to prospective employers.
  • Chatbots with Python: This 8-week course will take you from the beginner level all the way to creating chatbots with AI learning.

If you want to go from beginner to job-ready, then you may want to consider signing up for a Codecademy career path, which will likely take you a few months to complete. Our Full-Stack Engineer, Front-Engineer, and Back-End Engineer career paths are some good ones to consider if you want to become a Computer Programmer.

How much does a Computer Programmer make?

The median pay for Computer Programmers is about $93,000, according to the Bureau of Labor Statistics, but there are several factors that can impact which jobs you’re considered for — and therefore your salary.

  • An attractive portfolio: Put yourself ahead of the competition by building a portfolio that showcases your creativity, diverse skill set, and problem-solving skills.
  • Location: The average pay for coders varies by state. A recent survey, for example, shows that Massachusetts is the state paying the highest on average, while Montana has the lowest average salaries. While it totally depends on the specific job you’re considering, being able to relocate can open the door to more job possibilities. (That said, there are plenty of remote jobs in the field, so don’t stress if you don’t see any promising jobs where you currently live.)
  • Learning new programming languages: As a Computer Programmer, adding more languages to your toolkit can make you a more desirable job candidate, depending on the role. Take a look at our catalog to explore our courses — if you’re not sure where to start, check out our sorting quiz to see what matches up with your interests. Or check out this list of the easiest languages to learn, according to developers.
  • Exploring industries: Coding is now involved in nearly every industry, so you can bet that switching into a more high-paid industry might be more lucrative than industries that, on average, involve lower pay. Some of the highest-paying industries include healthcare, finance, and IT.

How to write a Computer Programmer resume

Potential employers want to see more than just a list of coding languages and past jobs and experience. They will likely be looking for keywords in your resume to indicate the areas and levels of your expertise. Did you design new software or modify existing applications? What other teams have you collaborated with, and how did you address and resolve problems and obstacles? What training, certifications, and awards have you earned? What personal or volunteer projects have you participated in?

In addition to all this, try to make your resume unique and specific to each job opportunity you’re pursuing by customizing your work history description to include tasks from the job description.

How to build a Computer Programmer portfolio

Your portfolio is a professional website to showcase your skills and experience. Rather than replacing a resume, it works in harmony with it to attract the attention of potential clients and employers. It should include personal information that exhibits your personality and point of view, as well as your contact info. Think of it as a means to display your skills and past projects visually, and an opportunity to create a personal brand. Make sure to keep your site up-to-date as your portfolio grows.

How to prepare for a Computer Programmer interview

Once you have your professional portfolio and resume, you’ll be ready to start applying for jobs and interviewing. Expect to field questions about your past experience and your skills. Some prospective employers may even test you during the interview to assess your problem-solving skills and coding proficiency.

  • Prepare: Rehearse your answers to commonly asked interview questions, but beware of over-rehearsing. You want to sound confident but not robotic. Practice speaking aloud about past projects and experiences so that you can speak fluently and clearly.
  • Refresh: Make sure you’re familiar with the technical knowledge that may be tested during the interview. Practicing and staying up-to-date with your skills can help you perform without hesitancy or insecurity. Need help? Try our Code Challenges to get some practice, and peruse Docs, our free coding documentation, when you need to brush up on some key terms and concepts.
  • Relax: It’s easier said than done, but try not to be nervous and communicate in a professional but relaxed manner. Come armed with questions for the interviewer so you can really get a sense of the job you’ll be asked to do — remember: interviews are an opportunity for you to see if this job works for you too. Here are some ideas for questions to ask.

Getting started

If you’re not sure where to begin, our course catalog is a great place to start. From there, you can brush up on programming languages, learn to ace a technical interview, and start building the skills you need to become a Computer Programmer without a degree.

Summer Reading Contest, Week 7: What Got Your Attention in The Times This Week?

0
Summer Reading Contest, Week 7: What Got Your Attention in The Times This Week?

Welcome to Week Seven of our 13th Annual Summer Reading Contest.

This contest is open to students 11-19 from anywhere in the world. To participate, submit a response by 9 a.m. Eastern on July 29 that answers the questions “What got your attention in The New York Times this week? Why?”

If you are 13 or older and live in the United States, or 16 or older from anywhere else in the world, post your response in the comment section. If you are a teacher, parent or guardian and your kids or students are 11-12 years old and live in the United States, or 11-15 and live in another country, see the bottom of this post for details on how to submit.

Responses must be 1,500 characters — about 250 words — or fewer.

What should you choose? Well, as you know from the rules we’ve posted, you can pick anything published on nytimes.com in 2022, including articles, essays, videos, photos, podcasts or infographics.

We hope you’ll click around nytimes.com and find your own great articles, features and multimedia. But we also know that not everyone who participates has a Times subscription. Because all links to Times content from the student features on our site are free, every week we’ll try to help by posting interesting pieces from a variety of sections.

Dr. Caitlin Bernard Was Meant to Write This With Me Before She Was Attacked for Doing Her Job

Why Do Moms Tend to Manage the Household Scheduling?

What Biden Got Right on His Trip to the Middle East

The Gender Gap Obscures More About Politics Than It Reveals

Inflation Is Bad, But Unemployment Is Far Worse

Endemic Covid-19 Looks Pretty Brutal

Need more details? The contest rules are all here, and you can read the work of last year’s winners here. A quick overview, though:

  • You can choose from anything published in the print paper or on nytimes.com in 2022, including videos, podcasts, graphics and photographs. (In your response, please include the URL or headline of the piece you pick.)

  • We’ll post this question each Friday from today through Aug. 12, and you’ll have until the next Friday morning to respond with your picks. Then we’ll close that post and open a new one with the same question.

  • We’ll choose at least one favorite answer to feature on our site each week. Winners from this week will be announced on Tuesday, August 9.

  • Feel free to participate each week, but we allow only one submission per person per week.

  • The contest is open to students ages 11 to 19 from anywhere in the world. If you are 13 or older and live in the United States, or 16 or older from anywhere else in the world, post your response in the comments section. If you are a teacher, parent or guardian of a student or child who is between the ages of 11 and 12 and live in the United States, or 11 and 15 and live in another country, then you must submit an entry on the student’s behalf using the form below. All entries from the comments section and the form below will be judged together.

What if NASA invited you to their next launch?

0
What if NASA invited you to their next launch?

This is a reality that content creators are living in right now. They do have the opportunity to be at the forefront of a NASA launch, where only a maximum of 100 digital creators will be part of the exclusive group of people to witness the launch of Artemis I.

 

Image Artemis I NASA

 

As the official NASA website explains: “Artemis I will be the first integrated flight test of NASA’s deep space exploration system: the Orion spacecraft, Space Launch System (SLS) rocket, and the ground systems at Kennedy Space Center in Cape Canaveral, Florida. The first in a series of increasingly complex missions, Artemis I will be an uncrewed flight that will provide a foundation for human deep space exploration, and demonstrate our commitment and capability to extend human existence to the Moon and beyond. During this flight, the uncrewed Orion spacecraft will launch on the most powerful rocket in the world and travel thousands of miles beyond the Moon, farther than any spacecraft built for humans has ever flown, over the course of about a three-week mission”. 

 

Artemis I Launching to the Moon: Official NASA Launch Trailer

Artemis I’s mission:

 

Artemis I will be the first integrated flight test of NASA’s deep space exploration system: the Orion spacecraft, Space Launch System (SLS) rocket, and the ground systems at Kennedy Space Center in Cape Canaveral, Florida. The first in a series of increasingly complex missions, Artemis I will be an uncrewed flight that will provide a foundation for human deep space exploration, and demonstrate our commitment and capability to extend human existence to the Moon and beyond. During this flight, the uncrewed Orion spacecraft will launch on the most powerful rocket in the world and travel thousands of miles beyond the Moon, farther than any spacecraft built for humans has ever flown, over the course of about a three-week mission. 

 

The intention is to invite those people who are passionate about communication and content creation to witness the event in the first row and thus share every detail of the launch of Artemis I immediately through networks to their followers.

 

The event will last 3 days, and it is estimated that the launch, if all the conditions are right, will be on August 29, 2022.

NASA Social participants will have the opportunity to:

  • Tour NASA facilities at Kennedy

  • Meet and interact with subject-matter experts

  • Meet fellow social media influencers and space enthusiasts

  • Meet members of NASA’s social media team

  • View the launch of NASA’s Space Launch Systems Rocket and Orion Capsule

  •  

Do you want to know more? Visit the official site of the NASA 

NASA to Host Media Activities in Houston Ahead of Lunar Mission

United States. National Aeronautics & Space Administration; John F. Kennedy Space Center; Lunar surface; Astronauts; Flight testing; Pictures

U.S. Return To the Moon Eases Ahead In a Key Test.

Author : Vanessa D”angelo
Degree :
Major : Marketing
Country : Spain
Language : English

View Author Profile
Visit Atlantic International University

How Much Does a Site Reliability Engineer Make?

0
How Much Does a Site Reliability Engineer Make?

Site Reliability Engineers (SRE) play a vital role at any tech company — after all, they’re responsible for making sure websites are running correctly 24/7. So it’s no surprise that a career as a Site Reliability Engineer can be a fairly lucrative path. Glassdoor estimates that the average salary for a Site Reliability Engineer in the U.S. is about $118,000.

But as with any other job, your salary will depend on factors like where you live and how much experience you have. Let’s take a look at some of the biggest factors determining your pay as a Site Reliability Engineer.

What determines your pay as a Site Reliability Engineer?

There are a few different factors that will determine your salary as an engineer. Below are the four main categories to consider:

Education

According to Indeed, most potential employers prefer that a Site Reliability Engineer candidate holds a bachelor’s degree in computer science or another related field. Some Site Reliability Engineers also earn software development certificates to appeal to employers. Others study and work as DevOps Engineers or Software Engineers to gain the education and work experience to move on to becoming an SRE.

Knowing certain programming languages can also affect the average Site Reliability Engineer’s salary, according to Payscale. Here are just a few examples:

Experience

Naturally, the more time you work in a career, the more skills you’ll acquire to move up the ladder. Years of experience in a relevant field before beginning a career in site reliability engineering will no doubt get you an interview. But the years of experience working specifically as an SRE is generally the key to a bigger paycheck.

There are five basic levels of experience and average salary expectations for a Site Reliability Engineer. Here’s a breakdown of those levels and the accompanying salary averages:

  • Entry level (<1 year): Glassdoor estimates that an entry-level Site Reliability Engineer can make an average of $107,567 per year.
  • Early career (1-3 years): At this phase, the average salary is roughly $116,049 a year.
  • Mid career (4-6 years): Salary expectations usually increase to around $121,741 annually.
  • Experienced (7-9 years): As you near a decade in the field, the current average is about $124,643 yearly.
  • Late career (10+ years): Once you reach this phase, the average reaches around $137,638 per year.

Experience also pertains to how well-versed you are in relevant skills like Python, Amazon Web Services, and Linux, so more knowledge of these skills can also make a difference in your salary.

Location

As is the case with most jobs, your location can greatly affect your salary as a Site Reliability Engineer, according to Payscale. An employee in San Francisco makes an average of 18.3% over the national average, while someone working in Chicago may make significantly less. Balancing the cost of living with the average pay rate will help to evaluate the salary benefits where you live.

Areas that have a large number of tech-based companies typically offer a higher rate of pay. The bigger tech companies themselves can vary in pay rate, from Google and Apple, which pay an average salary of around $140,000, to Equifax at $93,000, and Microsoft with $114,000. But along with the higher salary may come a competitive job market, which can make a job search potentially more of a challenge.

Job Title

Site Reliability Engineer is just one job title for someone working in this field of expertise. Different roles can be obtained through years of experience, further education, or in-house training by your employer. Each job title can provide you with a potentially different salary. For example, you may begin work as an entry-level or early-career SRE but can advance to one of the higher-paid positions over time. A few examples of these job titles and their average salaries are:

  • Director of Site Reliability Engineering: $172,603
  • Senior Site Reliability Engineer: $136,456
  • Site Reliability Engineer: $118,439
  • Software Reliability Engineer: $113,558
  • Lead Site Reliability Engineer: $122,985

How to become a Site Reliability Engineer

Being a Site Reliability Engineer means having a strong set of technical skills (like a command of programming languages, comfort with solving problems using code, and knowledge of major cloud providers), as well as a troubleshooting mindset in order to be an effective problem-solver.

Employers often look for candidates that have a strong background as Web Developers, DevOps Engineers, Software Engineers, or System Administrators. If you’re looking to build your technical skills, take a look at our course catalog to brush up on courses like Java, Go, and Python 3.

Need help applying? Here’s some advice for how to get a job as a Site Reliability Engineer.

School Meals and Academic Achievement

0
School Meals and Academic Achievement

By Althea Need Kaminske

Note: This post focuses specifically on education within U.S. school systems. 

When we give presentations and talk to people about effective learning strategies, one of the most common questions that we’re asked is: “If this is so effective, why isn’t it being taught in schools?”. This is a complicated question with a complicated answer. The answer is mired in complications from how teachers are trained in schools of education, the politics of what states require to be taught in classrooms, and to the fact that these strategies are more guiding principles than structured programs. There aren’t clear-cut policies to be implemented and, in fact, I would be hesitant to advocate for them as they could be easily misunderstood and misapplied. 

On the other hand, one policy that we know has a substantial benefit for education is school lunch and breakfast programs. Decades of research have demonstrated that children do better in school when they aren’t hungry (1, 2, 3). According to the U.S. Department of Agriculture, nearly 15% of households with children were food-insecure in 2020 (4). Not surprisingly, poverty seems to be the largest driver of food insecurity with 10.8% of low-income households reporting very low food security (4). At the university level, as many as 39%-48% of students are food insecure (5).

Our brains require a lot of energy to think. Around 20% of our daily calories go toward fueling the brain (6). Some studies have suggested that engaging in more cognitively demanding tasks burns more calories (7), while others have noted that this may vary by person and by task (7). Given how important food is for thinking, it’s not surprising that food insecurity is associated with decreased cognitive function (9).

Furthermore, the quality of the food we eat can have an impact on our ability to think and learn. Foods high in saturated fats can have a negative impact on our ability to remember information (10). Fortunately, eating fruits and vegetables has been found to reverse these negative impacts (10), so eating an overall balanced diet means that you can indulge in the occasional greasy pizza or ice cream without worry.

Many school meal programs have found positive effects of meals in schools. For example, The Maryland Meals for Achievement (MMFA) program found that students who received free in-classroom breakfast had better student achievement, classroom behavior, and attention as well as fewer school absences and complaints of hunger (11). On a larger scale, one study examined the long-term effects of the School Breakfast Program, a program established with the Child Nutrition Act of 1966 which provides free breakfast to children from households with income at or below 130% of the poverty level (2). The availability of the School Breakfast Program increased math achievement by 23-29% of a standard deviation (2).

Winners of Our Fifth Annual Podcast Contest

0
Winners of Our Fifth Annual Podcast Contest

“The Honest Confessions of a Seventeen Year Old Girl” by Becky Zhong, 17, Shanghai American School, Puxi, Shanghai

“Is Social Security Really Enough?” by Fabio Oh, 18, Cerritos High School, Cerritos, Calif.

“Look in a Book,” Rebekah Poteet, 17, Cleburne High School, Cleburne, Texas

“Moments of Happiness” by Flor

“The Oberheim and Its Legacy” by Jacob Atkins, 19, and Carson Miller, 18, Kings High School, Kings Mills, Ohio

“Ode to Joy to the World” by Tianhao Yang, 19, Berkshire School, Sheffield, Mass.

“On Black Education” by Jared Yarbrough, 18, Cerritos High School, Cerritos, Calif.

“Our Promise to Sandy Hook” by Eliana Goldstein, Madeline Baldwin, Julia Wilkes Chelios Hayes, Irving A. Robbins Middle School, Farmington, Conn.

“The Politics Behind the Olympics” by Brandon Jewik, 18, Cerritos High School, Cerritos, Calif.

“Search for Questions, Not Answers” by Amy Usatine, 15, River Dell Regional High School, Oradell, N.J.