Repo for the PDX Code Guild Python Full Stack day course starting 3/14/2021
Class is held from March 14th, 2022 to June 24th, 2022 M-F 9:30 am – 4:30 pm
- April 4th (Day Off)
- April 11th (Snow Day)
- May 30th (Memorial Day)
- June 6th (Day Off)
- June 20th (Day Off)
-
Pete Jones, Instructor
-
Kelsey Canoy, TA
-
Dustin Olsen, TA
Capstone proposal due: June 1st, 2022
Presentation Day: June 24th, 2022
Lab | Name | Date Assigned | Due By | Hard Due Date |
---|---|---|---|---|
01-03 | Pick3 | May 10th | May 16th | May 24th |
04 | Mob Todo List | NA | NA | NA |
05 | Vue Todos | May ??th | May ??th | Jun 3rd |
05 | JavaScript Mini-Capstone | May ??th | May ??th | Jun 3rd |
Bouncing Ball, Clock, Hacker Typer, Random Redirector
Lab | Name | Date Assigned | Due By | Hard Due Date |
---|---|---|---|---|
00 | Polls | Apr 25th | Apr 29th | May 9th |
01 | Grocery List | Apr 27th | May 4th | May 11th |
02 | Library | Apr 29th | May 4th | May 13th |
02 | Chirp | May 4th | May 11th | May 18th |
Lab | Name | Date Assigned | Due By | Hard Due Date |
---|---|---|---|---|
01 | Bio | Apr 12th | Apr 15th | Apr 26th |
02 | Blog | Apr 13th | Apr 15th | Apr 27th |
03 | Company | Apr 18th | Apr 22nd | May 2nd |
04 | Mob Class Mascot | NA | NA | NA |
05 | Personal Portfolio | Apr 20th | Apr 20th | Apr 22nd |
Lab | Name | Date Assigned | Due By | Hard Due Date |
---|---|---|---|---|
01 | Unit Converter | Mar 15th | Mar 18th | Mar 29th |
02 | Average Numbers | Mar 15th | Mar 18th | Mar 29th |
03 | Make Change | Mar 16th | Mar 18th | Mar 30th |
04 | Number To Phrase | Mar 16th | Mar 18th | Mar 30th |
05 | Blackjack Advice | Mar 16th | Mar 18th | Mar 30th |
06 | Pick 6 | Mar 21st | Mar 25th | Apr 4th |
07 | Mob Jackalope | Mar 21st | NA | NA |
08 | Credit Card Validation | Mar 22nd | Mar 25th | Apr 5th |
09 | Peaks And Valleys | Mar 22nd | Mar 25th | Apr 5th |
10 | ROT13 | Mar 24th | Mar 30th | Apr 7th |
11 | ARI | Mar 24th | Mar 30th | Apr 7th |
12 | Contact List | Mar 28th | Apr 1st | Apr 11th |
13 | ATM | Mar 30th | Apr 5th | Apr 13th |
14 | Mob Tic Tac Toe | Mar 30th | NA | NA |
16 | Dad Joke API | Apr 1st | Apr 6th | Apr 15th |
18 | Mini-Capstone | Apr 6th | Apr 8th | Apr 19th |
Connect Four, Count Words, Currency Converter, Grading, Guess The Number, Image Manipulation, LCR, Mad Libs, Magic 8 Ball, Rain Data, Random Emoticon Generator, Random Password Generator, Road Trip, Rock, Paper, Scissors, Searching & Sorting, Simple Calculator, Sock Sorter, Stack And Linked List, Quotes API
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: