Students are expected to have:
- Interest working with big data
- Basic knowledge of relational databases and NoSQL databases
- Interest in the Game of Thrones show
- Interest in challenge themselves to do something totally cool
New This Semester: The Game of Thrones Edition
This semester students are getting a chance to build a web site and applications that use data related to the HBO show Game of Thrones. The sixth season of Game of Thrones will start in April and we hope to have our apps ready in time for the new season.
Game of Thrones is a popular HBO TV show based on George R. R. Martin's series of epic fantasy novels "A Song of Ice and Fire". The novels paint a picture of a world that blends realism 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.
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 -- 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):
- the concepts learned in your assigned topic
- how you use the data in your app.
Presentations are due for comments 1 week 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:
- 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.
- 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.
- A demo of the working app is required
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. Keep in mind that the rules on this page supersede any conflicting recommendation on the hints page.
January 29th : Seminar pre-meeting.
Seminar Dates: March 14 - 18
Room: Rostlab seminar room I12
|1||March 14||10:00||Language basics -- grammar, variables, data structures, control structures, conditionals, functions etc.|
|3||March 14||12:00||The module pattern and AMD|
|4||March 15||10:00||The event handling system using using anonymous functions, callbacks, promises etc.|
|5||March 15||11:00||Functional reactive programming frameworks|
|7||March 16||11:00||The MEAN stack|
|8||March 17||10:00||Web development basics: DOM, DOM manipulation, styles|
|9||March 17||11:00||Web development frameworks (Angular, Backbone, React)|
|10||March 17||12:00||Data visualization using SVG, Canvas and framework libraries|
|11||March 18||10:00||Build tools, continuous integration and distribution|
|12||March 18||11:00||EcmaScript 6 (es6) language features|
- RECOMMENDED VIDEO http://www.paulirish.com/2010/10-things-i-learned-from-the-jquery-source/