nss-exercises
Exercises completed while attending the Nashville Software School (Cohort 23, Nov 2017 - May 2018)
Completed Exercises
The Static Web
Execution instructions
Serve up the index.html
file in each exercise. If you are an npm
user, I recommend http-server. You can always simply open index.html
from your file manager! C
CSS Selectors
Exercise 001 -The basics of CSS Selectors. HTML & CSS
Interactive Navigation
Exercise 002 -Basic introduction on the importance of UI design. HTML & CSS
CSS Pseudo-classes
Exercise 003 -Basic introduction on CSS pseudo-classes. HTML & CSS
Product Cards
Exercise 004 -Tying together HTML & CSS. HTML & CSS
Overly Excited
Exercise 005 -Basic introduction to JS loops & algorithm design. JS
Boybands
Exercise 006 -Bringing in arrays into JS loops & printing to HTML. HTML & JS
Reindeer
Exercise 007 -String concatenation, arrays, printing to HTML & JS loops. HTML & JS
Student grades
Exercise 008 -Sorting, objects, JS loops & algorithm design. JS
Counting Coins
Exercise 009 -Algorithm design, the limits of JS & arithmetic. JS
Temperature Converter
Exercise 010 -Event listeners, DOM manipulation & algorithm design. HTML & JS
Sonnets
Exercise 011 -String manipulation in JS. HTML & JS
Greeting Card Maker
Exercise 012 -Object-oriented programming introduction, inheritance, DOM manipulation. HTML, CSS & JS
Remainders
Challenge 004 -Arithmetic & algorithm design in JS. JS
Fibonacci Number Generator
Challenge 005 -JS loops & algorithm design - generates Fibonacci sequence up to 500. JS
Difference of Natural Squares
Challenge 006 -JS while loops, algorithm design & arithmetic. JS
Happy Numbers
Challenge 008 -JS loops, algorithm design, avoiding infinite loops. JS
Single Page Applications
Calculator
Challenge 013 -Building a basic, interactive add, subtract, divide, multiply calculator. HTML & JS
The Guinea Pig
Exercise 014 -Deepening understanding of event listeners. HTML, CSS & JS
Dynamic Cards
Exercise 015 -Event listeners, click events, dynamic DOM manipulation. HTML & JS
What You See is What You Get
Exercise 016 -Event listeners, key events, dynamic DOM manipulation. HTML, CSS & JS
Array Chaining Methods
Exercise 017 -Arrays, JS methods, algorithm design. JS
String Manipulation
Exercise 018 -String manipulation, event listeners, click events, key events, JS methods. HTML & JS
Solar System
Exercise 019 -DOM manipulation, JS array & string methods. HTML & JS
Modules, XHRs and Callbacks, Oh My
Exercise 020 -Browserify, modularization, JS XHRs, callbacks, JSON, DOM manipulation. HTML & JS
Pet Food
Exercise 021 -JS XHRs, dynamically generated DOM, JSON. HTML, CSS & JS
Seasonal Sales
Exercise 022 -Browserify, modularization, JS XHRs, dynamic DOM manipulation & generation, JSON. HTML, SASS & JS
Sandwich Maker
Exercise 023 -Browserify, modularization, dynamic DOM manipulation & generation. HTML, SASS & JS
FOAAS
Browserify, external API calls, modularization, HTML templating, Handlebars. HTML (Handlebars), SASS & JS
Modern Frameworks (Angular 1.x)
Exercises 24 & 25
Exercises 26 - 28
Node
Direct Execution
Exercise 2 -Run:
node node/02-dir-execution/index.js
https://github.com/DavidLarsKetch/nss-exercises/tree/master/node/03-global-object)
Exercise 3 - Node Global Object](Run:
node node/03-global-object/global.js
Node Versions
Exercise 4 -Run:
node node/04-nodejs-versions/node-version.js
CLI Arguments
Exercise 5 -Run:
node node/05-command-arguments/args.js
Third Party Modules
Exercise 6 -Run:
node node/06-third-party-modules/flag.js [country]
File IO
Exercise 7 -Run:
node node/07-file-io/file-io.js [input-file-name or node/07-file-io/file-io.json
Async File IO
Exercise 8 -Run:
node node/08-async-file-io/async.js [input-file-name or node/08-async-file-io/08.json]
Streaming IO
Exercise 9 -Run:
node node/09-streaming-io/streams.js [input-file-name or node/09-streaming-io/languages.json] [output-file-name]
SQLite
Exercise 11 -Run:
Connect to node/11-sql-queries/musichistory.db
Run commands in node/11-sql-queries/queries.sql
Database Creation
Exercise 12 -Run:
node node/12-sqlite-create-db/sqlite3Intro.js
CLI Arguments & Database Creation
Exercise 13 -Run:
node node/13-sqlite-create-db-2/sqlite3.js [job title]
Dice Roll
Exercise 14 & 15 -Run:
npm install -g node/14-modularity-diceroll/dice-roll/bin/dice-roll
dice-roll [opt: # of rolls] [opt: sides]
Options:
Runs with 0, 1, or 2 options
Test:
npm test
TDD First Steps
Exercise 16 -Run:
node node/16-tdd-first-steps/lib/calculator [add, subtract, multiply, divide] [numbers]
Test:
npm test
Bag'o'loot
Exercise 17 -Run:
node node/17-tdd-bag-o-loot/lib/lootbag.js [options]
Test:
npm test
Options:
add [gift] [child]
remove [child] [gift]
ls
ls [child]
delivered [child]
External APIs
Exercise 18 -Run:
node node/18-http-client/stock.js [ticker symbol]
HTTP Server
Exercise 19 -Run:
node node/19-http-server/server01.js
Broswer: localhost:8081
Express
Exercise 20 -Run:
[opt: PORT] node node/20-express-hello-world/express-hello-world.js
Browser: localhost:[8080 OR PORT]
OR
Follow .env.example
to set up a PORT
ENV VAR
Express middleware
Exercise 21 -Run:
[opt: PORT] node node/21-express-middleware/app.js
Browser: localhost:[8080 or PORT]
localhost:PORT/[anything with 'egg' in it]
& find an easter egg in your terminal!
ERD
Exercise 22 -Check out that cool ERD!
SQL
Exercise 23 -SQL queries following these requirements
TDD & CLI
Exercise 24 -Run:
npm test
npm run db:generate
npm start
Express static
Exercise 25 -Run: npm start
Browser: localhost:3000
Pug
Exercise 26 -Run: npm start
Browser: localhost:8080