Skip to content

PdxCodeGuild/class_opal

Repository files navigation

2022-10-31 Full-Stack Python/JavaScript Day Class

Repo for the PDX Code Guild Python Full Stack day course starting 10/31/2022

Class is held from October 31st, 2022 to February 15th, 2023 M-F 9:30 am – 4:30 pm

Opal Image From Wikimedia Commons by Robert Lavinsky

Holidays

  • November 8th (Election Day -- go vote!)
  • November 24th (Thanksgiving)
  • November 25th (Day after Thanksgiving)
  • December 23rd
  • December 26th (Day after Christmas)
  • January 2nd (Day after New Years)
  • (two more days TBD)

Staff

Capstone Dates:

Capstone proposal due: TBD

Presentation Day: February 15th, 2023

Django Labs Assigned:

Lab Name Date Assigned Due By Start Of Class Hard Due Date
00 Polls Dec 19th Dec 22nd
01 Grocery List Dec 21st Dec 27th Jan 4th
02 URL Shortener Dec 22nd Dec 29th Jan 5th
03 Chirp Dec 27th Jan 3rd Jan 10th

JavaScript Labs Assigned:

Lab Name Date Assigned Due By Start Of Class Hard Due Date
01 Pick 3 Jan 3rd Jan 10th Jan 17th
02 Pick 3 Jan 3rd Jan 10th Jan 17th
03 Pick 3 Jan 3rd Jan 10th Jan 17th
04 Todo List Jan 6th N/A N/A
05 Vue Todos Jan 9th Jan 12th Jan 23rd
06 Quotes in Vue Jan 11th Jan 16th Jan 25th

HTML/CSS Labs Assigned:

Lab Name Date Assigned Due By Start Of Class Hard Due Date
01 Bio Dec 1st Dec 5th Dec 15th
02 Company Landing Page Dec 5th Dec 8th Dec 19th
04 Burrito Order Form Dec 6th Dec 9th Dec 20th
05 Blog Dec 8th Dec 14th Dec 22nd
05 Flask Redo Dec 12th Dec 15th Dec 27th
06 MOB - Flask Todos Dec 13th N/A N/A
07 Personal Portfolio Dec 14th Dec 19th Dec 28th

Python Labs Assigned:

Lab Name Date Assigned Due By Start Of Class Hard Due Date
01 Unit Converter Nov 1st Nov 4th Nov 15th
02 Number To Phrase Nov 1st Nov 4th Nov 15th
03 MOB - Average Numbers Nov 2nd N/A N/A
04 Blackjack Advice Nov 2nd Nov 7th Nov 16th
05 Pick 6 Nov 3rd Nov 9th Nov 17th
06 Credit Card Validation Nov 4th Nov 9th Nov 18th
07 ROT13 Nov 4th Nov 9th Nov 18th
08 Peaks and Valleys Nov 4rd Nov 10th Nov 18th
09 ARI Nov 7th Nov 10th Nov 21st
06.1 CC Validation REDUX Nov 9th Nov 11th Nov 23rd
10 MOB - Hangman Nov 7th N/A N/A
11 Contact List Nov 10th Nov 15th Nov 28th
12 ATM Nov 11th Nov 16th Nov 28th
13 Compass Nov 14th Nov 17th Nov 28th
14 Automated Tests Nov 14th Nov 18th Nov 28th
15 MOB - Tic-Tac-Toe Nov 15th N/A N/A
16 Dad Joke API Nov 17th Nov 21th Dec 1st
17 Quotes API Nov 17th Nov 23rd Dec 1st
18 MOB - TDD Sock Sorter Nov 21st N/A N/A
19 Mini-Capstone Nov 23rd Nov 30th Dec 7th

Student Presentations

At the end of the Python and JavaScript sections, you'll give a presentation on a "mini capstone" 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, I recommend starting with a demonstration of what your project does, and an explanation of what problem you were trying to solve. Demonstrate all the main types of user interations and their outcomes. Then explain the development process and the different parts of your code.

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

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/

Outside Resources

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published