nodejs

The following information is for anyone considering on attending this workshop at SIGCSE 2018.

This workshop was also previously offered at SIGCSE 2016.

1. General Description

Web services (a.k.a. web APIs) allow developers to build web and mobile applications using data from multiple online sources. This workshop will demonstrate how to use and write web services using Node.js on a cloud development environment. Node.js is an open source JavaScript platform that is currently used by companies like PayPal, DowJones, Walmart, Netflix, and Yahoo. Using and writing web services in Node.js is significantly easier than using other environments based on languages such as C# or Java. Because we will be using a cloud platform, all our tools are readily available through any modern web browser, thus eliminating the hassle related to installing a complete standalone development environment. Teaching web API design with Node.js on the cloud provides our students a relevant real life technical skill.

Laptop required.

The following program is a simple web server written in Node.js that responds with “Hello World!” for every request:

'use strict';

var http = require('http');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World!\n');
}).listen(process.env['PORT'], process.env['IP']);

console.log('Server running...');

2. Audience

morpheus

This workshop is aimed at CS instructors that wish to teach how to use and write web services using Node.js on a cloud development environment. It’s also useful for those that would like to consider teaching a single programming language, JavaScript, for both client-side (front-end) and server-side (back-end) coding.

3. Topics

Workshop participants will use the free service provided by Cloud9 IDE (owned by Amazon Web Services) to learn how to write scalable RESTful web services using:

  • Node.js

  • The Express web framework

  • MySQL

  • jQuery

4. Prerequisites

Participants should have prior working knowledge of client-side (running on a browser) JavaScript, HTML and SQL.

You don’t need to be an expert JavaScript programmer. Yet, to get the most of this workshop, you should have at least a fundamental knowledge of the following topics:

  • Basic data types (numbers, strings, arrays, and objects).

  • Variables, expressions and operators.

  • Basic statements (if, for, while, return).

  • Calling and defining functions.

Regarding HTML, you should know the basic usage of these tags: <html>, <head>, <link>, <script>, <body>, <p>, <ul>, <ol>, <li>, <strong>, <em>, <a> and <img>.

As to SQL, you should have at least an elementary ability using these statements: select, insert, update, delete, and create table.

5. Required hardware

This is a hands-on workshop, so each attendee must bring her/his own laptop computer with Wi-Fi access. Any computer with Windows, Linux, or macOS will do. Chromebooks are also fine.

Be aware that the Cloud9 IDE does not work with smartphones and most tablets.

6. Required software

You only need a recent version of your web browser of choice (Mozilla Firefox, Google Chrome, Safari, Microsoft Edge, etc.).

7. Date and place

When

7:00-10:00 p.m. on Wednesday, February 21, 2018.

Where

Room 302 at the Baltimore Convention Center. Baltimore, Maryland, USA.

8. Presenter

aortiz

Ariel Ortiz has been a full time faculty member at the Tecnológico de Monterrey, Campus Estado de México, since 1994, where he has been involved mainly in teaching undergraduate computer science courses in Spanish and English. His central areas of interest include: programming languages, web development, computer science education and open source issues.

He has been teaching client-side and server-side Web development since 1996, using an important variety of technologies including CGI, Java Servlets, JSP, Ruby on Rails, Sinatra, Django, Node.js and Ajax. He is also a Sun Certified Web Component Developer since 2003.

He has presented at SIGCSE several workshops, papers, posters, and BOFs since 2001. His personal web site (mostly in Spanish) can be found at: http://arielortiz.info/

9. More information

If you want to know more abour Node.js, check its official web site: http://nodejs.org/about/

Send to ariel.ortiz@itesm.mx any further questions regarding this workshop.