Skip to content

Commit dd0916f

Browse files
committed
initial class resources
1 parent b0c7498 commit dd0916f

File tree

7 files changed

+364
-1
lines changed

7 files changed

+364
-1
lines changed

.gitignore

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
5+
# C extensions
6+
*.so
7+
8+
# Distribution / packaging
9+
.Python
10+
env/
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
lib/
17+
lib64/
18+
parts/
19+
sdist/
20+
var/
21+
*.egg-info/
22+
.installed.cfg
23+
*.egg
24+
25+
# PyInstaller
26+
# Usually these files are written by a python script from a template
27+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
28+
*.manifest
29+
*.spec
30+
31+
# Installer logs
32+
pip-log.txt
33+
pip-delete-this-directory.txt
34+
35+
# Unit test / coverage reports
36+
htmlcov/
37+
.tox/
38+
.coverage
39+
.cache
40+
nosetests.xml
41+
coverage.xml
42+
43+
# Translations
44+
*.mo
45+
*.pot
46+
47+
# Django stuff:
48+
*.log
49+
50+
# Sphinx documentation
51+
docs/_build/
52+
53+
# PyBuilder
54+
target/
55+
*~

README.md

+32-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,32 @@
1-
# socal-code-camp-python
1+
# Introduction to Python for Fun and Profit
2+
3+
Socal Code Camp
4+
5+
11:15 AM - Saturday, November 10, 2018
6+
7+
## Set Up
8+
9+
Please down this simple Python editor for beginner programmers.
10+
11+
[https://codewith.mu/](https://codewith.mu/)
12+
13+
[Recommended: Getting Starting with Mu] (https://codewith.mu/en/tutorials/1.0/start)
14+
15+
## Why It's Great to Learn Python
16+
17+
:snake: It's free. You can download it for free, there are ways to learn it for free, and there's a whole range of packages available for free.
18+
19+
:snake: It's easy. Other languages make you remember strange commands or keep track of curly braces everywhere. Not so with Python. That makes it a great beginner programing language.
20+
21+
:snake: It's everywhere. It's a powerful language that is used by a wide variety of companies and organizations to solve all sorts of problems.
22+
23+
:snake: It's community-focused. Python exists solely because of volunteers and has a great community both online and off that connects people.
24+
25+
26+
## Recommended Resources for Your Python Journey After Mu
27+
28+
[Automate the Boring Stuff](https://automatetheboringstuff.com/)
29+
Learn python through small practical projects that might reduce the tedium in your job! (Highly recommended)
30+
31+
[How to Think Like a Computer Scientist](http://interactivepython.org/runestone/static/thinkcspy/index.html)
32+
An equally good book and allows you to use python right in your browser.

learning_resources.md

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Resources for Continued Learning
2+
3+
4+
## Blogs
5+
6+
* [Simply Statistics](http://simplystatistics.org/): Written by the Biostatistics professors at Johns Hopkins University who also run Coursera's [Data Science Specialization](https://www.coursera.org/specialization/jhudatascience/1)
7+
* [yhat's blog](http://blog.yhathq.com/): Beginner-friendly content, usually in Python
8+
* [No Free Hunch](http://blog.kaggle.com/) (Kaggle's blog): Mostly interviews with competition winners, or updates on their competitions
9+
* [FastML](http://fastml.com/): Various machine learning content, often with code
10+
* [Edwin Chen](http://blog.echen.me/): Infrequently updated, but long and thoughtful pieces
11+
* [FiveThirtyEight](http://fivethirtyeight.com/): Tons of timely data-related content
12+
* [Machine Learning Mastery](http://machinelearningmastery.com/blog/): Frequent posts on machine learning, very accessible
13+
* [Data School](http://www.dataschool.io/): Kevin Markham's blog! Beginner-focused, with reference guides and videos
14+
* [MLWave](http://mlwave.com/): Detailed posts on Kaggle competitions, by a Kaggle Master
15+
* [Data Science 101](http://101.datascience.community/): Short, frequent content about all aspects of data science
16+
* [ML in the Valley](http://ml.posthaven.com/): Thoughtful pieces by the Director of Analytics at Codecademy
17+
18+
19+
## Aggregators
20+
21+
* [DataTau](http://www.datatau.com/): Like [Hacker News](https://news.ycombinator.com/), but for data
22+
* [MachineLearning on reddit](http://www.reddit.com/r/MachineLearning/): Very active subreddit
23+
* [Quora's Machine Learning section](http://www.quora.com/Machine-Learning): Lots of interesting Q&A
24+
* [Quora's Data Science topic FAQ](https://www.quora.com/What-is-the-Data-Science-topic-FAQ)
25+
* [KDnuggets](http://www.kdnuggets.com/): Data mining news, jobs, classes and more
26+
27+
## Online Classes
28+
29+
* [Coursera's Data Science Specialization](https://www.coursera.org/specialization/jhudatascience/1): Nine courses (running every month) and a Capstone project, taught in R
30+
* [Stanford's Statistical Learning](http://online.stanford.edu/course/statistical-learning): By the authors of [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/) and [Elements of Statistical Learning](http://statweb.stanford.edu/~tibs/ElemStatLearn/), taught in R, highly recommended (preview the [lecture videos](http://www.dataschool.io/15-hours-of-expert-machine-learning-videos/))
31+
* [Coursera's Machine Learning](https://www.coursera.org/learn/machine-learning/): Andrew Ng's acclaimed course, taught in MATLAB/Octave
32+
* [Caltech's Learning from Data](http://work.caltech.edu/telecourse.html): Widely praised, not language-specific
33+
* [Udacity's Data Analyst Nanodegree](https://www.udacity.com/course/nd002): Project-based curriculum using Python, R, MapReduce, MongoDB
34+
* [Coursera's Data Mining Specialization](https://www.coursera.org/specialization/datamining/20): New specialization that began February 2015
35+
* [Coursera's Natural Language Processing](https://www.coursera.org/course/nlp): No upcoming sessions, but [lectures](https://class.coursera.org/nlp/lecture) and [slides](http://web.stanford.edu/~jurafsky/NLPCourseraSlides.html) are available
36+
* [SlideRule's Data Analysis Learning Path](https://www.mysliderule.com/learning-paths/data-analysis): Curated content from various online classes
37+
* [Udacity's Intro to Artificial Intelligence](https://www.udacity.com/course/intro-to-artificial-intelligence--cs271): Taught by Peter Norvig and Sebastian Thrun
38+
* [Coursera's Neural Networks for Machine Learning](https://www.coursera.org/course/neuralnets): Taught by Geoffrey Hinton, no upcoming sessions
39+
* [statistics.com](http://www.statistics.com/data-science/): Many online courses in data science
40+
* [CourseTalk](http://www.coursetalk.com/): Read reviews of online courses
41+
42+
## Online Content from Offline Classes
43+
44+
* [Harvard's CS109 Data Science](http://cs109.github.io/2014/): Similar topics as General Assembly's course
45+
* [Columbia's Data Mining Class](http://www2.research.att.com/~volinsky/DataMining/Columbia2011/Columbia2011.html): Excellent slides
46+
* [Harvard's CS171 Visualization](http://www.cs171.org/2015/index.html): Includes programming in D3
47+
48+
49+
## Face-to-Face Educational Programs
50+
51+
* [Comparison of data science bootcamps](http://yet-another-data-blog.blogspot.com/2014/04/data-science-bootcamp-landscape-full.html): Up-to-date list maintained by a Zipfian Academy graduate
52+
* [The Complete List of Data Science Bootcamps & Fellowships](http://www.skilledup.com/articles/list-data-science-bootcamps/)
53+
* [Galvanize](http://www.galvanize.com/) (acquired [Zipfian Academy](http://www.zipfianacademy.com/)): Offers Data Science Immersive (Denver, Seattle, San Francisco)
54+
* [GalvanizeU](http://www.galvanizeu.com/): Offers Master of Engineering in Big Data (San Francisco)
55+
* [Data Science Retreat](http://datascienceretreat.com/): Primarily uses R (Berlin)
56+
* [Metis Data Science Bootcamp](http://www.thisismetis.com/data-science): Newer bootcamp (New York)
57+
* [Persontyle](http://www.persontyle.com/): Various course offerings (based in London)
58+
* [Software Carpentry](http://software-carpentry.org/): Two-day workshops, primarily for researchers and hosted by universities (worldwide)
59+
* [Colleges and Universities with Data Science Degrees](http://datascience.community/colleges)
60+
61+
62+
## Conferences
63+
64+
* [Knowledge Discovery and Data Mining (KDD)](http://www.kdd.org/): Hosted by ACM
65+
* [O'Reilly Strata + Hadoop World](http://strataconf.com/): Big focus on "big data" (San Jose, London, New York)
66+
* [PyData](http://pydata.org/): For developers and users of Python data tools (worldwide)
67+
* [PyCon](https://us.pycon.org/): For developers and users of Python (Portland in 2016)
68+
69+
70+
## Books
71+
72+
* [An Introduction to Statistical Learning with Applications in R](http://www-bcf.usc.edu/~gareth/ISL/) (free PDF)
73+
* [Elements of Statistical Learning](http://www-stat.stanford.edu/~tibs/ElemStatLearn/) (free PDF)
74+
* [Think Stats](http://www.greenteapress.com/thinkstats/) (free PDF or HTML)
75+
* [Mining of Massive Datasets](http://www.mmds.org/) (free PDF)
76+
* [Python for Informatics](http://www.pythonlearn.com/book.php) (free PDF or HTML)
77+
* [Statistics: Methods and Applications](http://www.statsoft.com/Textbook) (free HTML)
78+
* [Python for Data Analysis](http://shop.oreilly.com/product/0636920023784.do)
79+
* [Data Smart: Using Data Science to Transform Information into Insight](http://www.amazon.com/gp/product/111866146X/)
80+
* [Sam's Teach Yourself SQL in 10 Minutes](http://www.amazon.com/Sams-Teach-Yourself-Minutes-Edition/dp/0672336073)
81+
82+
83+
## Other Resources
84+
85+
* [Open Source Data Science Masters](https://github.com/datasciencemasters/go): Huge list of resources
86+
* [Data Science Trello Board](https://trello.com/b/rbpEfMld/data-science): Another list of resources
87+
* [The Hitchhiker's Guide to Python](http://docs.python-guide.org/en/latest/): Online guide to understanding Python and getting good at it
88+
* [Python Reference](https://github.com/rasbt/python_reference): Python tips, tutorials, and more
89+
* [videolectures.net](http://videolectures.net/Top/Computer_Science/): Tons of academic videos
90+
* [Metacademy](http://www.metacademy.org/list): Quick summary of many machine learning terms, with links to resources for learning more
91+
* [Terms in data science defined in one paragraph](https://github.com/rasbt/pattern_classification/blob/master/resources/data_glossary.md)

part_1.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
## Learn More Python with Automate the Boring Stuff:
2+
## https://automatetheboringstuff.com/chapter1/
3+
4+
# Your First Program
5+
#
6+
# print('hello world')
7+
#
8+
# # Comments in python use a '#'
9+
10+
## WARM UP QUIZ
11+
12+
# PART I
13+
a = 5
14+
b = 5.0
15+
c = a / 2
16+
d = b / 2
17+
18+
# What is type(a)?
19+
20+
21+
# What is type(b)?
22+
23+
24+
# What is c?
25+
26+
27+
# What is d?
28+
29+
30+
31+
# EXERCISES
32+
33+
e = [a, b]
34+
f = range(0, 10)
35+
36+
# What is type(e)?
37+
38+
39+
# What is len(e)?
40+
41+
42+
# What is type(f)?
43+
44+
45+
# What are the contents of f?
46+
47+
48+
# What is 'range' called?
49+
50+
51+
# How do I get help on 'range'?

part_2.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# STRINGS
2+
# https://docs.python.org/3/tutorial/introduction.html#strings
3+
4+
s = str(42)
5+
6+
s # convert another data type into a string (casting)
7+
8+
s = 'I like you'
9+
10+
# examine a string
11+
s[0] # returns 'I'
12+
13+
len(s) # returns 10
14+
15+
# string slicing like lists
16+
s[0:7] # returns 'I like '
17+
18+
s[6:] # returns 'you'
19+
20+
s[-1] # returns 'u'
21+
22+
23+
# EXERCISE: Book Titles (Part 1)
24+
# 1) Extract the book title from the string
25+
# 2) Save each book title to a variable (ie book1_title)
26+
# 3) How many characters/elements are in each title?
27+
# Hint: {bookTitle} by {author}, {years}
28+
29+
30+
book1 = "Beyond the Door by Dick, Philip K., 1928-1982"
31+
book2 = "The Variable Man by Dick, Philip K., 1928-1982"
32+
book3 = "The Skull by Dick, Philip K., 1928-1982"
33+
34+
35+
# STRINGS - Part II
36+
37+
# concatenate strings
38+
s3 = 'The meaning of life is'
39+
s4 = '42'
40+
s3 + ' ' + s4 # returns 'The meaning of life is 42'
41+
s3 + ' ' + str(42) # same thing
42+
43+
# split a string into a list of substrings separated by a delimiter
44+
45+
s = 'I like you'
46+
s.split(' ') # returns ['I','like','you']
47+
s.split() # same thing
48+
49+
50+
## Learn more with Automate the Boring Stuff:
51+
## https://automatetheboringstuff.com/chapter1/

part_3.py

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# LISTS
2+
# https://docs.python.org/3/tutorial/introduction.html#lists
3+
4+
# list slicing [start:end:stride]
5+
6+
weekdays = ['mon','tues','wed','thurs','fri']
7+
weekdays[0] # element 0
8+
weekdays[0:3] # elements 0, 1, 2
9+
weekdays[:3] # elements 0, 1, 2
10+
weekdays[-1] # last element
11+
12+
test = weekdays[3:] # elements 3, 4
13+
14+
weekdays
15+
16+
weekdays[-2] # last element (element 4)
17+
weekdays[::2] # every 2nd element (0, 2, 4)
18+
weekdays[::-1] # backwards (4, 3, 2, 1, 0)
19+
20+
days = weekdays + ['sat','sun'] # concatenate lists
21+
22+
# Let's look at it another way
23+
days_list = ['mon','tues','wed','thurs','fri']
24+
days_list.append('sat') # append individual elements to list
25+
days_list.append('sun')
26+
27+
#########
28+
# Exercise - Lists
29+
#########
30+
31+
# How do I slice out 'wed'?
32+
# How do I check the type of 'mon'?
33+
# How do I slice out 'wed' through 'friday'?
34+
# What are two ways to slice out 'fri'?
35+
# What is the length of days and days_list?
36+
# How do I reverse the order of days? (hint: google it)

part_4.py

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
## FOR LOOPS
2+
3+
# print 0 through 5 on a separate line
4+
nums = [0, 1, 3, 4, 5]
5+
6+
for num in nums:
7+
print(num)
8+
9+
# for loop to create a list of cubes
10+
cubes = []
11+
for num in nums:
12+
cubes.append(num**3)
13+
14+
15+
##### CONDITIONALS ######
16+
17+
# We will use an if else to implement logic
18+
x = 15
19+
if x > 10 :
20+
print("x is more than 10!")
21+
print("hooray")
22+
elif x > 100:
23+
print("x is HUGE")
24+
25+
# As soon as one conditional is satisfied, it stops checking!
26+
27+
temperature = 20
28+
if temperature <= 32:
29+
print("water is ice")
30+
elif temperature > 32 and temperature < 212:
31+
print("water is liquid")
32+
else: #implicity means else if temperature >=212
33+
print("water will boil")
34+
35+
36+
#########
37+
# EXERCISE For Loops
38+
#########
39+
# Given that: letters = ['a','b','c']
40+
# Write a for-loop that returns: ['A','B','C']
41+
42+
43+
# Given that: nums = [0, 1, 3, 4, 5]
44+
# Write a for-loop that sums the total of all the numbers in the list
45+
46+
47+
# Given that: nums = [0, 1, 3, 4, 5]
48+
# Write a for-loop that prints out even numbers

0 commit comments

Comments
 (0)