WEB APPLICATIONS AND TECHNOLOGIES

Academic year 2017/2018 Syllabus of previous years
Official course title TECNOLOGIE E APPLICAZIONI WEB
Course code CT0142 (AF:212562 AR:97057)
Modality On campus classes
ECTS credits 6
Degree level Bachelor's Degree Programme
Educational sector code INF/01
Period 2nd Semester
Course year 3
Where VENEZIA
Moodle Go to Moodle page
Course objectives
This course provides in-depth insights to the cutting-edge technologies that every modern web developer is supposed to master. After an initial high-level introduction of the protocols and patterns empowering the modern web, students will be guided to many of the technologies commonly involved in the development of rich web applications. Based on Javascript, the de-facto language for the web, the course will span from web-based middleware running on the Node.js runtime, NOSQL and in-memory databases, to front-end frameworks like the popular Google Angular and Twitter Bootstrap.
Finally, we discuss how web technologies are now effectively used for the agile development of software previously confined to native applications, like mobile applications and classical GUI programs for desktop environments.
Pre-requirements
Knowing the Javascript programming language is a useful prerequisite although not strictly required. During the course, some of the most important aspects of the language will be summarized
Contents
HTTP and beyond
----------------------------
- The HTTP protocol
- Cookies
- Authentication: JSON web token, Basic and Digest Access Authentication
- Websocket
- REST api
- Message-oriented middleware
- Javascript, Coffee-script and TypeScript


Node.js server-side Javascript runtime
----------------------------
- History and overview
- The Npm package manager
- Async non-blocking IO model and event-driven programming
- Interfacing with the operating system
- HTTP APIs


Storage
----------------------------
- MongoDB
- REDIS


Middleware
----------------------------
- Express


Front-end
----------------------------
- Bootstrap
- Angular


Mobile hybrid and progressive apps
----------------------------
- jQuery Mobile
- Apache Cordova
- Ionic framework


Cross-platform web-based native applications
----------------------------
- Electron framework
Referral texts
Simon Holmes, "Getting MEAN with Mongo, Express, Angular, and Node", Manning Publications, 2015. ISBN-10: 1617292036
Eric Elliott, "Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Modern JS Libraries", O'Reilly Media, 2014. ISBN-10: 1491950293
Fernando Doglio, "Pro REST API Development with Node.js", Apress, 2015. ISBN-10: 1484209184
Steve Fenton, "Pro Typescript", Apress, 2014. ISBN 978-1-4302-6790-4
Adam Freeman, "Pro Angular", Apress 2017. ISBN 978-1-4842-2307-9
Type of exam
oral
Assessment methods
Development of a software project and a written essay that will be further discussed during an oral exam. The exam is designed to test the student ability to develop a modern web application and evaluate his/her understanding of the theoretical aspects related to web technologies.
Teaching methods
The course is composed by frontal lessons and some laboratory sessions to experiment with the concepts and technologies under study.
Teaching language
Italian
Other
Sustainability
  • University credits of sustainability: RI
  • Use of open-source software
Last update of the programme
08/04/2018