Description
Learn the fundamentals of programming required for a career in data science. You will be able to use Python, SQL, Command Line, and Git by the end of the programme.
Syllabus:
Course 1: Introduction to SQL
Basic SQL
- Write common SQL commands including SELECT, FROM, and WHERE
- Use logical operators like LIKE, AND, and OR
SQL Joins
- Write JOINs in SQL, as you are now able to combine data from multiple sources to answer more complex business questions
- Understand different types of JOINs and when to use each type
SQL Aggregations
- Write common aggregations in SQL including COUNT, SUM, MIN, and MAX
- Write CASE and DATE functions, as well as work with NULLs LESSON FOUR Advanced SQL Queries
- Use subqueries, also called CTEs, in a number of different situations
- Use other window functions including RANK, NTILE, LAG, LEAD new functions along with partitions to complete complex tasks
Project: Investigate a Database
In this project, you will use PostgreSQL to work with a relational database. You will complete the entire data analysis process, beginning with a question, running appropriate SQL queries to answer your questions, and concluding with a presentation of your findings.
Course 2: Introduction to Python Programming
Why Python Programming
- Gain an overview of what you’ll be learning and doing in the course
- Understand why you should learn programming with Python
Data Types and Operators
- Represent data using Python’s data types: integers, floats, booleans, strings, lists, tuples, sets, dictionaries, compound data structures
- Perform computations and create logical statements using Python’s operators: Arithmetic, Assignment, Comparison, Logical, Membership, Identity
- Declare, assign, and reassign values using Python variables
- Modify values using built-in functions and methods
- Practice whitespace and style guidelines
Control FLow
- Write conditional expressions using if statements and boolean expressions to add decision making to your Python programs
- Use for and while loops along with useful built-in functions to iterate over and manipulate lists, sets, and dictionaries
- Skip iterations in loops using break and continue
- Condense for loops to create lists efficiently with list comprehensions
Functions
- Define your own custom functions
- Create and reference variables using the appropriate scope
- Add documentation to functions using docstrings
- Define lambda expressions to quickly create anonymous functions
- Use iterators and generators to create streams of data
Scripting
- Install Python 3 and set up your programming environment
- Run and edit python scripts
- Interact with raw input from users
- Identify and handle errors and exceptions in your code
- Open, read, and write to files
- Find and use modules in Python Standard Library and third-party libraries
- Experiment in the terminal using a Python Interpreter
Numpy
- Create, access, modify, and sort multidimensional NumPy arrays (ndarrays)
- Load and save ndarrays
- Use slicing, boolean indexing, and set operations to select or change subsets of an ndarray
- Understand difference between a view and a copy of ndarray
- Perform element-wise operations on ndarrays
- Use broadcasting to perform operations on ndarrays of different sizes.
Pandas
- Create, access, and modify the main objects in Pandas, Series and DataFrames
- Perform arithmetic operations on Series and DataFrames
- Load data into a DataFrame
- Deal with Not a Number (NaN) values
Project: Explore US Bikeshare Data
You will use Python to answer intriguing questions about bikeshare trip data collected from three different cities in the United States. You will write code to collect data, compute descriptive statistics, and create an interactive terminal experience that displays the answers to your questions.
Course 3: Introduction to Version Control
Shell Workshop
- The Unix shell is a powerful tool for developers of all sorts. Get a quick introduction to the basics of using it on your computer.
Purpose & Terminology
- Learn why developers use version control and discover ways you use version control in your daily life
- Get an overview of essential Git vocabulary
- Configure Git using the command line
Create a Git Repo
- Create your first Git repository with git init
- Copy an existing Git repository with git clone
- Review the current state of a repository with the powerful git status
Review a Repo’s History
- Review a repo’s commit history git log
- Customize git log’s output using command line flags in order to reveal more (or less) information about each commit
- Use the git show command to display just one commit
Add Commits to a Repo
- Master the Git workflow and make commits to an example project
- Use git diff to identify what parts of a file have been changed in a commit
- Learn how to mark files as “untracked” using .gitignore
Tagging, Branching, and Merging
- Tagging, Branching, and Merging
- Organize your commits with tags and branches
- Jump to particular tags and branches using git checkout
- Learn how to merge together changes on different branches and crush those pesky merge conflicts
Undoing Changes
- Learn how and when to edit or delete an existing commit
- Use git commit’s -amend flag to alter the last commit
- Use git reset and git revert to undo and erase commits
Project: Post your work on Github
You will learn important tools that all programmers use in this project. First, you'll learn about working in the terminal. Following that, you'll learn how to use git and Github to manage programme versions and collaborate with others on programming projects. In this project, you will post two different versions of a Jupyter Notebook containing your course learnings, as well as commits to your project Git repository.