Javascript technology 2016

From Rost Lab Open
(Difference between revisions)
Jump to: navigation, search
(Created page with "== Description == The anatomy of a javascript system - participating students get hands on experience with designing and building a modern client side javascript web applicati...")
 
(New This Semester: The Game of Thrones Edition)

Revision as of 23:53, 21 January 2016

Contents

Description

The anatomy of a javascript system - participating students get hands on experience with designing and building a modern client side javascript web application. the student will research the literature on design concepts and available technologies including the use of common js libraries. The students will prepare presentation and introduce the libraries and concepts they chose to use. Each talk is summarized by student in a seminar thesis.

In this seminar you will be asked to program a mini web-application which demonstrate a javascript capability chosen from the topics listed below. This is a completely hands-on seminar which means that you should be building your own app (no ripping off code from somewhere on the internet), prepare a presentation explaining what you did and describing the javascript concepts you were using and writing a seminar report at the end of the term.

New This Semester: The Game of Thrones Edition

Game of Thrones is a popular HBO TV show based on George R. R. Martin series of epic fantasy novels "A Song of Ice and Fire." The novels paint a picture of a world that blends human drama, realism, sex and violence with magic and mystery. Both the HBO show and the novels are extremely popular (to date the books sold over 60 million copies!) and have become a cultural phenomenon world-wide. The web is also filled with activity around the show and the books - there are currently numerous fan sites, youtube videos, review and analysis, marketing outlets, social media groups, community sites and wiki pages. In this seminar we will tap into this wealth of knowledge and information and will build data driven applications in JavaScript that will help make sense of the Game of Thrones world.

For instance consider the following toy project - I wanted to analyze the balance of power in Westeros right around the period discussed in the "A Clash of Kings" book. To do this I had to pull data from the wiki of ice and fire http://awoiaf.westeros.org/ -- a wiki site that acts as the most comprehensive source of information about the world of Ice and Fire. The data from the wiki helped me construct a visualization that shows a network of allegiance (appear as edges in the network) of the great houses (appear as nodes in the networks). Here is the visualization - https://rostlab.org/~gyachdav/awoiaf/#/. clicking on nodes will give you detail information and you can use the mouse wheel to zoom and navigate the network.

In the projects for this seminar you are expected to use Game of Thrones related data that you find online (the awoiaf wiki is a highly recommended source) to build and drive your apps. Remember that the apps should focus on showing (in order of importance):

  1. the concepts learned in your assigned topic
  2. how you use the data in your app.

Here are some ideas for apps:





Presentations are due for comments 3 weeks before the presentation date.

The mini web app should be ready and functional at the dat of the seminar. All code should be available for other class participants to check out. You are highly encouraged to use git hub as the repository for your code.

Tips for your presentation

The presentation should:

  1. introduce to the class the javascript concept you are using in your web-app,
  2. focus on why you chose to use one technology over the other, if you tried more then one concept show the way you experimented and measured key software engineering metrics such as code performance, readability, reusability etc.
  3. while you are requested to show your work do not show us heaps of code, instead focus on the interesting parts of your code that highlight implementation decisions.
  4. A demo of the working app is required

Learning outcome

In the end students know about typical components of a Java Script based system, they can communicate sophisticated technological matters to their peers and they can summarize this in a written report.

VERY IMPORTANT INFORMATION

READ THIS PAGE: Hints and Rules for the seminar

Important Dates

July 1st : Seminar pre-meeting.

Seminar Dates: September 28 - October 2

Room: Rostlab seminar room I12

ROOM CHANGE: on Wednesday September 30th we will meet in room 01.11.018 instead of the Rostlab seminar room.

Presentation Schedule

Date Time Topic Assigned to Slides Source
Sep 28 10:00 Language basics -- variables, loops, conditionals etc. Christian Schnelzer

Alfredo Dalí Alvarado

slides source
Sep 28 11:00 Object Oriented javascript Adrian Thilo

Gabriel Branderský

slides source
Sep 29 10:00 Javascript Module Pattern Sirma Gjorgievska

Johannes Fischer

slides source
Sep 29 11:00 Data processing and validation using javascript Shyam Debsarkar

Jimmy Abu Al Denien

slides source
Sep 30 10:00 Javascript and the DOM - using jQuery and other foundation libraries to construct and manipulate the UI Stefan Reu

Amar Saljic

slides source
Sep 30 11:00 The Angular.JS MVW Framework Sri Vishnu Totakura

Shivguru Rao Bhimasenarao Visweswara Rao

slides source
Oct 1 10:00 Data visualization using Raphael, D3 Philipp Müller

Alejandro Valdes Valdes w

slides source
Oct 1 11:00 Server side JavaScript with Node.js Dominik Oppmann

Michael Remmler

slides source
Oct 2 10:00 Build tools, continuous integration and distribution Nikolai Gruschke

Michael Mohrle

slides source
Oct 2 11:00 EcmaScript 6 (es6) language features Jan Smarschevski

Robin Gloster

slides source

References

  1. JavaScript: The Definitive Guide, 6th Edition http://shop.oreilly.com/product/9780596805531.do
  2. (Highly recommended:) JavaScript: The Good Parts http://shop.oreilly.com/product/9780596517748.do
  3. http://www.htmlgoodies.com/beyond/javascript/some-javascript-object-prototyping-patterns.html
  4. http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
  1. http://jquery.com
  2. http://d3js.org
  3. http://raphaeljs.com
  4. http://nodejs.org
  5. http://jqueryui.com
  6. http://www.jslint.com/lint.html
  7. http://jsfiddle.net
  8. http://www.crockford.com
  9. http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
  10. Advanced Reading JavaScript Garden - the most quirky parts of the JavaScript programming language https://github.com/BonsaiDen/JavaScript-Garden/tree/master/doc/en
  11. RECOMMENDED VIDEO http://www.paulirish.com/2010/10-things-i-learned-from-the-jquery-source/
Personal tools