All Projects → crampete → full_stack_classroom_july_2019

crampete / full_stack_classroom_july_2019

Licence: other
Class notes, code snippets, assignments, reading material for the full stack classroom batch of July 2019

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
python
139335 projects - #7 most used programming language
CSS
56736 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to full stack classroom july 2019

Javascripter
Helping junior developers navigate the complex world of software engineering without experiencing information overload.
Stars: ✭ 203 (+968.42%)
Mutual labels:  notes, full-stack
awesome-robotics-projects
A list of open-source, affordable, less-known, or visionary robotics projects.
Stars: ✭ 233 (+1126.32%)
Mutual labels:  projects
mdyna-app
React+Redux+Electron Note taking application repository
Stars: ✭ 68 (+257.89%)
Mutual labels:  notes
server
Core server in the Alkemio platform, offering a GraphQL api for interacting with the logical domain model.
Stars: ✭ 20 (+5.26%)
Mutual labels:  projects
notes
Simple text editor for your Markdown and LaTeX notes.
Stars: ✭ 24 (+26.32%)
Mutual labels:  notes
study-snap
📓📲 Flutter app for managing study materials in form of photos.
Stars: ✭ 34 (+78.95%)
Mutual labels:  notes
monte-note
Note taking application with a rich set of editing and management features
Stars: ✭ 63 (+231.58%)
Mutual labels:  notes
aws-certified-developer-associate-udemy-notes
AWS Certified Developer Associate Udemy Notes
Stars: ✭ 20 (+5.26%)
Mutual labels:  notes
gonotes
Command line tool to access your kindle clippings
Stars: ✭ 23 (+21.05%)
Mutual labels:  notes
McGill-Public
Part of McGill U3/U4 that can be made public
Stars: ✭ 50 (+163.16%)
Mutual labels:  notes
Machine-Learning-Notes
Lecture Notes of Andrew Ng's Machine Learning Course
Stars: ✭ 60 (+215.79%)
Mutual labels:  notes
UnimelbSharedFiles
No description or website provided.
Stars: ✭ 16 (-15.79%)
Mutual labels:  notes
notesnook
A fully open source & end-to-end encrypted note taking alternative to Evernote.
Stars: ✭ 5,098 (+26731.58%)
Mutual labels:  notes
writebar
Experimental distraction-free text editor, based on the Macbook pro TouchBar
Stars: ✭ 37 (+94.74%)
Mutual labels:  notes
bens-obsidian-boilerplate
An opinionated kit to provide people some inspiration and ideas for their own workflows.
Stars: ✭ 174 (+815.79%)
Mutual labels:  notes
Codex
A free note-taking software for programmers and Computer Science students
Stars: ✭ 242 (+1173.68%)
Mutual labels:  notes
fullstack-typescript
A demo project of a full stack typescript application
Stars: ✭ 28 (+47.37%)
Mutual labels:  full-stack
safenotes
SafeNotes a complete self-hosting secrets sharing app
Stars: ✭ 25 (+31.58%)
Mutual labels:  notes
obsidian-publish-mkdocs
A Template to Publish Obsidian/Foam Notes on Github Pages (uses MkDocs)
Stars: ✭ 219 (+1052.63%)
Mutual labels:  notes
notes
My Personal Notes.
Stars: ✭ 18 (-5.26%)
Mutual labels:  notes

Crampete Full Stack Classroom

Batch - July, 2019

Homework, resources, code snippets, live projects and learning hacks can be found in the respective day folders.

About

Index

Day 5 & 6 Overview

Day 5

  • Individually identify what HTML, CSS and JavaScript do with analogies.

  • JavaScript adds interactivity. Showed some examples (progress bars, form validation and a todo list DOM manipulation).

  • Very brief intro on what is a computer langauge.

  • JavaScript basics using an online playground.

    • Variables, data types
    • console.log
    • Arrays and dictionaries (some operations on them as well)
    • Control statements (if, while and for) with simple examples
  • Using inspect element to get a feel of the HTML, modify the nodes and CSS manually.

  • Writing JavaScript code in the console.

  • DOM in depth.

  • Simple examples of modifying the DOM using JavaScript.

  • Run through of HTML and CSS of superman_batman_theme_switcher.

  • Concept of event listeners and what are JavaScript functions.

  • Homework what is to be done, FreeCodeCamp, YouTube videos etc.

Day 6

  • Functions and Classes in depth.
  • document.getElementsByTagName(), document.getElementsById() demystified.
  • Superman Batman Theme Switcher project (see code_snippets_project).
  • Step through using Google Chrome's console and seeing the changes live.
  • Text Resizer run down in a similar fasion.

Day 7 Overview

  • Download VSCode and explore the code repo.
  • Explain about code steps.
  • Try recreating major portions of live_project_01_random_quotes. In the process
    • Tell them about Google Fonts
    • Colour schemes
  • Use inspect elements to iterate faster with HTML and CSS changes.
  • JavaScript linking and flow for project 1.
  • HTML, CSS quickly go through live_project_02_live_css_changer.
  • JavaScript breakdown
    • onchange eventlistener
    • Math.random() and Math.floor()

Day 8 Overview

  • Differences between Python and JavaScript in the browser (priviledges and access)
  • Why Python, famous companies using Python.
  • Python syntax with examples.
  • Python data structures.
  • Exploring Python using Thonny.
  • How the web works?
    • Network, IP and domains
    • What is the backend, frontend
    • Ports and web servers
    • Request and response (just communication)
    • Talking via the browser vs talking via curl
  • File server using Python SimpleHTTPServer
  • Controlling LED using a server and nodemcu.
  • Simple Flask demo with two routes.

Day 9 Overview

  • What is a REPL? Using the Python REPL.
  • Input and some operations on data structures.
  • Simple functions in Python
  • What is a CSV? Creating CSVs using Python.
  • Code organisation. Breaking code into files and folders.
  • Brief them about CodeChef, the certification and the opportunities they offer.

Day 10 Overview

  • Different types of clients (command line, web browser)
  • Clear distinction between client and server. (Client Server model)
  • Writing a few clients. Code Here
  • Basic changes in any web application (Create, Read, Update and Delete) also called CRUD.
  • Corresponding HTTP Verbs or Methods (GET, POST, PUT and DELETE).
  • HTTP Status Codes overview.
  • Google Chrome network inspection basics.
  • Revision from last class
    • IP addresses are domains
    • Port Numbers
    • Request Response Lifecycle
    • Web Servers - What are they and why do we use them instead of writing them ourselves
    • Routes from a link
  • Coding a simple backend. Writing a few endpoints and trying them out in the browser.

Day 11 Overview

  • Using Templates in Python for returning HTML.
  • Why are templates better than HTML stored as strings.
  • Reading CSVs using Python.
  • Python Jinja Templates.
  • Template with variables.
  • Templates with for loops.

Day 12 Overview

  • What is mobile responsiveness and why?
  • Use case for reset.css with a small demo.
  • Websites are nothing but boxes.
  • HTML for the site.
  • Touched upon semantic HTML.
  • What is Bootstrap and you don't need it. You can write responsive with pure HTML and CSS alone.
  • Brief intro to rem and why it's better than pixels. Less hard coding.
  • Mobile First Approach in CSS.
  • Code CSS using mobile first approach.
  • CSS Media Queries and their uses (why those breakpoints?)
  • Overwrite rules for certain devices using CSS.
  • Block elements, inline elements and inline-block.
  • li + li selector for margin spacing.
  • How to link images, CSS files within HTML. Relative paths (coming out of folders using ../)

Day 17 & 18 Overview

  • Why Bootstrap and what is it?
  • Bootstrap starter template to start coding.
  • Reading documentation and using Bootstrap (navbar example)
  • Bootstrap grid system. Thinking of websites like boxes and in terms of rows and columns.
  • rows and col in Bootstrap
  • Using different sizes like xs, sm, md and lg.
  • container class.
  • Fake text from Lorem Ipsum.
  • Utility classes like mt, mx, text-center and so on.
  • Photos from a stock photography website.
  • Jumbotron with Background image.
  • offset- and img-fluid in Bootstrap.
  • Built the website given in code snippets using Bootstrap.

Day 19 & 20 Overview

  • React.js Intro.
  • Intermingling HTML, CSS and JavaScript together.
  • Node.js vs JavaScript on the browser.
  • Brief intro to npm.
  • Creating a new React.js project using create-react-app.
  • React folder structure.
  • Creating a React Component.
  • Using Props in Components.
  • Difference between state and props.
  • E-commerce product page using state and props.
  • Using npm to install 3rd party packages.
  • Overview of package.json file.
  • Jist of the node_modules folder.
  • Creating multiple pages using react-router-dom.

Day 21 & 22 Overview

  • React Bootstrap.
  • Using normal Bootstrap classes or React Components.
  • Reading the documentation of React Bootstrap.
  • Revisited state and props, when to use props and when to use state etc.
  • Using state in input boxes (controlled components).
  • Changing state via an onChange event listener.
  • React router for login and profile pages.
  • Why Git?
  • Difference between Git and GitHub.
  • Installing Git and choosing Visual Studio Code as the default editor.
  • Git stage and commits.
  • Making a new Git repo locally, pushing it to GitHub.
  • Cloning a public repository using git clone.
  • Updating code on one's local system using git pull.

Day 23 & 24 Overview

  • Revisited Mongo. Quick overview.
  • Using a free cluster on Mongo Atlas.
  • Using a GUI tool to work your way around Mongo.
  • Basic connection using PyMongo.
  • Choosing a collection and CRUD operations on the collection using various filters.
  • Revisited IP Addresses and port number essentials.
  • Revisited HTTP Routes and methods like GET, POST, PUT and DELETE.
  • Creating RESTful routes (incomplete as of now) for a resource using Flask.

Day 25 Overview

  • Refer code from the previous day.
  • Finish RESTful routes for the resource.
  • Testing routes using Postman.
  • Methods are just conventions.
  • Interview prep and tips.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].