/Data-Science-Assignments

Repository for the Data Science learning track to host assignments.

Primary LanguageJupyter Notebook

Data-Science-Assignments

Repository for the Data Science learning track to host assignments.

Find powerpoints and helpful resources here.
Find a great quick python reference here: https://www.w3schools.com/python/

Homework tips

Think ‘process’ not ‘product’. The goal is to learn. The goal is not to hand in a perfect assignment.

Skim your homework assignment BEFORE you do the readings. It will help focus your attention!

SQR3: Scan, Question, Read, Recall, Review!!!!

Week 1 - Introductions and Python

In Class Assignment due Friday, Aug 21, 2020 @ 8pm

  1. Finish any installs not completed in class.
  2. Skim the Survival Guide presentation. We will discuss this in more detail throughout first 8 wks.
  3. Create a complete schedule for yourself and include EVERYTHING you can (Work, commute, dinner, any obligations and study time). Highlight times you will be studying.
    • Head over to this spreadsheet and see the example schedule on the first tab.
    • Create a tab with your initials.
    • Copy the template sheet into your tab.
    • Fill out an accurate schedule for yourself.
      • This does not need to be updated as your schedule changes.

Homework due Wednesday, Aug 26, 2020 @ 5:30pm

Readings

  1. Hello World

  2. Data Structures

  3. String Manipulation

  4. Go through the Provided python_click_through.ipynb.

    • Open another notebook and copy each cell and play with it in the new notebook.

    • Ask yourself a question and experiment.

      • What if I change this variable?

        • What’s the outcome?
      • What if I intentionally write code I think will fail?

        • Does it fail?
      • What if I combine the concept in the cell above with this cell?

Notebook

  • Complete the week 1 homework notebook found here. You can also find it in the week 1 folder inside the course materials folder here on the github page.

Optional Videos:

https://www.youtube.com/watch?v=YYXdXT2l-Gg&list=PL-osiE80TeTskrapNbzXhwoFUiLCjGgY7

  • Suggest only Videos 2-7, 9 and 10

Optional Reading: Only do this if you have completed your homework. And have deleted it and done it again.

http://swcarpentry.github.io/shell-novice/01-intro/index.html

http://swcarpentry.github.io/shell-novice/02-filedir/index.html

Week 2 - Python: Math, Strings, If-Else, Expressions

In Class Assignment due Friday, Aug 28, 2020 @ 8pm

  1. Finish any installation corrections.

  2. Clone the class repo. (If you have not done so in class)

  3. OPTIONAL(But preferred): Create your own week 02 repository. (If you have not done so in class)

  4. Skim the 'In a nutshell' links for 'Learning how to Learn' and 'Deep Work' in the Survival Guide.

    • Find something in those readings that interests you and explore further.
    • These topics can have profound effects outside the classroom as well.
  5. There are no 'in class assignment' deliverables for this week.

Homework due Wednesday, Sept 2, 2020 @ 5:30pm

Readings/Videos/DataCamp

  1. Loops

    • In DataCamp, go to Intermediate Python, Chapter 4: Loops (Click here to start)
    • Complete "While Loop" through "Loop over list of lists"
  2. Functions

  3. Classes

    • Working with classes can be challenging. Focus your attention on:

      1. Creating classes.
      2. Adding attributes.
      3. Creating class methods. (methods that operate on the entire class)
      4. Creating instance methods. (methods that act only on the instance)
      5. Creating objects from classes. (foo = MyClass(attr1, attr2)
    • Focus less (but be aware) of:

      1. Inheritance
    • Read this introduction to classes. (Don't worry about the exercises or any notes about Python 2.7.)

    • Read this and complete the exercise at the end.

    • Read this Python's Methods Demystified

Notebook

  1. Complete the week_02_homework.ipynb found here. You can also find it in the week 2 folder in the course materials folder at the top of the github page. Submit a link to your repo or submit the .ipynb file.

Optional Videos:

https://www.youtube.com/watch?v=YYXdXT2l-Gg&list=PL-osiE80TeTskrapNbzXhwoFUiLCjGgY7

  • Only videos 7 & 8

https://www.youtube.com/watch?v=ZDa-Z5JzLYM&list=PL-osiE80TeTsqhIuOqKhwlXsIBIdSeYtc

  • Only videos 1,2 & 3

Optional Reading: Only do this if you have completed your homework. And have deleted it and done it again.

Classes are such a challenging subject there are no Optional Readings for this week. If you made it this far please practice Classes some more!

Week 3 - Python: Loops, Functions, Classes

In Class Assignment due Friday, Sept 4, 2020 @ 8pm

  1. Finish any installations.
  2. Clone the class repo. (If you have not done so in class)
  3. OPTIONAL: DataCamp PIP Tutorial
  4. Readings (The Unix Shell)
  5. There are no 'in class assignment' deliverables for this week.

Homework due Wednesday, Sept 9, 2020 @ 5:30pm

  1. DataCamp: NumPy

    • Go to DataCamp's Intro to Python Course, Chapter 4: NumPy (chapter starts here
    • Complete the whole chapter: “NumPy” through “Blend it all together”
  2. Cheat Sheets (Optional, just for your reference)

Notebook

  1. Complete the week_03_homework.ipynb here. You can also find the notebook and the csv file you'll need in the week 4 folder in the course materials folder at the top of the page.

Optional Videos:

DataCamp-Numpy

Numpy-Part1

Numpy-Part2

Optional Reading:

None.

Week 4 - Python: Numpy Arrays

In Class Assignment due Friday, Sept 011, 2020 @ 8pm

  1. There are no 'in class assignment' deliverables for this week.
  2. Start homework early!

Homework due Wednesday, Sept 16, 2020 @ 5:30pm

Readings/Videos/DataCamp

  1. Pandas DataFrames
  2. Time Series tutorial with Pandas
  3. Read, Click Through and Digest: pandas_part_1.ipynb'
  4. Read, Click Through and Digest: pandas_part_2.ipynb'
  5. Upload LATEST version of any missing homework in Canvas.

Notebook

  1. Complete the HeroesOfPymoli_starter.ipynb. You can find it in the week 4 folder in the course materials folder at the top of the github page. Submit a link to your repo.
  • See hw_instructuions.md for full homework instructions. NOTE: Best viewed in github.
  • HeroesOfPymoli_output_examples.ipynb is provided as a reference.
    • View in Jupyter or Github. (Github sometimes mis-formats documents.)
  • NOTE: Your numerical results should be very close to the examples.
    • Your formatting may be very different than provided examples. Focus on getting the data and less on the formatting.

Optional Videos:

Optional Reading:

Pandas is challenging and a core Data Scientist Tool. If you've completed the homework explore other Pandas features!

Week 5 - Python: Pandas Dataframes

In Class Assignment due Friday, Sept 018, 2020 @ 8pm

  1. Finish the in class `weather_api.ipynb' and submit a link to your repo/notebook. (You can use the same repo for your Homework Assignment.)
  2. Read Anatomy of a URL
  3. Read REST API Tutorial
  4. Start homework early!

Week 5 - Python: Plotting (matplotlib and Seaborn)

Homework due Wednesday, Sept 23, 2020 @ 5:30pm

Readings/Videos/DataCamp

  1. In DataCamp, complete all of "Introduction to Data Visualization with Matplotlib 1: Introduction to Matplotlib" and "Introduction to Data Visualization with Matplotlib 3: Quantitative comparisons and statistical visualizations"

    • Introduction to Data Visualization with Matplotlib 1: Introduction to Matplotlib: Start here
      • Do "Introduction to data visualization with Matplotlib" through "Small multiples with shared y axis"
    • Introduction to Data Visualization with Matplotlib 3: Quantitative comparisons and statistical visualizations: Start here
      • Do "Quantitative comparisons: bar-charts" through "Encoding time by color"
    • Note: we are assigning sections 1 and 3 of the Introduction to Data Visualization with Matplotlib module. Feel free to complete modules 2 and 4 if you are interested and have the time, but they are optional.
  2. In DataCamp, complete all of "Introduction to Data Visualization with Seaborn 1: Introduction to Seaborn" and "Introduction to Data Visualization with Seaborn 4: Customizing Seaborn Plots"

    • Introduction to Data Visualization with Seaborn 1: Introduction to Seaborn: Start here
      • Do "Introduction to Seaborn" through "Hue and count plots"
    • Introduction to Data Visualization with Seaborn 4: Customizing Seaborn Plots: Start here
      • Do "Changing plot style and color" through "Well done! What's next?"
    • Note: we are assigning sections 1 and 4 of the Introduction to Data Visualization with Seaborn module. Feel free to complete modules 2 and 3 if you are interested and have the time, but they are optional.

Notebook

  1. Complete the WeatherPy_homework_starter.ipynb. You can find it in the week 5 folder in the course materials folder at the top of the github page. Submit a link to your repo.
  • This homework is likely your first opportunity to build your portfolio.
    • Start early, make it neat.
    • This is a real project you can showcase!

Optional Videos:

Optional Reading:

Week 6 - Python: Data Visualization

In Class Assignment due Friday, Sept 25, 2020 @ 8pm

Homework due Wednesday, Sept 30, 2020 @ 5:30pm

Week 7 - SQL I

In Class Assignment due Wednesday, Oct 2, 2020 @ 8pm

Homework due Wednesday, Oct 7 2020 @ 5:30pm

Week 8 - SQL II

In Class Assignment due Friday, Oct 9, 2020 @ 8pm

Week 9 - Career Week

No Homework or in-class due this week

Week 10 - Math for Data Science: Statistics I

Homework due Wednesday, Oct 21, 2020 @ 5:30pm

In Class Assignment due Friday, Oct 28, 2020 @ 8pm

Week 11 - Math for Data Science: Statistics II, Linear Algebra

Homework due Wednesday, October 28 2020 @ 5:30pm

In Class Assignment due Friday, October 30 2020 @ 8pm

Week 12 - Machine Learning: Concepts, Linear Regression

Homework due Wednesday, Nov 4, 2020 @ 5:30pm

In Class Assignment due Friday, Nov 6, 2020 @ 8pm

Week 13 - Machine Learning: Logistic Regression

Homework due Wednesday, Nov 11, 2020 @ 5:30pm

In Class Assignment due Friday, Nov 13, 2020 @ 8pm

Week 14 - Machine Learning: Neural Networks I

Homework due Wednesday, Nov 18, 2020 @ 5:30pm

In Class Assignment due Friday, Nov 20, 2020 @ 8pm

Nov 25 - No Class - Happy Thanksgiving!

Week 15 - Machine Learning: Neural Networks II

Homework due Wednesday, Dec 2, 2020 @ 5:30pm

In Class Assignment due Friday, Dec 4, 2020 @ 8pm

Deep Learning Specialization

  • For those of you interested in learning more in-depth material about Neural Networks, we highly recommend you to complete the Deep Learning Specialization. This is a 5 course series from Coursera which deals with implementing a set of state-of-the-art Neural Networks. This is well beyond the scope of CoderGirl- Data Science, but we wanted to keep this here as a reference.

Week 16 - Machine Learning: Decision Trees

Homework due Wednesday, December 9, 2020 @ 5:30pm

In Class Assignment due Wednesday, December 11, 2020 @ 8pm

Week 17 - Data Science Ethics

Homework due Wednesday, Dec 16, 2020 @ 5:30pm

Dec 23 & 30 - No Class - See you in 2021!

Week 18 - Machine Learning: Unsupervised Learning

Homework due Wednesday, Jan 6, 2020 @ 5:30pm

In Class Assignment due Friday, Jan 8, 2020 @ 8pm

Week 19 - Machine Learning: NLP

Homework due Wednesday, Jan 13, 2020 @ 5:30pm

In Class Assignment due Friday, Jan 15, 2020 @ 8pm

Week 20 - Machine Learning: Recommendation Engines

Homework due Wednesday, Jan 20, 2020 @ 5:30pm

In Class Assignment due Friday, Jan 22, 2020 @ 8pm

Week 21 - Git/Version Control

Homework due Wednesday, Jan 27, 2020 @ 5:30pm

In Class Assignment due Friday, Jan 29, 2020 @ 8pm

Week 22

Mini-Project: Homework due Wednesday, Feb 3, 2020 @ 5:30pm

  • Perform Explortatory Data Analysis (EDA) on Heart Disease Kaggle Project
  • Post the link to your GitHub repo for Mini-Project part I: EDA
    • Your notebook should address each of the following:
      • Data issues: missing values, duplicate values, outliers
      • Data cleaning solutions: imputation/estimation, dropping entries -- justify your choices!
      • Describe the realtionship of features to your target (should include at least a few plots).
      • Feature engineering (transformation, normalization, createing new combinations of features, etc), if you think this is necessary. Describe your rationale.

Week 23

Mini-Project: Homework due Wednesday, Feb 10, 2020 @ 5:30pm

  • Post the link to your GitHub repo for Mini-Project part II: Modeling
    • Your modeling notebook should include each of the following:
      • (Feature engineering, if not captured in the EDA notebook. Sometimes it is easier or makes more sense to do feature engineering in the same notebook as your model.)
      • Splitting data into train/test sets
      • Build (at least one) model
      • Predict test set using model(s)
      • A quantiative metric of model(s) performance