Course details
Internet Applications
WAP Acad. year 2021/2022 Summer semester 5 credits
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
Completion
Time span
- 39 hrs lectures
- 13 hrs projects
Assessment points
- 60 pts final exam (written part)
- 40 pts projects
Department
Lecturer
Instructor
Burget Radek, doc. Ing., Ph.D. (DIFS)
Koutenský Michal, Ing. (DIFS)
Polčák Libor, Ing., Ph.D. (DIFS)
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
- Introduction into internet applications.
- JavaScript introduction.
- Advanced development in JavaScript, TypeScript.
- Markup languages and data serialization.
- Internet and web (TCP/IP, DNS, URI, MIME, HTTP).
- Frontend development (HTML, DOM, CSS, client-side JavaScript, frameworks).
- Web APIs and web services (XMLRPC, WS, REST).
- Backend development (server-side rendering, Node.js, Express).
- Single page web applications (Ajax, client-side rendering, frameworks).
- Web application security.
- 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
- Programme IT-MGR-2, field MBI, MMM, MSK, any year of study, Elective
- Programme IT-MGR-2, field MBS, MIS, any year of study, Compulsory-Elective group N
- Programme IT-MGR-2, field MGM, any year of study, Compulsory-Elective group I
- Programme IT-MGR-2, field MIN, any year of study, Compulsory-Elective group S
- Programme IT-MGR-2, field MPV, any year of study, Compulsory-Elective group D
- Programme MITAI, field NADE, NNET, any year of study, Compulsory
- Programme MITAI, field NBIO, NCPS, NEMB, NGRI, NHPC, NIDE, NISD, NISY, NISY up to 2020/21, NMAL, NMAT, NSEC, NSEN, NSPE, NVER, NVIZ, any year of study, Elective