Course details

Internet Applications

WAP Acad. year 2023/2024 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 (60 pts written part, 60 pts oral part)
  • 40 pts projects

Department

Lecturer

Instructor

Course Web Pages

All information including recommended links are available in Moodle.

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.
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.

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, event 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

  • Alcorn, W., Frichot, C., Orru, M.: The Browser Hacker's Handbook. John Wiley & Sons, 2014. ISBN 978-1118662090.
  • 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.
  • 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.
  • 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
  • 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.
  • 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, MIME, DNS, URI.
  2. JavaScript introduction.
  3. Advanced development in JavaScript, TypeScript.
  4. Markup languages and data serialization.
  5. Frontend development (same-origin policy, CSS, client JavaScript, events, interactive a single-page applications, frameworks).
  6. Web protocols (TCP/IP, HTTP) and related speed improvements of web applications.
  7. Web APIs and web services (XMLRPC, WS, REST).
  8. Backend development (server-side rendering, Node.js, Express).
  9. Web application security.
  10. 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 secific web-related challenge. Students can solve their own problem.

Progress assessment

  • Project on JavaScript objects and their practical deployment. Development of a web application. Project needs to be submitted in time. There is no replacement for the missed submission.
  • Final exam, minimal required number of points is 24.

Exam prerequisites

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

Course inclusion in study plans

Back to top