WebFund 2024F Lecture 19

From Soma-notes

Video

Video from the lecture for November 21, 2024 is now available:

Notes

Lecture 19
----------

* Assignment 3 was officially due yesterday but is being accepted until Saturday evening.
* I will go over solutions for A3 and present A4 on Tuesday
  - A4 should be posted by the end of the weekend
* Today
 - midterm solutions
 - interviews
 - frameworks for web dev

* Final exam will be of comparable difficulty, length will be proportional to additional time
  - if you didn't finish with enough time, that probably means you were spending a lot of time searching during the exam
     - that means you didn't really understand the material going in
     - this exam should have been doable with minimal references
       to the class materials and no references to online materials

* If you do better on the final exam, the final exam grade will replace your midterm grade


INTERVIEWS
----------
* I will be emailing individuals to request interviews
  - some random, some selected (you won't know which)
* You may also volunteer for an interview
* I will post a spreadsheet on Teams for interview signups
  - please put your name down in a time slot
  - each slot is 15 min, discussion should take 10 min or so

* During interview, we'll look at the questions you missed on your midterm and maybe some you got right
  - we'll discuss, and if merited I'll give you additional points
  - I won't take away points
  - we can also look at your answers to assignment questions

So if you want to appeal a midterm grade, please sign up for an interview!

Only way an interview goes badly is if I start thinking the answers you wrote
don't correspond to your level of knowledge
 - I don't expect this to happen

TAs will do some interviews, but I will do a lot of them
 - and the sign up sheet will specify with whom you'll be doing an interview

In general, if you get an email you should try signing up with me
 - TAs are more for overflow, as my time is limited

Don't pay attention to Brightspace grade calculations
 - I do my own calculations in an offline spreadsheet, more complex
   than can be handled on Brightspace
   (multiple grading schemes)

General tip when answering questions (on assignments & exams)
 - your ratio of search to work on your own (thinking/coding) should be 1:3
    - 10 min search, 30 min thinking/coding/experimenting
 - if your ratio is 1:1 or you are spending more time searching than
   thinking/coding, you're approaching this material wrong


node is the precursor to deno (note how one is an anagram of the other)
 - have same original author
 - node is older, and JavaScript wasn't so featureful, so it defined its
   own APIs
 - deno uses modern APIs originally designed for the browser wherever possible, rather than what node uses
    - but it has backwards compatibility

In node, instead of import (which directly loads code from other servers and caches it locally), we have require
 - require loads in external code, but that code is in node_modules by default
 - node_modules must be initializes separately, using npm (node package manager)

deno supports node modules but you don't need npm and you don't have to manage node_modules
 - deno takes care of all that for you

When we run "deno run -A -r https://fresh.deno.dev" it asks questions then creates an "empty" project
 - fully functional "hello world" web server app
 - that's what we are exploring now