HW12: NodeJS Template due Tue 16 Apr 13:20

\begin{purpose}
The purpose of this assignment is to give practice in using you...
...te more complex server-side Javascript code in the
coming weeks.
\end{purpose}

Allowed and Disallowed Resources

In completing this assignment you MAY use/access the following resources:

You may NOT use/access:

Failure to abide by these guidelines will result in a zero for the assignment and the incident will be reported to the university provost as a violation of the university academic integrity policy. A second incident of academic dishonesty (whether from this course or another computer science course) will result in an F in the course.

Overview

Since this is a NodeJS project you will be doing work on your own computer in the repository that was set up as part of the lab day assignment. Begin by make a copy of your template directory into a new directory called hw12.

When this assignment is complete you will have a simple NodeJs application that provides an index page with links to various individual pages that give tutorials on Javascript topics as follows:

Your home page will contain labeled links to each of the 4 tutorials. Each tutorial will have its own route/view. For each tutorial you should take the following steps:

  1. Read about the language feature and write sample code to play around with the concept until you understand it.
  2. Once you understand the concept, come up with your own example code to illustrate it and write commentary in your own words to explain the code. If in writing your example code or commentary you find you have to look at other sources then you need to go back to step 1 and spend more time with the concept.

To see an example of the basic concept and scope of what I'm looking for look at this site: https://dev.to/srebalaji/es6-for-beginners-with-example-c7. Some of these same concepts are also presented in the Javascript command sheet: https://josephus.hsutx.edu/classes/all/javascriptcommandsheets/with.pdf (see especially the section called “Arrays” and the section called “Functions as Parameters”).

IMPORTANT: DO NOT COPY/PASTE CODE OR COMMENTARY FROM ANY SOURCE! You should refer to as many sources as is helpful for you to understand the given concept. Once you understand it, put the sources aside and come up with your own example and words to explain it.

I'm expecting it will take about 30 minutes to copy the template, create an index page, and make 4 blank landing pages. I'm thinking that each topic will require about 30 minutes of research and another 30 minutes of creating the page. If you are finding that the entire assignment takes only a couple of hours then you did something wrong!

Displaying Javascript Code in HTML

There are a variety of ways to display Javascript code on an HTML. The simplest (and ugliest) way is to use the <code></code> tag around the embedded code. If you want syntax highlighting there are some CSS solutions that will do that for you.

Another approach is to utilize a tool such as JSFiddle (https://jsfiddle.net/) which allows embedding of interactive code snippets on your page. This is not a requirement but would make the embedded code quite a bit prettier. Also, someone using your tutorial could click a link to be able to play around with the code themselves.

Turning In Your Code

If you have not already shared your repository with the instructor ( terrys@gmail.com) then do so now. Make sure your final solutions is posted to your bitbucket repository.