Repo for the PDX Code Guild Python Full Stack day course starting 01/03/2022
Class is held from January 3rd, 2022 to April 15th, 2022 M-F 9:30 am – 4:30 pm
- January 17th (MLK Day)
- February 21st (Presidents Day)
- March 11th
- April 1st
- April 8th
-
Merritt Lawrenson, Instructor
-
Liz Anderson, TA
Capstone proposal due: March 28th, 2022
Presentation Day: April 15th, 2022
Lab | Name | Date Assigned | Due By Start Of Class | Hard Due Date |
---|---|---|---|---|
00 | Polls | Feb 15th | Feb 18th | |
01 | Todo List | Feb 22nd | Feb 28th | Mar 8th |
02 | URL Shortener | Feb 24th | Feb 28th | Mar 10th |
03 | Chirp | Mar 1st | Mar 4th | Mar 15th |
04 | Students API | Mar 23rd | Mar 28th | Apr 6th |
05 | Pokedex | Mar 24th | Mar 28th | Apr 7th |
Lab | Name | Date Assigned | Due By Start Of Class | Hard Due Date |
---|---|---|---|---|
01 | Pick 3 | Mar 4th | Mar 14th | Mar 18th |
02 | Pick 3 | Mar 4th | Mar 14th | Mar 18th |
03 | Pick 3 | Mar 4th | Mar 14th | Mar 18th |
Group | Todo List | Mar 10th | Mar 14th | Mar 24th |
04 | Vue Todos | Mar 14th | Mar 21st | Mar 28th |
05 | Quotes in Vue | Mar 16th | Mar 21st | Mar 20th |
06 | Mini-Capstone | Mar 18th | Mar 23rd | Apr 1st |
Lab | Name | Date Assigned | Due By Start Of Class | Hard Due Date |
---|---|---|---|---|
01 | Bio | Feb 1st | Feb 7th | Feb 15th |
02 | Company Landing Page | Feb 3rd | Feb 7th | Feb 17th |
03 | Blog | Feb 4th | Feb 8th | Feb 18th |
04 | Burrito Order Form | Feb 8th | Feb 14th | Feb 22nd |
Group | Flask Todos | Feb 9th | Feb 10th | Feb 23rd |
05 | Flask Redo | Feb 10th | Feb 14th | Feb 24rd |
06 | Personal Portfolio | Feb 11th | Feb 15th | Feb 25th |
Lab | Name | Date Assigned | Due By Start Of Class | Hard Due Date |
---|---|---|---|---|
01 | Unit Converter | Jan 4th | Jan 10th | Jan 18th |
02 | Average Numbers | Jan 5th | Jan 10th | Jan 19th |
03 | Number To Phrase | Jan 5th | Jan 10th | Jan 19th |
04 | Blackjack Advice | Jan 6th | Jan 10th | Jan 20th |
05 | Pick 6 | Jan 6th | Jan 10th | Jan 20th |
06 | Credit Card Validation | Jan 10th | Jan 18th | Jan 24th |
07 | ROT13 | Jan 10th | Jan 18th | Jan 24th |
08 | Peaks And Valleys | Jan 11th | Jan 18th | Jan 25th |
09 | ARI | Jan 12th | Jan 18th | Jan 26th |
10 | Contact List | Jan 13th | Jan 18th | Jan 27th |
12 | ATM | Jan 18th | Jan 24th | Feb 1st |
13 | Tic-Tac-Toe | Jan 19th | Jan 24th | Feb 2nd |
14 | Dad Joke API | Jan 24th | Jan 31th | Feb 7th |
Group | Jackalope | Jan 25th | Jan 26th | Feb 8th |
15 | Quotes API | Jan 25th | Jan 31th | Feb 8th |
16 | Mini-Capstone | Jan 27th | Feb 1st | Feb 10th |
At the end of the Python and JavaScript sections, you'll give a presentation on an assignment of your choice. This is practice for your capstone presentation which you'll give on the last day of class.
These presentations help you practice communicating technical topics in English. Being able to speak intelligently about programming is almost as important as programming itself. This skill will allow you to better talk to interviewers, managers, clients, coworkers, and more.
In all three presentations, you should first explain the development process and the different parts of your code. Then run the application and show its features and interaction (entering data, seeing results, etc). Here are some questions to contemplate while planning out your presentation:
- what problem does your application solve? what is the core function it performs?
- how did you go about planning?
- what major issues did you encounter during the course of development? how did you go about overcoming them?
- how did your vision for the project change over time?
- what part did you like the most? least?
- what is the future of the project? what features (if any) will you work on next?
- Write pseudocode in English
- Add comments to explain your process to yourself
- Use functions to "black box" pieces of code
- Break code into logical bits
- Only do one thing at a time
- Don't do too much on one line
- There's no such thing as too many
print()
s
Uploading Files with VueJS and Axios
https://serversideup.net/uploading-files-vuejs-axios/
A Friendly Guide to Promise.all
https://levelup.gitconnected.com/a-friendly-guide-to-promise-all-68e7cd57b65d
SQL Island
https://sql-island.informatik.uni-kl.de/
Select Star SQL
https://selectstarsql.com/
SQL Murder Mystery
https://mystery.knightlab.com/walkthrough.html
An Illustrated (and Musical) Guide to Map, Reduce, and Filter Array Methods
https://css-tricks.com/an-illustrated-and-musical-guide-to-map-reduce-and-filter-array-methods/
Custom User Model
https://learndjango.com/tutorials/django-custom-user-model
Tips for using many-to-many fields
https://www.revsys.com/tidbits/tips-using-djangos-manytomanyfield/
Willam Vincent's tutorials and articles
https://wsvincent.com/
Django by example
https://www.youtube.com/playlist?list=PLAF3anQEEkzS-mjdX7s-D63bjLWRdhuFM
Python Django tutorial
https://www.youtube.com/playlist?list=PL-osiE80TeTtoQCKZ03TU5fNfx2UY6U4p
Django girls tutorial
https://tutorial.djangogirls.org/en/
Django polls tutorial
https://docs.djangoproject.com/en/2.1/intro/tutorial01/
Git branching practice
https://learngitbranching.js.org/
Oh Shit Git
http://ohshitgit.com/
Atlassian Git Tutorials
https://www.atlassian.com/git
Vue Video Tutorial and Solution Repo
https://www.youtube.com/watch?v=5LYrN_cAJoA&list=PL4cUxeGkcC9gQcYgjhBoeQH7wiAyZNrYa
https://github.com/iamshaunjp/vuejs-playlist/tree/lesson-1
Vue Introduction Documentaion
https://vuejs.org/v2/guide/
jQuery vs Vanilla vs Vue/React/Angular
https://www.academind.com/learn/javascript/jquery-future-angular-react-vue/
Start an HTTP server on your local machine:
cd project/file/path
python -m http.server
XMLHttpRequest properties/methods/etc
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
Using XMLHttpRequest
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
Awesome CSS
https://github.com/ikkou/awesome-css
Sass Basics
https://sass-lang.com/guide
BEM
http://getbem.com/introduction/
Webhook Request Tester
https://webhook.site
MDN: How To Style Forms
https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Styling_HTML_forms
https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Advanced_styling_for_HTML_forms
https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/How_to_build_custom_form_widgets
Bootstrap Documentation
http://getbootstrap.com/docs/4.1/getting-started/introduction/
Grid Garden
https://cssgridgarden.com/
Flexbox Froggy
http://flexboxfroggy.com/
Grid or Flexbox?
https://www.youtube.com/watch?v=hs3piaN4b5I
CSS Diner
https://flukeout.github.io/
CSS-Tricks
https://css-tricks.com
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
https://css-tricks.com/snippets/css/complete-guide-grid/
Adobe Color
https://color.adobe.com/create
Google Fonts
https://fonts.google.com/
Font Awesome
https://fontawesome.com/icons?d=gallery&m=free
The Four Major Programming Paradigms
http://www.eecs.ucf.edu/~leavens/ComS541Fall97/hw-pages/paradigms/major.html
More Programming Paradigms
http://cs.lmu.edu/~ray/notes/paradigms/
Big-O Cheat Sheet
https://www.bigocheatsheet.com
More about sorting
https://visualgo.net/en/sorting?slide=1
15 Sorting Algorithims in 6 Minutes
https://www.youtube.com/watch?v=kPRA0W1kECg
Awesome Python (list of frameworks/libraries/software/resources)
https://awesome-python.com/
RexExr
https://regexr.com/
Regex Crossword
https://regexcrossword.com/
Lena, the first JPEG
https://www.wired.com/story/finding-lena-the-patron-saint-of-jpegs/
All Algorithms implemented in Python
https://github.com/TheAlgorithms/Python
Python concept practice problems (may require registration, may not be Python 3)
http://www.asmarterwaytolearn.com/python/index-of-exercises.html
Are exceptions good practice? (Includes list of exceptions and a lot of code philosophy)
https://stackoverflow.com/questions/16138232/is-it-a-good-practice-to-use-try-except-else-in-python
Official Python Style Guide (PEP 8)
https://www.python.org/dev/peps/pep-0008/
PEP-8 Tutorial and Guide
https://www.datacamp.com/community/tutorials/pep8-tutorial-python-code
Pitfalls of Floating Point Numbers and Work-Arounds
https://docs.python.org/3/tutorial/floatingpoint.html
Command Line Cheat Sheet
https://www.git-tower.com/blog/command-line-cheat-sheet/
Git Cheat Sheet
https://www.git-tower.com/blog/git-cheat-sheet
Generating a new SSH key and adding it to the ssh-agent
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
Adding a new SSH key to your GitHub account:
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
- Python:
- Frontend (HTML/CSS/JS):
- https://www.freecodecamp.org/ (Practice, projects, (almost) textbook all-in-one!)
- https://sayazamurai.github.io/python-vs-javascript/#control-flow (Python3 and ES6 JS side by side comparisons)
- https://sass-lang.com/guide (SASS: CSS preprocessor tutorial)
- https://vuejs.org/v2/guide/ (Vue.js official guide)
- https://www.youtube.com/watch?v=5LYrN_cAJoA&list=PL4cUxeGkcC9gQcYgjhBoeQH7wiAyZNrYa (Vue.js video tutorial) REPO: https://github.com/iamshaunjp/vuejs-playlist/tree/master
- Django: