EXTERNAL RESOURCES

We'll use a range of online resources during this course. These include:

  • Discussion Form: A class discussion forum has been created at Piazza. We'll use this to discuss assignments, ask and answer questions, and post announcements. But don't just read and post questions! Please help answer your peers' questions, and I will attempt to provide help via the same forum so that we can all learn from each other. Our forum is available via the following link: https://piazza.com/unc/fall2019/ils641/home
  • D3 Visualization Library: The D3 javascript library's website is http://d3js.org/
  • D3 Examples: The author of D3, Mike Bostock, has a huge collection of examples that are a valuable learning resource. Visit his example collection at http://bl.ocks.org/mbostock
  • D3 Tips and Tricks: There are many online tutorials, examples, and discussion forums dedicated to D3. However, if you prefer an e-book format resource, try out D3 Tips and Tricks by Malcolm Maclean, available online for free (though donations are accepted by the author). The original version is more complete, but focuses on D3 version 3. An updated version for D3 v4 is partially completed and available here.
  • Simple Statistics Library: The Simple Statistics javascript library includes some easy-to-use functions to calculate descriptive statistics, as well as perform basic regression or classification. Read more at http://simplestatistics.org/

For students comfortable developing web applications with rich server-side functionality, a variety of more sophisticated software packages are available. Perhaps most valuable are the Python packages NumPy, SciPy, and scikit-learn.

 

DEVELOPMENT ENVIRONMENT

Some of your assignments and your semester project will be take the form of interactive web sites. As part of turning in your assignments, you will need to post your work to the web at a URL that is accessible by the instructor. You can use any web server to which you have access to post your work.

However, I suggest using UNC's services provided by SILS. They are maintained by staff who can help answer questions and fix problems. In particular, you can use your onyen to access the SILS server opal.ils.unc.edu. All SILS students already an account on opal, and all officially registered non-SILS students should have had a temporary account created by SILS IT staff. For more information, read the documentation provided by SILS IT. If you need assistance, you can contact the SILS IT Help Desk.

Many assignments will require (at a minimum) some HTML and JavaScript coding. You are free to be more ambitious when appropriate, pulling in additional technologies where you think it will help.

For HTML and JavaScript, source code can be written in any text editor you choose (Notepad, vi, emacs, etc.). However, there are specialized software programs available for free that provide more advanced capabilities like syntax highlighting, validation, and more.

I personally use a full-fledged IDE for most of my work. One very high quality IDE for web programming in JavaScript is WebStorm from the company JetBrains. They offer free licenses to students, but you need to sign up using your unc.edu email address. Luckily, the download lets you use it for free for 30 days, giving you plenty of time to get your free student license activated.

Another IDE is Microsoft's Visual Studio Code, which is free to download and use.

If you prefer, a simple text editor with syntax highlighting is another alternative. I often use the free vim editor, but it has a steep learning curve. Another option is the free and more modern Atom, a powerful text editor developed by the folks at GitHub. More options (some free, some not) can be found in this article.

All assignments will be graded based on how they work in Google's Chrome Web Browser (available free on all major operating systems). You should use this browser for all of your work related to this class. Chrome includes a powerful set of Developer Tools, including a console and debugger, which will be incredibly valuable. Other browsers have similar tools, but only Google Chrome's Developer Tools will be supported in this class. Using any other browser and tool suite is fine, but beware that grading and help will be limited to Google Chrome.

Have questions? Please ask!