Repo for the PDX Code Guild Python Full Stack day course starting 7/11/2022
Class is held from July 11th, 2022 to October 21st, 2022 M-F 9:30 am – 4:30 pm
- July 29th
- August 12th
- September 5th (Labor Day)
- October 10th (Indigenous People's Day)
- October 17th
-
Danny Burrow, Instructor
-
Gage Liebl, TA
Capstone proposal due: October 3, 2022
Presentation Day: October 21st, 2022
Lab | Name | Date Assigned | Due By | Hard Due Date |
---|---|---|---|---|
01-03 | Pick3 | Sep 14th | Sep 19th | Sep 28th |
04 | Mob Todo List | Sep 16th | N/A | N/A |
05 | Vue Todos | Sep 19th | Sep 22nd | Oct 3rd |
06 | Quotes in Vue | Sep 21st | Sep 26th | Oct 5rd |
07 | JavaScript Mini-Capstone | May ??th | May ??th | Jun 3rd |
Lab | Name | Date Assigned | Due By | Hard Due Date |
---|---|---|---|---|
01 | Grocery List | Aug 30th | Sep 2nd | Sep 13th |
02 | URL Shortener | Sep 1st | Sep 7th | Sep 15th |
03 | Chirp | Sep 7th | Sep 13th | Sep 18th |
Lab | Name | Date Assigned | Due By | Hard Due Date |
---|---|---|---|---|
01 | Bio | Aug 11th | Aug 17th | Aug 25th |
02 | Company | Aug 17th | Aug 22nd | Aug 31st |
03 | Blog | Aug 18th | Aug 22nd | Sep 1st |
04 | Burrito Order Form | Aug 22nd | Aug 26th | Sep 5th |
05 | Personal Portfolio | Aug 23rd | Aug 26th | Sep 6th |
Lab | Name | Date Assigned | Due By | Hard Due Date |
---|---|---|---|---|
01 | Unit Converter | Jul 12th | Jul 15th | Jul 26th |
02 | Average Numbers | Jul 12th | Jul 15th | Jul 26th |
03 | Make Change | Jul 13th | Jul 15th | Jul 27th |
04 | Number To Phrase | Jul 13th | Jul 15th | Jul 27th |
05 | Blackjack Advice | Jul 13th | Jul 15th | Jul 27th |
06 | Pick 6 | Jul 18th | Jul 21st | Aug 1st |
07 | Mob Jackalope | Jul 20th | NA | NA |
08 | Credit Card Validation | Jul 20th | Jul 22nd | Aug 3rd |
09 | Peaks And Valleys | Jul 20th | Jul 27th | Aug 3rd |
10 | ROT13 | Jul 25th | Jul 27th | Aug 10th |
11 | ARI | Jul 26th | Aug 1st | Aug 9th |
12 | Contact List | Jul 28th | Aug 3rd | Aug 11th |
13 | ATM | Aug 2nd | Aug 5th | Aug 16th |
16 | Dad Joke API | Aug 4th | Aug 9th | Aug 18th |
17 | Quotes API | Aug 4th | Aug 9th | Aug 18th |
18 | Mini-Capstone | Aug 8th | Aug 11th | Aug 25th |
Random Emoticon Generator, Random Password Generator, Road Trip, Rock, Paper, Scissors,
Simple Calculator, Sock Sorter,
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
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: