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