Course detail

Internet Applications

FIT-WAPAcad. year: 2024/2025

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.

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.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Entry knowledge

computer networks, Internet and network protocols, HTML basics

Rules for evaluation and completion of the course

  • 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 prerequisites: At least half of points obtainable during the semester (projects), i.e. 20 points.
  • Final exam, minimal required number of points is 24.

Aims

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.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

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. 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. Richardson, L., Amundsen, M.,Ruby, S.: RESTful Web APIs: Services for a Changing World, O'Reilly Media, Inc., 2013. ISBN 978-1514735169. Pilgrim, M.: Ponořme se do HTML5, CZ.NIC, z. s. p. o., Praha 2014, 278 str., ISBN 978-80-905802-6-8. 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. (CS)

Recommended reading

Alcorn, W., Frichot, C., Orru, M.: The Browser Hacker's Handbook. John Wiley & Sons, 2014. ISBN 978-1118662090.
Casciaro, M., Luciano M.: Node. js Design Patterns. Packt Publishing Ltd, 2016. ISBN 978-1785885587.
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.
Grigorik, I: High-performance browser networking. Beijing: O'Reilly, 2013. ISBN 978-1-4493-4476-4.
Kurose, J.F., Ross, K.W.: Computer Networking - A top-Down Approach, Pearson Education Limited, 7th edition, 2017. ISBN 978-1-292-15359-9.
Lombardi, A.: WebSocket: Lightweight Client-Server Communications, O'Reilly Media, Inc, 2015. ISBN 978-1449369279.
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.
Pasquali, S.: Mastering Node. js. Packt Publishing Ltd, 2nd edition, 2017. ISBN 978-1785888960.
Pilgrim, M.: Ponořme se do HTML5, CZ.NIC, z. s. p. o., Praha 2014, 278 str., ISBN 978-80-905802-6-8.
Rauschmayer, A.: Speaking JavaScript: An In-Depth Guide for Programmers, OReilly Media, http://speakingjs.com/es5/index.html.
Rozentals, N.: Mastering TypeScript. Packt Publishing Ltd, 2017. ISBN 978-1786468710.

Walmsley, P.: Definitive XML Schema, 2nd Edition, Prentice Hall, 2012. ISBN 978-0132886727.

Elearning

Classification of course in study plans

  • Programme MITAI Master's

    specialization NGRI , 0 year of study, summer semester, elective
    specialization NADE , 0 year of study, summer semester, compulsory
    specialization NISD , 0 year of study, summer semester, elective
    specialization NMAT , 0 year of study, summer semester, elective
    specialization NSEC , 0 year of study, summer semester, elective
    specialization NISY up to 2020/21 , 0 year of study, summer semester, elective
    specialization NNET , 0 year of study, summer semester, compulsory
    specialization NMAL , 0 year of study, summer semester, elective
    specialization NCPS , 0 year of study, summer semester, elective
    specialization NHPC , 0 year of study, summer semester, elective
    specialization NVER , 0 year of study, summer semester, elective
    specialization NIDE , 0 year of study, summer semester, elective
    specialization NISY , 0 year of study, summer semester, elective
    specialization NEMB , 0 year of study, summer semester, elective
    specialization NSPE , 0 year of study, summer semester, elective
    specialization NEMB , 0 year of study, summer semester, elective
    specialization NBIO , 0 year of study, summer semester, elective
    specialization NSEN , 0 year of study, summer semester, elective
    specialization NVIZ , 0 year of study, summer semester, elective

  • Programme MPC-KAM Master's 0 year of study, summer semester, elective
  • Programme MPC-TIT Master's 0 year of study, summer semester, elective

Type of course unit

 

Lecture

39 hod., optionally

Teacher / Lecturer

Syllabus

  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.

Project

13 hod., compulsory

Teacher / Lecturer

Syllabus

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

Elearning