- 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
- 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
- review functions: Corey Schafer Functions Tutorial
- dictionaries:
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
- understand how to work with data (python's greatest advantage!)
- any basic understanding of data requires an undestanding of lists
- Corey Schafer Pandas Tutorial
- test out your knowledge by printing all the emails in Pandas/emails.csv
- solution in Pandas/printingemails.py
- 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
- convert BeautifulSoup/scrapeCoreysCSV.py to use pandas instead of the csv library (this may require some googling)
- 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
- build a function that takes a website as an argument and returns the title (in the
- learn how to webscrape and automate using more complex automation tools
- interact with my website!
- use a bot to do the following:
- go to my website: https://entredeveloperslab.com
- click the contact page (top right button)
- send me a message with the form
- solution in Selenium/browser_interactions.py
- use a bot to do the following:
- 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
- Bot Actions:
- 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
- login
- use the class to do the same task (play a playlist)
- data members (in init)
- integrate pandas with your Spotify Bot (review the pandas tutorials if necessary)
- play 10 playlists from a csv
- 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
- 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
- learn how to use your web development skills to build interactive platforms with eel
- there are always new projects and applications for programming, so keep reading about new programming skills!
- a few skills I have found useful and/or interesting
- if you really like programming, reach out to me at [email protected] to collaborate on some upcoming projects!