Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

The Data Analyst Course: Complete Data Analyst Bootcamp 2023

Posted By: ELK1nG
The Data Analyst Course: Complete Data Analyst Bootcamp 2023

The Data Analyst Course: Complete Data Analyst Bootcamp 2023
Last updated 10/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 8.85 GB | Duration: 20h 55m

Complete Data Analyst Training: Python, NumPy, Pandas, Data Collection, Preprocessing, Data Types, Data Visualization

What you'll learn

The course provides the complete preparation you need to become a data analyst

Fill up your resume with in-demand data skills: Python programming, NumPy, pandas, data preparation - data collection, data cleaning, data preprocessing, data visualization; data analysis, data analytics

Acquire a big picture understanding of the data analyst role

Learn beginner and advanced Python

Study mathematics for Python

We will teach you NumPy and pandas, basics and advanced

Be able to work with text files

Understand different data types and their memory usage

Learn how to obtain interesting, real-time information from an API with a simple script

Clean data with pandas Series and DataFrames

Complete a data cleaning exercise on absenteeism rate

Expand your knowledge of NumPy – statistics and preprocessing

Go through a complete loan data case study and apply your NumPy skills

Master data visualization

Learn how to create pie, bar, line, area, histogram, scatter, regression, and combo charts

Engage with coding exercises that will prepare you for the job

Practice with real-world data

Solve a final capstone project

Requirements

No prior experience is required. We will start from the very basics

You’ll need to install Anaconda. We will show you how to do that step by step

Description

The problemMost data analyst, data science, and coding courses miss a critical practical step. They don’t teach you how to work with raw data, how to clean, and preprocess it. This creates a sizeable gap between the skills you need on the job and the abilities you have acquired in training. Truth be told, real-world data is messy, so you need to know how to overcome this obstacle to become an independent data professional.The bootcamps we have seen online and even live classes neglect this aspect and show you how to work with ‘clean’ data. But this isn’t doing you a favour. In reality, it will set you back both when you are applying for jobs, and when you’re on the job.The solutionOur goal is to provide you with complete preparation. And this course will turn you into a job-ready data analyst. To take you there, we will cover the following fundamental topics extensively.Theory about the field of data analyticsBasic PythonAdvanced PythonNumPyPandasWorking with text filesData collectionData cleaningData preprocessingData visualizationFinal practical exampleEach of these subjects builds on the previous ones. And this is precisely what makes our curriculum so valuable. Everything is shown in the right order and we guarantee that you are not going to get lost along the way, as we have provided all necessary steps in video (not a single one skipped). In other words, we are not going to teach you how to analyse data before you know how to gather and clean it.So, to prepare you for the entry-level job that leads to a data science position - data analyst - we created The Data Analyst Course.This is a rather unique training program because it teaches the fundamentals you need on the job. A frequently neglected aspect of vital importance.Moreover, our focus is to teach topics that flow smoothly and complement each other. The course provides complete preparation for someone who wants to become a data analyst at a fraction of the cost of traditional programs (not to mention the amount of time you will save). We believe that this resource will significantly boost your chances of landing a job, as it will prepare you for practical tasks and concepts that are frequently included in interviews.The topics we will cover1. Theory about the field of data analytics2. Basic Python3. Advanced Python4. NumPy5. Pandas6. Working with text files7. Data collection8. Data cleaning9. Data preprocessing10. Data visualization11. Final practical example1. Theory about the field of data analyticsHere we will focus on the big picture. But don’t imagine long boring pages with terms you’ll have to check up in a dictionary every minute. Instead, this is where we want to define who a data analyst is, what they do, and how they create value for an organization.Why learn it?You need a general understanding to appreciate how every part of the course fits in with the rest of the content. As they say, if you know where you are going, chances are that you will eventually get there. And since data analyst and other data jobs are relatively new and constantly evolving, we want to provide you with a good grasp of the data analyst role specifically. Then, in the following chapters, we will teach you the actual tools you need to become a data analyst.2. Basic PythonThis course is centred around Python. So, we’ll start from the very basics. Don’t be afraid if you do not have prior programming experience.Why learn it?You need to learn a programming language to take full advantage of the data-rich world we live in. Unless you are equipped with such a skill, you will always be dependent on other people’s ability to extract and manipulate data, and you want to be independent while doing analysis, right? Also, you don’t necessarily need to learn many programming languages at once. It is enough to be very skilled at just one, and we’ve naturally chosen Python which has established itself as the number one language for data analysis and data science (thanks to its rich libraries and versatility).3. Advanced PythonWe will introduce advanced Python topics such as working with text data and using tools such as list comprehensions and anonymous functions.Why learn it?These lessons will turn you into a proficient Python user who is independent on the job. You will be able to use Python’s core strengths to your advantage. So, here it is not just about the topics, it is also about the depth in which we explore the most relevant Python tools.4. NumPyNumPy is Python’s fundamental package for scientific computing. It has established itself as the go-to tool when you need to compute mathematical and statical operations.Why learn it?A large portion of a data analyst’s work is dedicated to preprocessing datasets. Unquestionably, this involves tons of mathematical and statistical techniques that NumPy is renowned for. In addition, the package introduces multi-dimensional array structures and provides a plethora of built-in functions and methods to use while working with them. In other words, NumPy can be described as a computationally stable state-of-the-art Python instrument that provides flexibility and can take your analysis to the next level.5. PandasThe pandas library is one of the most popular Python tools that facilitate data manipulation and analysis. It is very valuable because you can use it to manipulate all sorts of information - numerical tables and time series data, as well as text.Why learn it?Pandas is the other main tool an analyst needs to clean and preprocess the data they are working with. Its data manipulation features are second to none in Python because of the diversity and richness it provides in terms of methods and functions. The combined ability to work with both NumPy and pandas is extremely powerful as the two libraries complement each other. You need to be capable to operate with both to produce a complete and consistent analysis independently.6. Working with text filesExchanging information with text files is practically how we exchange information today. In this part of the course, we will use the Python, pandas, and NumPy tools learned earlier to give you the essentials you need when importing or saving data.Why learn it?In many courses, you are just given a dataset to practice your analytical and programming skills. However, we don’t want to close our eyes to reality, where converting a raw dataset from an external file into a workable Python format can be a massive challenge.7. Data collectionIn the real world, you don’t always have the data readily available for you. In this part of the course, you will learn how to retrieve data from an API.Why learn it?You need to know how to source your data, right? To be a well-rounded analyst you must be able to collect data from outside sources. This is rarely a one-click process. This section aims at providing you with all the necessary tools to do that on your own.8. Data cleaningThe next logical step is to clean your data. This is where you will apply the pandas skills acquired earlier in practice. All lessons throughout the course have a real-world perspective.Why learn it?A large part of a data analyst’s job in the real world involves cleaning data and preparing it for the actual analysis. You can’t expect that you’ll deal with flawless data sources, right? So, it will be up to you to overcome this stage and clean your data.9. Data preprocessingEven when your dataset is clean and in an understandable shape, it isn’t quite ready to be processed for visualizations and analysis just yet. There is a crucial step in between, and that’s data preprocessing.Why learn it?Data preprocessing is where a data analyst can demonstrate how good or great they are at their job. This stage of the work requires the ability to choose the right statistical tool that will improve the quality of your dataset and the knowledge to implement it with advanced pandas and NumPy techniques. Only when you’ve completed this step can you say that your dataset is preprocessed and ready for the next part, which is data visualization.10. Data visualizationData visualization is the face of data. Many people look at the data and see nothing. The reason for that is that they are not creating good visualizations. Or even worse – they are creating nice graphs but cannot interpret them accurately.Why learn it?This part of the course will teach you how to use your data to produce meaningful insights. At the end of the day, data charts are what conveys the most information in the shortest amount of time. And nothing speaks better than a well crafted and meaningful data visualization.11. Practical exampleThe course contains plenty of exercises and practical cases. In the end, we have included a comprehensive practical example that will show you how everything you have learned along the way comes nicely together. This is where you will be able to appreciate how far you have come in your journey to becoming a data analyst and starting your data career.What you getA program worth $1,250Active Q&A supportAll the knowledge to become a data analystA community of aspiring data analystsA certificate of completionAccess to frequent future updatesReal-world trainingGet ready to become a data analyst from scratchWhy wait? Every day is a missed opportunity.Click the “Buy Now” button and become a part of our data analyst program today.

Overview

Section 1: Introduction to the Course

Lecture 1 A Practical Example - What Will You Learn in This Course?

Lecture 2 What Does the Course Cover?

Lecture 3 Download All Resources

Lecture 4 FAQ

Section 2: Introduction to Data Analytics

Lecture 5 Introduction to the World of Business and Data

Lecture 6 Relevant Terms Explained

Lecture 7 Data Analyst Compared to Other Data Jobs

Lecture 8 Data Analyst Job Description

Lecture 9 Why Python

Section 3: Setting up the Environment

Lecture 10 Introduction

Lecture 11 Programming Explained in a Few Minutes

Lecture 12 Jupyter - Introduction

Lecture 13 Jupyter - Installing Anaconda

Lecture 14 Jupyter - Intro to Using Jupyter

Lecture 15 Jupyter - Working with Notebook Files

Lecture 16 Jupyter - Using Shortcuts

Lecture 17 Jupyter - Handling Error Messages

Lecture 18 Jupyter - Restarting the Kernel

Section 4: Python Basics

Lecture 19 Python Variables

Lecture 20 Types of Data - Numbers and Boolean Values

Lecture 21 Types of Data - Strings

Lecture 22 Basic Python Syntax - Arithmetic Operators

Lecture 23 Basic Python Syntax - The Double Equality Sign

Lecture 24 Basic Python Syntax - Reassign Values

Lecture 25 Basic Python Syntax - Add Comments

Lecture 26 Basic Python Syntax - Line Continuation

Lecture 27 Basic Python Syntax - Indexing Elements

Lecture 28 Basic Python Syntax - Indentation

Lecture 29 Operators - Comparison Operators

Lecture 30 Operators - Logical and Identity Operators

Lecture 31 Conditional Statements - The IF Statement

Lecture 32 Conditional Statements - The ELSE Statement

Lecture 33 Conditional Statements - The ELIF Statement

Lecture 34 Conditional Statements - A Note on Boolean Values

Lecture 35 Functions - Defining a Function in Python

Lecture 36 Functions - Creating a Function with a Parameter

Lecture 37 Functions - Another Way to Define a Function

Lecture 38 Functions - Using a Function in Another Function

Lecture 39 Functions - Combining Conditional Statements and Functions

Lecture 40 Functions - Creating Functions That Contain a Few Arguments

Lecture 41 Functions - Notable Built-in Functions in Python

Lecture 42 Sequences - Lists

Lecture 43 Sequences - Using Methods

Lecture 44 Sequences - List Slicing

Lecture 45 Sequences - Tuples

Lecture 46 Sequences - Dictionaries

Lecture 47 Iteration - For Loops

Lecture 48 Iteration - While Loops and Incrementing

Lecture 49 Iteration - Create Lists with the range() Function

Lecture 50 Iteration - Use Conditional Statements and Loops Together

Lecture 51 Iteration - Conditional Statements, Functions, and Loops

Lecture 52 Iteration - Iterating over Dictionaries

Section 5: Fundamentals for Coding in Python

Lecture 53 Object-Oriented Programming (OOP)

Lecture 54 Modules, Packages, and the Python Standard Library

Lecture 55 Importing Modules

Lecture 56 Introduction to Using NumPy and pandas

Lecture 57 What is Software Documentation?

Lecture 58 The Python Documentation

Section 6: Mathematics for Python

Lecture 59 What Is а Matrix?

Lecture 60 Scalars and Vectors

Lecture 61 Linear Algebra and Geometry

Lecture 62 Arrays in Python

Lecture 63 What Is a Tensor?

Lecture 64 Adding and Subtracting Matrices

Lecture 65 Errors When Adding Matrices

Lecture 66 Transpose

Lecture 67 Dot Product of Vectors

Lecture 68 Dot Product of Matrices

Lecture 69 Why is Linear Algebra Useful

Section 7: NumPy Basics

Lecture 70 The NumPy Package and Why We Use It

Lecture 71 Installing/Upgrading NumPy

Lecture 72 Ndarray

Lecture 73 The NumPy Documentation

Lecture 74 NumPy Basics - Exercise

Section 8: Pandas - Basics

Lecture 75 Introduction to the pandas Library

Lecture 76 Installing and Running pandas

Lecture 77 Introduction to pandas Series

Lecture 78 Working with Attributes in Python

Lecture 79 Using an Index in pandas

Lecture 80 Label-based vs Position-based Indexing

Lecture 81 More on Working with Indices in Python

Lecture 82 Using Methods in Python - Part I

Lecture 83 Using Methods in Python - Part II

Lecture 84 Parameters vs Arguments

Lecture 85 the pandas Documentation

Lecture 86 Introduction to pandas DataFrames

Lecture 87 Creating DataFrames from Scratch - Part I

Lecture 88 Creating DataFrames from Scratch - Part II

Lecture 89 Additional Notes on Using DataFrames

Lecture 90 pandas Basics - Conclusion

Section 9: Working with Text Files

Lecture 91 Working with Files in Python - An Introduction

Lecture 92 File vs File Object, Read vs Parse

Lecture 93 Structured vs Semi-Structured and Unstructured Data

Lecture 94 Data Connectivity through Text Files

Lecture 95 Principles of Importing Data in Python

Lecture 96 More on Text Files (*.txt vs *.csv)

Lecture 97 Fixed-width Files

Lecture 98 Common Naming Conventions Used in Programming

Lecture 99 Importing Text Files in Python ( open() )

Lecture 100 Importing Text Files in Python ( with open() )

Lecture 101 Importing *.csv Files with pandas - Part I

Lecture 102 Importing *.csv Files with pandas - Part II

Lecture 103 Importing *.csv Files with pandas - Part III

Lecture 104 Importing Data with the "index_col" Parameter

Lecture 105 Importing Data with NumPy - .loadtxt() vs genfromtxt()

Lecture 106 Importing Data with NumPy - Partial Cleaning While Importing

Lecture 107 Importing Data with NumPy - Exercise

Lecture 108 Importing *.json Files

Lecture 109 Prelude to Working with Excel Files in Python

Lecture 110 Working with Excel Data (the *.xlsx Format)

Lecture 111 An Important Exercise on Importing Data in Python

Lecture 112 Importing Data with the pandas' "Squeeze" Method

Lecture 113 A Note on Importing Files in Jupyter

Lecture 114 Saving Your Data with pandas

Lecture 115 Saving Your Data with NumPy - np.save()

Lecture 116 Saving Your Data with NumPy - np.savez()

Lecture 117 Saving Your Data with NumPy - np.savetxt()

Lecture 118 Saving Your Data with NumPy - Exercise

Lecture 119 Working with Text Files - Conclusion

Section 10: Working with Text Data

Lecture 120 Working with Text Data and Argument Specifiers

Lecture 121 Manipulating Python Strings

Lecture 122 Using Various Python String Methods - Part I

Lecture 123 Using Various Python String Methods - Part II

Lecture 124 String Accessors

Lecture 125 Using the .format() Method

Section 11: Must-Know Python Tools

Lecture 126 Iterating Over Range Objects

Lecture 127 Nested For Loops - Introduction

Lecture 128 Triple Nested For Loops

Lecture 129 List Comprehensions

Lecture 130 Anonymous (Lambda) Functions

Section 12: Data Gathering/Data Collection

Lecture 131 What is data gathering/data collection?

Section 13: APIs (POST requests are not needed for this course)

Lecture 132 Overview of APIs

Lecture 133 GET and POST Requests

Lecture 134 Data Exchange Format for APIs: JSON

Lecture 135 Introducing the Exchange Rates API

Lecture 136 Including Parameters in a GET Request

Lecture 137 More Functionalities of the Exchange Rates API

Lecture 138 Coding a Simple Currency Conversion Calculator

Lecture 139 iTunes API

Lecture 140 iTunes API: Homework

Lecture 141 iTunes API: Structuring and Exporting the Data

Lecture 142 Pagination: GitHub API

Lecture 143 APIs: Exercise

Section 14: Data Cleaning and Data Preprocessing

Lecture 144 Data Cleaning and Data Preprocessing

Section 15: pandas Series

Lecture 145 .unique(), .nunique()

Lecture 146 Converting Series into Arrays

Lecture 147 .sort_values()

Lecture 148 Attribute and Method Chaining

Lecture 149 .sort_index()

Section 16: pandas DataFrames

Lecture 150 A Revision to pandas DataFrames

Lecture 151 Common Attributes for Working with DataFrames

Lecture 152 Data Selection in pandas DataFrames

Lecture 153 Data Selection - Indexing with .iloc[]

Lecture 154 Data Selection - Indexing with .loc[]

Lecture 155 A Few Comments on Using .loc[] and .iloc[]

Section 17: NumPy Fundamentals

Lecture 156 Indexing in NumPy

Lecture 157 Assigning Values in NumPy

Lecture 158 Elementwise Properties of Arrays

Lecture 159 Types of Data Supported by NumPy

Lecture 160 Characteristics of NumPy Functions Part 1

Lecture 161 Characteristics of NumPy Functions Part 2

Lecture 162 NumPy Fundamentals - Exercise

Section 18: NumPy DataTypes

Lecture 163 ndarrays

Lecture 164 Arrays vs Lists

Lecture 165 Strings vs Object vs Number

Lecture 166 NumPy DataTypes - Exercise

Section 19: Working with Arrays

Lecture 167 Basic Slicing in NumPy

Lecture 168 Stepwise Slicing in NumPy

Lecture 169 Conditional Slicing in NumPy

Lecture 170 Dimensions and the Squeeze Function

Lecture 171 Working with Arrays - Exercise

Section 20: Generating Data with NumPy

Lecture 172 Arrays of 0s and 1s

Lecture 173 "_like" functions in NumPy

Lecture 174 A Non-Random Sequence of Numbers

Lecture 175 Random Generators and Seeds

Lecture 176 Basic Random Functions in NumPy

Lecture 177 Probability Distributions in NumPy

Lecture 178 Applications of Random Data in NumPy

Lecture 179 Generating Data with NumPy - Exercise

Section 21: Statistics with NumPy

Lecture 180 Using Statistical Functions in NumPy

Lecture 181 Minimal and Maximal Values in NumPy

Lecture 182 Statistical Order Functions in NumPy

Lecture 183 Averages and Variance in NumPy

Lecture 184 Covariance and Correlation in NumPy

Lecture 185 Histograms in NumPy (Part 1)

Lecture 186 Histograms in NumPy (Part 2)

Lecture 187 NAN Equivalent Functions in NumPy

Lecture 188 Statistics with NumPy - Exercise

Section 22: NumPy - Preprocessing

Lecture 189 Checking for Missing Values in Ndarrays

Lecture 190 Substituting Missing Values in Ndarrays

Lecture 191 Reshaping Ndarrays

Lecture 192 Removing Values from Ndarrays

Lecture 193 Sorting Ndarrays

Lecture 194 Argument Sort in NumPy

Lecture 195 Argument Where in NumPy

Lecture 196 Shuffling Ndarrays

Lecture 197 Casting Ndarrays

Lecture 198 Striping Values from Ndarrays

Lecture 199 Stacking Ndarrays

Lecture 200 Concatenating Ndarrays

Lecture 201 Finding Unique Values in Ndarrays

Section 23: A Loan Data Example with NumPy

Lecture 202 Setting Up: Introduction to the Practical Example

Lecture 203 Setting Up: Importing the Data Set

Lecture 204 Setting Up: Checking for Incomplete Data

Lecture 205 Setting Up: Splitting the Dataset

Lecture 206 Setting Up: Creating Checkpoints

Lecture 207 Manipulating Text Data: Issue Date

Lecture 208 Manipulating Text Data: Loan Status and Term

Lecture 209 Manipulating Text Data: Grade and Sub Grade

Lecture 210 Manipulating Text Data: Verification Status & URL

Lecture 211 Manipulating Text Data: State Address

Lecture 212 Manipulating Text Data: Converting Strings and Creating a Checkpoint

Lecture 213 Manipulating Numeric Data: Substitute Filler Values

Lecture 214 Manipulating Numeric Data: Currency Change – The Exchange Rate

Lecture 215 Manipulating Numeric Data: Currency Change - From USD to EUR

Lecture 216 Completing the Dataset

Section 24: The "Absenteeism" Exercise - Introduction

Lecture 217 An Introduction to the "Absenteeism" Exercise

Lecture 218 The "Absenteeism" Exercise from a Business Perspective

Lecture 219 The Dataset

Section 25: Solution to the "Absenteeism" Exercise

Lecture 220 How to Complete the Absenteeism Exercise

Lecture 221 Eyeball Your Data First

Lecture 222 Note: Programming vs the Rest of the World

Lecture 223 Using a Statistical Approach to Solve Our Exercise

Lecture 224 Dropping the 'ID' Column

Lecture 225 Analysis of the 'Reason for Absence' Column

Lecture 226 Splitting the Reasons for Absence into Multiple Dummy Variables

Lecture 227 Working with Dummy Variables - A Statistical Perspective

Lecture 228 Grouping the Reason for Absence Columns

Lecture 229 Concatenating Columns in a pandas DataFrame

Lecture 230 Reordering Columns in a DataFrame

Lecture 231 Working on the 'Date' Column

Lecture 232 Extracting the Month Value from the 'Date' Column

Lecture 233 Creating the 'Day of the Week' Column

Lecture 234 Understanding the Meaning of 5 More Columns

Lecture 235 Modifying the 'Education' Column

Lecture 236 Final Remarks on the Absenteeism Exercise

Section 26: Data Visualization

Lecture 237 What Is Data Visualization and Why Is It Important?

Lecture 238 Why Learn Data Visualization?

Lecture 239 Choosing the Right Visualization – What Are Some Popular Approaches and Framewor

Lecture 240 Introduction into Colors and Color Theory

Lecture 241 Bar Chart - Introduction - General Theory and Getting to Know the Dataset

Lecture 242 Bar Chart - How to Create a Bar Chart Using Python

Lecture 243 Bar Chart – Interpreting the Bar Graph. How to Make a Good Bar Graph

Lecture 244 Pie Chart - Introduction - General Theory and Dataset

Lecture 245 Pie Chart - How to Create a Pie Chart Using Python

Lecture 246 Pie Chart – Interpreting the Pie Chart

Lecture 247 Pie Chart - Why You Should Never Create a Pie Graph

Lecture 248 Stacked Area Chart - Introduction - General Theory. Getting to Know the Dataset

Lecture 249 Stacked Area Chart - How to Create a Stacked Area Chart Using Python

Lecture 250 Stacked Area Chart - Interpreting the Stacked Area Graph

Lecture 251 Stacked Area Chart - How to Make a Good Stacked Area Chart

Lecture 252 Line Chart - Introduction - General Theory. Getting to Know the Dataset

Lecture 253 Line Chart - How to Create a Line Chart in Python

Lecture 254 Line Chart - Interpretation

Lecture 255 Line Chart - How to Make a Good Line Chart

Lecture 256 Histogram - Introduction - General Theory. Getting to Know the Dataset

Lecture 257 Histogram - How to Create a Histogram Using Python

Lecture 258 Histogram – Interpreting the Histogram

Lecture 259 Histogram – Choosing the Number of Bins in a Histogram

Lecture 260 Histogram - How to Make a Good Histogram

Lecture 261 Scatter Plot - Introduction - General Theory. Getting to Know the Dataset

Lecture 262 Scatter Plot - How to Create a Scatter Plot Using Python

Lecture 263 Scatter Plot – Interpreting the Scatter Plot

Lecture 264 Scatter Plot - How to Make a Good Scatter Plot

Lecture 265 Regression Plot - Introduction - General Theory. Getting to Know the Dataset

Lecture 266 Regression Plot - How to Create a Regression Scatter Plot Using Python

Lecture 267 Regression Plot – Interpreting the Regression Scatter Plot

Lecture 268 Regression Plot - How to Make a Good Regression Plot

Lecture 269 Bar and Line Chart - Introduction - General Theory. Getting to Know the Dataset

Lecture 270 Bar and Line Chart - How to Create a Combination Bar and Line Graph Using Python

Lecture 271 Bar and Line Chart – Interpreting the Combination Bar and Line Graph

Lecture 272 Bar and Line Chart – How to Make a Good Bar and Line Graph

Lecture 273 Data Visualization - Exercise

Section 27: Conclusion

Lecture 274 Conclusion

You should take this course if you want to become a Data Analyst and Data Scientist,This course is for you if you want a great career,The course is also ideal for beginners, as it starts from the fundamentals and gradually builds up your skills