https://thebackhomeproject.org/
Excecutives training course on data science: link
McKinsey Report: link
Data science for ordinary people: link
Interviews with Datascientists: link
https://www.udacity.com/course/introduction-to-python--ud1110
https://www.learnpython.org/en/
https://classroom.udacity.com/courses/ud170
http://cs109.github.io/2015/pages/videos.html
Pathway: https://trello.com/b/rbpEfMld/data-science
Pathway II: https://github.com/ujjwalkarn/DataSciencePython
Data science tips link
Online REPL link
Advanced topics: link
Python koans - https://github.com/gregmalcolm/python_koans
Code wars - https://www.codewars.com/?language=python
Each lesson review last lesson
Q's from HW/Check
Cover lesson
Explain HW
Text editor: Visual studio code/ notepad ++ / sublime text IDE: pycharm
Overview of different programming languages
Why python popular
Installed pycharm, python, Notepad++
How to run python - Interpreter sandbox, command line & in pycharm
Hello world
Setting variables
If and for loops
Pathway for becoming a data scientist link
HW: link From begining until & including Loops (8 chpts)
Getting help: -Documentation -Stackoverflow
Dictionaries
Lists
Sets
Tuples
HW: https://classroom.udacity.com/courses/ud1110 Lesson 1, 2 & 3 (Why Python, Data Types & Operators, Data Structures. Apx 6 hours)
HW https://classroom.udacity.com/courses/ud1110 Lesson 4 ( Covers Dictionaries, if, for, while loops, enumerate, zip)
HW Fizz Buzz -Fun drinking game and teaching tool for division for kids.
Count from 1 to 100. For each number output "This is X out of 100"
Any number divisible by three is replaced by the word fizz and any number divisible by five by the word buzz. Numbers divisible by 3 and 5 become fizz buzz.
Sample output:
This is 1 out of 100
This is 2 out of 100
Fizz
This is 4 out of 100
Buzz
Fizz
This is 7 out of 100
...
Additional Homework: https://realpython.com/python-dicts/
Functions We introduced Git here
HW: https://classroom.udacity.com/courses/ud1110 Lesson 5 (Control Flow, Functions). Control flow is revision of lesson 1 (Functions, variable scope, default arguments, lamda functions) HW: Maths as functions: https://www.codewars.com/kata/525f3eda17c7cd9f9e000b39 How old will I be: https://www.codewars.com/kata/5761a717780f8950ce001473 Optional HW: Fibonnaci numbers? Seems a bit hard
Additional more in depth about lamdas https://realpython.com/python-lambda/ additional more in depth about functions: https://realpython.com/defining-your-own-python-function/
Objects We start using pycharm from here
Tutorial 1 Tutorial 2 HW Revision: Sets, Dictionaries, Functions
HW: Classes HW: Phonebook:
Exception Handling
Read/write to file
Modules
HW: https://classroom.udacity.com/courses/ud1110 - Lesson 6 Scripting (Sections 8 - 21)
Generators https://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do
HW: https://www.learnpython.org/en/Generators
HW: https://www.learnpython.org/en/List_Comprehensions
HW: https://classroom.udacity.com/courses/ud1110 Lesson 7 Advanced Topics
Modules. We will cover modules and importing other python files.
We will then cover external libaries and how to import them. Creating a webserver with bottle will be used as a demonstration
Modules
Offical Docs
HW: https://classroom.udacity.com/courses/ud1110 - Lesson 6 Scripting (Sections 22 to end) HW: Create a webserver using bottle. As a UI for two of the other hw assignments
Intro to unit testing & why
TDD
We will review git here.
https://realpython.com/pytest-python-testing/
HW: (tbc)
Review topics covered
Q&A
Plus 2 week assignment. Or think should spend next 3 weeks just solving problems to solidify knowledge
HW: Assignment (own project?)
Prior to the lesson anaconda should be installed.
https://www.learnpython.org/en/Numpy_Arrays & following chapter
https://www.learnpython.org/en/Pandas_Basics
https://github.com/realpython/materials/blob/master/pandas-intro/pandas_intro.ipynb
https://sites.engineering.ucsb.edu/~shell/che210d/numpy.pdf
https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html
https://realpython.com/python-csv/
Ex: Make a button in excel to either call a script or call an executable that you've made with pyinstaller. Use to scrape up all their data (or other data) and do all the calculations in Python and then output back to the same spreadsheet
- Parse html to get spending
- Categorise the spending
- Predict future spend
- Insights from the data
-Multiple function arguments
-Regular Expressions
-Serialisation
-Partial functions
-Closures
-Mulithreading
-Map reduce https://www.learnpython.org/en/Map,_Filter,_Reduce
-Mutable vs immuatable.
-Pass by ref/ pass by value and what python does
-PEP8 & clean code in python
-Duck typing
-Debugging
-Default arguments on functions (and gottcha with mutable ones)
Enter money for the month
Enter name, cost, category.
User can query using any of these questions "Report?": list total spent on each category "Am I pennywise or pound foolish?" Returns Yes/No "How much money do I have?" Returns money left
Create Address class
https://programmingbydoing.com/a/project-blackjack.html
https://programmingbydoing.com/a/movie-title-gen.html
https://programmingbydoing.com/a/tic-tac-toe-oop.html
https://data.london.gov.uk/dataset/lfb-payments-over-f250-2019-20
https://catalog.data.gov/dataset/program-budget-operating-budget-vs-expense-raw-data