Wednesday, April 19, 2017

Final Project

Final Project


Here is a link to my folder that contains my final project (Jupyter Notebook, csv file, screencast):
Work Folder (use Py3 environment)

Doing this project was a great learning experience. I think coding is cool. I have already planned my next coding project - an app that will integrate with Asana to facilitate team feedback.

Score
Functionality 18/20
Screencast 10/10
Aesthetics 3/4
Usability 6/8
TOTAL 35/40


Tuesday, April 18, 2017

Final Presentation

Final Presentation

Here is a link to my folder that contains this week's work (Jupyter Notebook, csv file):
Work Folder (use Py3 environment)

Bob told me that he usually presents directly from his notebook, without using the presentation junk I tried last week. So I decided to be like Bob.

I made some minor edits to my cleanest notebook and added comments to everything.

Score
10/10

Saturday, April 15, 2017

Project 4 - Jupyter Presentation

Jupyter Presentation

Download my presentation to view.

This week I learned how to use Jupyter's built in presentation features.

The presentation features were difficult to use. They do not allow very much flexibility for an aesthetic presentation. The benefit is that the presentation is drawn directly from the notebook. I can see how it would be good to use in the right circumstances, but I think I would get a better looking presentation by using google slides.

Score
9/10

Tuesday, April 11, 2017

Creative Bob - Peer Critique

Creative Bob - Peer Critique

Aesthetics: 
+ Very clean. Good colors.
- Text boxes look like they belong on the web, not an app.
-I don't like the ":" on "number of responses".

Concept:
+ I like it a lot. I can see lots of applications of your idea.
- Very general, I could see improvement if the app was tailored to a specific audience.

Functionality:
+ Seems like your bases are covered.
+ I like the scoring and leaderboard.
- I would like to join private groups to compete just with my friends.


Saturday, April 8, 2017

Project 3 - Bar Charts

K-8 Coding #2

Here is a link to my folder that contains this week's work (Jupyter Notebook, csv file):
Work Folder (use Py3 environment)

This week I continued working on Peter's survey data that he collected from k-8 coding teachers across the globe.

My tasks included:
1) Clean up my notebook from last week to make it more viewer friendly.
2) Prepare data for bar charts.
3) Create bar charts.

Score
8/10
I prioritized other projects this week and did not create as many visualizations as I would have liked to.

Friday, March 31, 2017

Project 2 - K8 Coding

K-8 Coding #2

Here is a link to my folder that contains this week's work (Jupyter Notebook, csv file):
Work Folder (use Py3 environment)

This week I continued working on Peter's survey data that he collected from k-8 coding teachers across the globe.

My tasks included:
1) Clean up my notebook from last week to make it more viewer friendly.
2) Prepare data for visualization. I ended up "stacking" my data because I couldn't get any of my pie charts to work. Bob showed me how to use pie charts without stacking. I deleted my code for stacking, but wish I had kept it now so I could reference it later.
3) Create visualizations of the data.

Score
10/10

Saturday, March 25, 2017

Project 1 - Peter's Coding Data

Peter's Coding Data

Here is a link to my folder that contains this week's work (Jupyter Notebook, csv files):
Work Folder (use Py3 environment)

This week I started working on Peter's survey data that he collected from coding teachers across the globe.

My tasks included:
1) Decide which data to analyze.
2) Decide to focus on data visualization for this project.
3) Setup a Jupyter Notebook and importing relevant data and libraries.
4) Begin to explore the data.
5) Begin to clean the data.

Score
10/10

Saturday, March 18, 2017

Practice 7 - Titanic Project

Titanic Project

Here is a link to my folder that contains this week's work (Jupyter Notebook, csv files):
Work Folder (use Py3 environment)

This week I analyzed data about Titanic passengers without the help of any starter code. I was pleasantly surprised by how much I was able to do. I used .describe( ) more than anything else.

I am pretty sure my analysis could have been done a lot more efficiently. I think there is probably a way I could have looked at the data I got by using .describe ( ) without having to have a separate line of code for each category I wanted to describe. I also was not able to get any visualizations to work. I kept getting weird results and was not able to control my x/y axis.

I plan on talking to Bob to get some ideas about more efficient analysis and visualization.

Score
9/10

Friday, March 10, 2017

Practice 6 - Pandas 2D Data

Pandas - 2D Data

Here is a link to my folder that contains this week's work (Jupyter Notebook, environment file, csv files):
Work Folder

Some of the things I did this week were:
1) Access elements of a dataframe
2) Perform vectorized operations
3) Use apply( )
4) Use groupby( )

Udacity provided me with some datasets and starter code. I worked through the process of learning how to use Udacity's code and adding my own code. Check out my Work Folder to see the work I've done.

Score
10/10

Friday, March 3, 2017

Practice 5 - Pandas and NumPy 1D Data

Pandas and NumPy - 1D Data

Here is a link to my folder that contains this week's work (Jupyter Notebook, environment file, csv files):
Work Folder

Some of the things I did this week were:
1) Work with NumPy Arrays
2) Standardize data
3) Work with series in Pandas
4) Plot in Pandas
5) Make things look nice with Seaborn

Udacity provided me with some datasets and starter code. I worked through the process of learning how to use Udacity's code and adding my own code. Check out my Work Folder to see the work I've done.

Score
10/10

Friday, February 24, 2017

Practice 4 - Data Analysis Process

Data Analysis Process

Here is a link to my Jupyter notebook with this week's work:
Jupyter Notebook

I followed these steps during my data analysis exercises:
1) Question
2) Wrangle
3) Explore
4) Draw Conclusions
5) Communicate

Udacity provided me with some datasets and starter code. I worked through the process of learning how to use Udacity's code and adding my own code. Check out my Jupyter Notebook to see the work I've done.

Score
10/10

Friday, February 17, 2017

Practice 3 - Environment Setup

Environment Setup

My focus this week was getting an environment setup on my computer so I could start doing some real work in Python. Here is what I accomplished:

1) Installed Anaconda
2) Setup environments for Python 2 and Python 3
3) Added Pandas, SciPy, NumPy, and updated everything in my environments to the latest version
4) Created a Jupyter notebook to use for my Udacity course
5) Imported an environment from Udacity to use for their course
6) Downloaded data files from Udacity

Most of that work had to be done using the Anaconda command line. I haven't worked at the command line before so the process was arduous but educational. Some of the commands I entered included:

conda upgrade conda
conda upgrade --all

conda install numpy scipy pandas

conda create -n py3 python=3
conda create -n py2 python=2
activate py2
deactivate

conda env create -f environment.yaml

conda install jupyter notebook

Here is a screenshot of the contents of my Udacity files:

Here is a screenshot of my Anaconda navigator:


Score:
10/10

Thursday, February 16, 2017

Design Blueprints - Data Analysis

Purpose
 I will complete a data analysis of a dataset related to coding classes in schools. Peter is the main audience interested in the data.

Approach
I will use Python to analyze and visualize data from Peter's coding dataset. I will leverage libraries like Pandas, NumPy, and SciPy.

Process
I have a large dataset with both quantitative and qualitative data. I will use Python to pull quantitative data from my spreadsheet and perform some descriptive statistics. After performing some statistics, I will also visualize the results using various types of visualizations.

For the qualitative data I will use Python to analyse the text and pull key information out of my spreadsheet. I will also visualize the qualitative data.

Outcome
The outcome will be an efficient way to organize, manipulate, and analyze data from an excel file. I hope to gain new insights about the meaning of my dataset because of the analysis I perform. I anticipate confirming insights that have already been discovered about the data, but also plan on revealing at least one new insight.

Score
18/20

Wednesday, February 8, 2017

Practice 2 - Pythonicness and Packaging

Pythonicness and Packaging

The coolest thing I learned as part of the the Pythonicness and Packaging module on SoloLearn was a concept called "tuple unpacking." When I learned about unpacking tuples I wanted to write some code that would allow me to unpack a list of emails that I hypothetically scraped from a file. 

Email Unpacking Code:

emails = ("student@school.edu", "person@email.com", "dino@meteor.gov")
count = 0
for i in emails:
    email = i
    count += 1
    strgcount = str(count)
    word = "Email # " + strgcount + " is: "

    print(word + email)

Score
10/10

Thursday, February 2, 2017

Practice 1 - Regular Expressions in Python

Key takeaways
  • I need to make sure my data is in a consistent format before I can work on it without introducing lots of errors.
  • In the future I want to learn more about AI and working with unstructured data.
Sample Code
Email Extractor

email = r"[\w\.-]+@[\w\.-]+\...."
str = "Copy text here that includes things like student@byu.edu and spammer@yahoo.com."

match = re.findall(email, str)
if match:
    print(match)

Score
10/10