PROJECT GROUP AT DATA SCIENCE UCSB

SPRING 2017 WEEKLY SYLLABUS FOR PROJECT GROUP

# Week 2: Introductions
"*The revolution will not be televised, it will be properly documented with a pretty README*" - Gandhi
**Preliminaries**:
<img src='https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F30151504%2F168435504564%2F1%2Foriginal.jpg?w=800&rect=728%2C0%2C2510%2C1255&s=a4ee5861862f9a9393d47244c21f2496'>
+ **Berkeley Data Science Forum 2017**
+ Time and Date: April 15th
+ Li Ka Shing Auditorium
+ I can provide ride for 4 people
+ **HG Data Hackathon** Informational Meeting
+ Time and Date: April 16th around 1ish
+ Somewhere on campus or I.V.
+ **Machine Learning** Crash Course
+ Time and Date: April 14th, time to be decided
+ Somewhere on campus or I.V.
<img src="http://datascience.pstat.ucsb.edu/uploads/7/0/7/1/70716011/1455580810_1.png">
+ **Graphiq**
+ Time and Date: April 13th 2017, 5-7 pm
+ Location: UCen, Flying A Studio
+ [Link](https://www.facebook.com/events/306141239800548/)
<img src="http://ww1.prweb.com/prfiles/2015/04/28/13075821/HG-Data-Logo-Ocean-1030x225.png" width="600px">
+ **HG Data** Hackathon
+ Time and Date: April 28th 2017
+ Locaation: HG Data Offices
+ [Link](https://www.facebook.com/events/1312104892216288/)
+ [Link to Sign Up](http://tinyurl.com/mmd9d3t)
+ **Data Science Club Showcase**
+ Time and Date: April 26th 2017
+ HG Data Hackathon Informational Meeting
+ Time and Date: April 9th(?)
+ Somewhere on campus or I.V.
+ HG Data Hackathon
+ Time and Date: April 28th 2017
+ Locaation: HG Data Offices
+ Data Science Club Showcase
+ Time and Date: April 26th 2017 7PM
+ Location: Interdisciplinary Research Collaboratory (Library)
+ [Link](https://www.facebook.com/events/1312104892216288/)
## **Note for Last Quarter's Teams**
All work from last quarter must be *completed on own time*.
## **Introductions**
We want to get to know you (we really do), but time constraints will limit how we do this. We will start with some preliminary logistics:
+ Introductions of facilitators for this quarter's **Project Group**
+ Explain structure of weekly meetings
+ Sign up for contact information [link here](https://goo.gl/forms/IwMgAP1w62fvIzmG3)
+ Create *GitHub* accounts, follow me. **Star** this repo, we will make everyone follow or star this shit no exceptions.
## **README Introductions**
To get everyone involved and ready to start practicing documentation (super useful once you become a user on inertia7) we will do an activity that will help with those of you who are new, and make the more advanced members help out and do some pseudo-pair-programming.
+ Read the template within this folder and do your best to follow along without looking at the source code.
+ Use a text editor of your choice (look at our resources folder in this repo to get some recommendations)
+ For those of you who are more advanced try to walk around and help those who are working on this
+ Try to sit next to them and walk them through your understanding of markdown syntax including but not limited to; linking images, creating lists, headers, *italics*, etc
+ As well as if you know markdown syntax pretty well and you have a project idea create a repo with your project idea to prepare for the next part of our meeting.
+ Finally I want those who are more advanced to create a repo and explain branches while the n00bs create a branch in that repo to post their introductory README
## **Project Proposals**
Brainstorm on Project Ideas
+ Write them on a blank piece of paper/markdown file
+ Go in front of group and *sell* your idea
+ Have people walk up to you/walk up to people, **convince** people to be in your group
## **Form Teams**
Talk about what you are looking to accomplish this quarter, for those of you who were already in a team from last quarter use things that you felt needed improvements as learning experiences.
Key take aways:
+ De facto project leader
+ Organize time wisely
+ Have tangible goals every meeting
+ Be concrete in what you wish to accomplish every meeting time
+ Implement **Stand Ups**
+ Make note of attendance and make safety nets for days of absence (usually around midterm season)
Talk about:
+ Project Idea
+ Necessary steps needed if data set isn't readily available
+ Do you have to *webscrape*? If so do you prior experience or anyone in your team.
+ Provide link for team members to be able to access the data set.
+ Understand *GitHub* workflow, teach it to other teammates
+ *Virtual Environments*, again teach if other teammates
+ Any documentation which you think will help your other teammates get context
+ Relevant articles about the data set
+ Published papers about data set
+ Documentation of *Algorithms* and implementation examples (online *Jupyter Notebooks*, *Kaggle* kernels, *r-blogger* article)
+ Documentation for the modules and packages most useful documentation available.
+ Discuss weaknesses, technologies, expertise, talent
+ Pick **R** or **Python**
+ Discuss schedules
[Just doing it live](https://www.youtube.com/watch?v=Qy-Y3HJNU_s)
Best way to learn is just by doing, and following by example.
## **Find Forms of Communication**
Those with more experience help teammates do the following:
+ Establish channels for communication:
+ *Slack*
+ *GitHub*
+ *Phone*
+ *Email*
+ *GroupMe*
+ *Facebook
# Week Three
**Preliminaries**:
<img src="https://scontent-sjc2-1.xx.fbcdn.net/v/t31.0-8/17761132_1062381860572360_8797131265453106947_o.jpg?oh=fbb3d6c2baa375ea1408c9e153cc5c8b&oe=59888707" width="600px">
[Carpe Data](https://carpe.io/) Data Talk
+ Time and Date: April 20th 2017
+ Location: Flying A Studio in UCen
[Data Science Club Showcase](https://www.library.ucsb.edu/events-exhibitions/data-science-club-showcase)
+ *Someone* in your team should have a staging site profile already and should be iterating on the project to be ready for this date
+ Time and Date: April 26th 2017 7PM
+ Location: Interdisciplinary Research Collaboratory (Library)
+ [Link](https://www.facebook.com/events/1312104892216288/)
<img src="http://ww1.prweb.com/prfiles/2015/04/28/13075821/HG-Data-Logo-Ocean-1030x225.png" width="600px">
[HG Data](https://www.hgdata.com/) Hackathon confirmation by **this week**
+ Time and Date: April 28th 2017
+ Fill in the sign in sheet [here](https://tinyurl.com/mmd9d3t)
+ [Facebook Link](https://www.facebook.com/events/1312104892216288/)
## **Form Teams**
Talk about what you are looking to accomplish this quarter, for those of you who were already in a team from last quarter use things that you felt needed improvements as learning experiences.
Key take aways:
+ De facto project leader
+ Organize time wisely
+ Have tangible goals every meeting
+ Be concrete in what you wish to accomplish every meeting time
+ Implement **Stand Ups**
## Structure of an effective Stand Up:
+ What did I accomplish last meeting?
+ What will I do today?
+ What obstacles are impeding my progress? (Blockers)
## Good Team Work Ethics
Make note of attendance and make safety nets for days of absence (usually around midterm season)
Talk about:
+ Project Idea
+ Necessary steps needed if data set isn't readily available
+ Do you have to *webscrape*? If so do you prior experience or anyone in your team.
+ Provide link for team members to be able to access the data set.
+ Understand *GitHub* as it relates to *git* workflow, teach it to other teammates
+ *Virtual Environments*, again teach if other teammates
### Post Shit on Slack
Any documentation which you think will help your other teammates get context
+ Relevant articles about the data set
+ Published papers about data set
+ Documentation of *Algorithms* and implementation examples (online *Jupyter Notebooks*, *Kaggle* kernels, *r-blogger* article)
+ Documentation for the modules and packages most useful documentation available.
+ Discuss weaknesses, technologies, expertise, talent
+ Pick **R** or **Python**
+ Discuss schedules
[Just doing it live](https://www.youtube.com/watch?v=Qy-Y3HJNU_s)
Best way to learn is just by doing, and following by example.
## **Find Forms of Communication**
Those with more experience help teammates do the following:
+ Establish channels for communication:
+ *Slack*
+ *GitHub*
+ *Phone*
+ *Email*
+ *GroupMe*
+ *Facebook*
# Week 5
**Preliminaries**:
+ Does your team have a *virtual environment* set up?
+ Does your team have a repo for your project?
+ Does it have a pretty **README**?
+ Branches for each teammate?
## Project Iterations
Needed by the end of today:
+ requirements.txt
+ Clear project goal on repo
+ fork repo unto [Organizational Repo](https://github.com/UCSB-dataScience-ProjectGroup)
**NOTE**: If you ask me something and I tell you to send me message through *Slack*. Do it.
## Understand Git Workflow
Read documentation relating to *git* and the workflow involved.
Choose between *git* and the *GitHub* Desktop App.
Choose between a script or notebook (or have two people in your team either or)
Read [inertia7](https://www.inertia7.com/) for documentation relating to questions for any of these issues. Ask questions, a lot of them.
# Week Seven
**Preliminaries**:
<img src='https://scontent.xx.fbcdn.net/v/t31.0-8/18401947_1090338297776716_6714511282731679602_o.jpg?oh=437fd3cdc4752a2be7161d1eb0b152c8&oe=59C0250D'>
**SQL** Workshop
+ Time: May 20th, 9:30 a.m. - 1:00 p.m.
+ Location: Interdisciplinary Research Collaboratory
**Data Science** Dayger
+ Time: Same Date as **SQL** Workshop
+ Location: Announced through email/contact us
Just more project iterations
+ Updated *GitHub* repo
+ Updated to-do list
Quarter is wrapping up need every team to document where they are know
## Important
For teams from last quarter need projects to be polished:
+ Update *GitHub* code
+ Update *README*
+ requirements.txt files
+ Update data files
+ Need to have it peer reviewed
## Resources for Clean coding
+ [Pep 8 Standards for coding](https://www.python.org/dev/peps/pep-0008/#introduction)
+ [nltk chapter 4](http://www.nltk.org/book/ch04.html) (Dank resource for cleaner coding)
# Week Nine
## Final Meeting for the Quarter
Be sure to do the following before the end of this meeting:
+ Update *GitHub* repo to include most recent iteration
+ Have a **dank** ass README
+ Create a to-do list with set goals and milestones
+ Talk with teammates and figure out summer plans
+ Nothing worse than an unfinished project
+ Detail what needs to be done
+ Detail current blockers
+ Detail progress as of today
Need everyone to talk to me before you leave to discuss this!!
For those of you interested many of us will still be coding and meeting up during the summer!
Possible summer meet-up time(?)