# Data Science

#### PREREQUISITES:

AGE – MINIMUM 17
GRADE – SOPHOMORE AND ABOVE WITH STRONG MATH AND STATISTICS BACKGROUND

## Python and Intro to Data Science

### Introduction to Python programming language

• Why Python
• Installation of Python & Anaconda.

### How to write your first programs

• Basic coding skills
• How to work with data types and variables
• How to work with numeric data
• How to work with string data
• How to use five of the main Python functions
• Project: Invoice program

### How to code control statements

• Coding Boolean expressions
• Coding selection structure
• Coding iterations (loops)
• How to plan a program
• Project: Future Value program

### How to define and use functions

• How to define and use functions
• Write a simple function
• Single-parameter functions
• Functions that return single values
• Multiple parameters and return values
• Functions with multiple  parameters
• A brief introduction to tuples
• Functions that return multiple values
• Putting it all together

## Intermediate Python with Data Science

### Lists

• Basic skills for working with lists
• How to work with list of lists
• Project: Movie List program

### How to work with recursion and algorithms

• An introduction to recursion
• Common recursive algorithms

### Matplotlib

• Basic plots with Matplotlib
• Line Plots
• Scatterplots

### Histograms

• Build a histogram
• Choosing the right plot
• Customizing plots

### Dictionaries and Pandas

• Creating dictionaries
• Access dictionary
• Dictionary Manipulation
• Pandas
• Dictionary to DataFrame
• CSV to DataFrame
• Square Brackets
• loc and iloc

### Logic, Control Flow and Filtering

• Comparison Operators
• Equality
• Greater and less than
• Boolean Operators
• and, or, not
• if, elif, else
• Filtering pandas DataFrames

### Loops

• while loop
• for loop
• Loop Data Structures
• Loop over dictionary
• Loop over NumPy array
• Loop over DataFrame

### Using iterators

• Iterators vs iterables
• Iterating over iterables
• Iterators as function arguments
• Using enumerate
• Using iterators to load large files into memory
• Processing and extracting large amounts of data

### List comprehensions

• Basic list comprehensions