Skip to content

Latest commit

 

History

History
135 lines (123 loc) · 8.16 KB

README.md

File metadata and controls

135 lines (123 loc) · 8.16 KB

Curriculum

  • rule 1: type every line of code in a tutorial
    • it's all about practice
  • rule 2: code every day
  • rule 3: don't forget rule 2

Python Basics

  • get the basics down before you do anything
  • reference for basic python concepts: Corey Schafer Python Beginner Concepts Tutorials
    • note: you can do all of these for an in-depth understanding of them
    • much of this information will be picked up along your programming career, so I would not expect everyone to focus on learning it early on as it is quite dry
  • work with dictionaries and return the juice type from a function
    orange = {'name': 'orange', 'juice_type': 'orange juice'}
    apple = {'name': 'macintosh', 'juice_type': 'apple juice'}
    grape = {'name': 'grape', 'juice_type': 'grape juice'}
    rock = {'name': 'rock', 'juice_type': 'no juice'}
    • solution in Functions/functions1.py
  • try to compute all the y values for x 1 to 100 using the following formula: y = 5 * x + 3
    • solution in Functions/function2.py
  • make a Student class with the following characteristics
    • attributes: str: name, str: major, float: gpa, bool: is_on_probation
    • fail_class method that decrements gpa by 1 (until a minimum gpa of 1) and puts the student on probation if his / her GPA falls below 2
    • pass_class method that increments gpa by 1 (until a maximum gpa of 2) and takes a student off of probation if his / her GPA is greater than 2
    • add a string property to the class with the following method:
    def __repr__(self):
        string_value = f"{self.name} (Major: {self.major}; GPA: {self.gpa}; On Probation: {self.is_on_probation})"
    
        return string_value
    • solution in Classes/classesobjects.py

Pandas - Fundamentals of Working with Data

  • understand how to work with data (python's greatest advantage!)
  • test out your knowledge by printing all the emails in Pandas/emails.csv
    • solution in Pandas/printingemails.py

Beautiful Soup - Intro to Web Scraping

  • learn the basics of web scraping and interacting with websites
  • get a professional grade understanding of practicing and using the library
  • connect your scraping experience with pandas
    • convert BeautifulSoup/scrapeCoreysCSV.py to use pandas instead of the csv library (this may require some googling)
      • solution in BeautifulSoup/scrapeCoreyPandas.py
  • understand modularity
    • build a function that takes a website as an argument and returns the title (in the <title> tag)
      • solution in BeautifulSoup/getTitle.py

Selenium - Web Scraping and Automation

  • learn how to webscrape and automate using more complex automation tools
  • interact with my website!
    • use a bot to do the following:
    • solution in Selenium/browser_interactions.py
  • make a Spotify Bot!
    • Bot Actions:
      • Open Spotify
      • Log In to Spotify (make username, password inputs for the user)
      • Click a Playlist (on the left)
      • Click Play
      • Sleep for 5 minutes with time.sleep(300) (leave the music playing on your computer)
      • Close the Bot
    • solution in Selenium/spotify_script.py

Learn about Classes

  • learn about classes
  • object orient your Spotify Bot
    • data members (in init)
      • in init, make self.driver
    • make a bot class with the following functions
      • login
        • takes a self, username, and password argument
      • play playlist
        • takes a self, playlist url argument
      • close
        • takes a self argument
    • use the class to do the same task (play a playlist)
  • integrate pandas with your Spotify Bot (review the pandas tutorials if necessary)
    • play 10 playlists from a csv

Multithreading & Multiprocessing - Using the Full Machine

  • understand a new code format
  • threading allows you to run tasks while other tasks are waiting
  • multiprocessing allows multiple functions to run in parallel, allowing you to use the full resources of your computer
  • make a New York Times Scraper!
    • Note: I do not advocate doing this outside of educational purposes. Please purchase a subscription if you wish to read the newspaper regularly.
    • make a class to house your methods
      • make a function that gets all the headlines from the homepages
      • make a function that stores the text (all the p tags) from each article in its own text file
        • you can see how to make files in Multiprocessing/make_file.py (note: you can also append to files with the 'a' mode)
    • solution in Multiprocessing/NYTScraper.py

Web Development

  • learn web development from the ground up (understand html, css, backend, and frontend)
  • OPTIONAL: understand server-side infrastructure, get a better handle on sql
    • Sentdex Flask Tutorial
    • note: this is much more advanced, you will have serious web development skills by the end of this tutorial
    • I recommend learning the apache setup at the beginning for gaining increased understanding of working with servers
  • make backend api development easier with flask restful
  • learn javascript: Learn Code Academy Tutorial
  • learn mustache.js (very important to have templating engines):2019 Team Learnable Tutorial

Desktop UIs

Continued Learning