Course details

Internet Applications

WAP Acad. year 2021/2022 Summer semester 5 credits

Current academic year

Internet standards and protocols. Markup languages such as HTML and XML. Technology used for HTML pages building including dynamic pages and JavaScript. Security and vulnerabilities of web applications.

Guarantor

Course coordinator

Language of instruction

Czech

Completion

Credit+Examination (written)

Time span

  • 39 hrs lectures
  • 13 hrs projects

Assessment points

  • 60 pts final exam (written part)
  • 40 pts projects

Department

Lecturer

Instructor

Course Web Pages

Subject specific learning outcomes and competences

Basic knowledge of all kinds of internet applications. Advanced knowledge of their design and implementation. Advanced knowledge of the JavaScript language and its application in the frontend and backend development.

Learning objectives

There are several goals: (1) To obtain the knowledge necessary for development of internet applications. (2) Improve understanding of script (mainly JavaScript) and markup languages and their suitability for internet pages development and data exchange.

Why is the course taught

Most of the humanity accesses internet applications daily. This course aims to provide the knowledge how web applications work. In this course, you will learn JavaScript, even driven development, and TypeScript. Internet applications are often interconnected by web APIs, mobile devices with unreliable connectivity need special handling. However, the knowledge gained in this course can be used not only in companies creating web applications but JavaScript is deployed in many modern applications, for example using electronjs.

Prerequisite knowledge and skills

computer networks, Internet and network protocols, HTML basics

Study literature

  • Ambler, T., Cloud, N.: JavaScript Frameworks for Modern Web Dev. Berkeley, CA: Apress, 2015.
  • Alcorn, W., Frichot, C., Orru, M.: The Browser Hacker's Handbook. John Wiley & Sons, 2014. ISBN 978-1118662090.
  • Kereki, F.: Mastering JavaScript Functional Programming: In-depth guide for writing robust and maintainable JavaScript code in ES8 and beyond, Packt Publishing, 2017. ISBN 978-1787287440.
  • Rozentals, N.: Mastering TypeScript. Packt Publishing Ltd, 2017. ISBN 978-1786468710.
  • Pasquali, S.: Mastering Node. js. Packt Publishing Ltd, 2nd edition, 2017. ISBN 978-1785888960.
  • Casciaro, M., Luciano M.: Node. js Design Patterns. Packt Publishing Ltd, 2016. ISBN 978-1785885587.
  • Tal, L.: Essential Node. js Security. 2017. ISBN 978-1365698552.
  • Tidwell, D.: XSLT, O'Reilly Media; Second edition, 2008. ISBN 978-0596527211.
  • Vlist, E.: RELAX NG A Simpler Schema Language for XML, O'Reilly Media, 2011. ISBN 978-0596004217.
  • Meyer, E.A., Weil, E.: CSS: The Definitive Guide: Visual Presentation for the Web, O'Reilly Media; 4 edition, 2017. ISBN 978-1449393199.
  • Myers, G.J., aj.: The art of software testing, John Wiley and Sons, New Jersey, U.S.A., 3th edition, 2012. ISBN 978-1-118-03196-4.
  • Lombardi, A.: WebSocket: Lightweight Client-Server Communications, O'Reilly Media, Inc, 2015. ISBN 978-1449369279.
  • Kurose, J.F., Ross, K.W.: Computer Networking - A top-Down Approach, Pearson Education Limited, 7th edition, 2017. ISBN 978-1-292-15359-9.
  • Biehl, M.: RESTful API Design (API-University Series) (Volume 3). CreateSpace Independent Publishing Platform, 2016. ISBN 978-1514735169.
  • Dostálek, L., Kabelová, A.: Velký průvodce protokoly TCP/IP a systémem DNS, Computer Press 1999 Praha, 418 s., ISBN 80-7226-193-2
  • Stefanov, S.: JavaScript patterns, O'Reilly Media, 2010. ISBN 978-0-596-80675-0.
  • Flanagan, D.: JavaScript: The Definitive Guide: Activate Your Web Pages (Definitive Guides), O'Reilly Media; 6th edition, 2011. ISBN 978-0596805524.
  • Rauschmayer, A.: Speaking JavaScript: An In-Depth Guide for Programmers, OReilly Media, http://speakingjs.com/es5/index.html.
  • Simpson, K.: Série You Don't Know JS, O'Reilly Media, 2014-2016. https://github.com/getify/You-Dont-Know-JS.
  • Richardson, L., Amundsen, M.,Ruby, S.: RESTful Web APIs: Services for a Changing World, O'Reilly Media, Inc., 2013. ISBN 978-1514735169.
  • Walmsley, P.: Definitive XML Schema, 2nd Edition, Prentice Hall, 2012. ISBN 978-0132886727.
  • Grigorik, I: High-performance browser networking. Beijing: O'Reilly, 2013. ISBN 978-1-4493-4476-4.
  • Pilgrim, M.: Ponořme se do HTML5, CZ.NIC, z. s. p. o., Praha 2014, 278 str., ISBN 978-80-905802-6-8.

Syllabus of lectures

  1. Introduction into internet applications.
  2. JavaScript introduction.
  3. Advanced development in JavaScript, TypeScript.
  4. Markup languages and data serialization.
  5. Internet and web (TCP/IP, DNS, URI, MIME, HTTP).
  6. Frontend development (HTML, DOM, CSS, client-side JavaScript, frameworks).
  7. Web APIs and web services (XMLRPC, WS, REST).
  8. Backend development (server-side rendering, Node.js, Express).
  9. Single page web applications (Ajax, client-side rendering, frameworks).
  10. Web application security.
  11. Data protection in web applications.

Syllabus - others, projects and individual work of students

  • Project 1 aims at JavaScript objects and their practical deployment.
  • Project 2 aims at solving specific web-related challenge. Students can solve their own problem.

Progress assessment

Project on JavaScript objects and their practical deployment. Development of a web application.

Exam prerequisites

At least half of points obtainable during the semester (projects), i.e. 20 points.

Course inclusion in study plans

Back to top