Skip to content

PdxCodeGuild/class_salmon

Repository files navigation

20210517-Python-FullStack-Day

Repo for the PDX Code Guild Python Full Stack day course starting 5/17/2021

Class is held from May 17th, 2021 to August 27th, 2021 M-F 9:30 am – 4:30 pm

Holidays

May 31st -- Memorial Day
June 18th -- Too Hot
July 5th -- Independence Day
August 13th -- Study Day/No Class
August 20th -- Study Day/No Class

Staff

Capstone Dates:

Capstone proposal due: August 9th, 2021
Presentation Day: August 27th, 2021

Django Labs Assigned:

Lab 01 Todo List
Lab 02 URL Shortener
Lab 03 Chirp
Lab 06 Students API
Lab 07 Pokedex

JavaScript Labs Assigned:

Lab 01-03 Pick 3
Lab 04 Vue Todos
Lab 05 Quotes in Vue
Lab 06 Mini-Capstone

HTML/CSS Labs Assigned:

01 Bio
02 Blog
03 Company
04 Burrito Order Form
05 Flask Redo
06 Personal Portfolio

Python Labs Assigned:

01 Unit Converter
02 Average Numbers
03 Number To Phrase
04 Blackjack Advice
05 Pick 6
06 Credit Card Validation
07 ROT13
08 Peaks And Valleys
09 ARI
10 Contact List
11 Searching And Sorting
12 ATM
13 Tic-Tac-Toe 14 Dad Joke API
15 Quotes API
16 Mini-Capstone

Student Presentations

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?

Getting Unstuck

  • 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

Odds and Ends

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/

Outside Resources