Skip to content

An outline of online tutorials and proprietary exercises to learn how to code

Notifications You must be signed in to change notification settings

naveenailawadi/Protegy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

An outline of online tutorials and proprietary exercises to learn how to code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages