Course: Internet applications

» List of faculties » FBI » UAI
Course title Internet applications
Course code UAI/310
Organizational form of instruction Lecture + Practice
Level of course Bachelor
Year of study not specified
Frequency of the course In each academic year, in the summer semester.
Semester Summer
Number of ECTS credits 5
Language of instruction Czech
Status of course Compulsory-optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Jelínek Jiří, Ing. CSc.
Course content
Course content and syllabus: 1. Introduction - network environment and its possibilities, overview of communication approaches in internet applications 2. Basic technologies for designing internet applications - WWW, programming languages and their versions, development environments 3. Creating content for the WWW - HTML, JavaScript 4. Creating content for the WWW - CSS, preprocessors 5. Asynchronous and synchronous server-side solutions - principles, differences, Node.js, Java, Python 6. Communication between applications and their components - AJAX and long-polling 7. Communication using WebSockets 8. Other communication techniques - sockets, streaming, WebRTC 9. Advanced APIs and network services and communication with them - standards, principles, practical use in various cases 10. Virtualization of internet applications - cloud and container-based solutions, complex systems 11. IoT and specifics of internet solutions based on it 12. Identity management 13. Role-based access control Exercise content: 1. - 2. WWW creation - design of specific solutions based on HTML, CSS, JavaScript. 3. - 4. Design of applications with communication between components - AJAX, Websockets. 5. - 6. Server solutions - working with Node.js, examples of use, service server implementation, NodeRed tool. 7. - 8. API design - designing your own network service with an emphasis on API, using existing APIs in your own applications. 9. - 10. Designing solutions for edge devices - using Raspberry Pi and ESP 32 to run network services. 11. - 12. Container solutions - implementing services in Docker, practical examples. 13. Designing your own RBAC-based access management system.

Learning activities and teaching methods
Monologic (reading, lecture, briefing), Dialogic (discussion, interview, brainstorming), Demonstration, Practical training
  • Class attendance - 56 hours per semester
  • Preparation for exam - 26 hours per semester
  • Preparation for classes - 48 hours per semester
Learning outcomes
The aim of the course is to provide students with knowledge related to the design and operation of network applications. Emphasis in lectures and exercises is placed on the most common procedures and technologies, so that students are able to apply them in practice. Thematically, the course focuses mainly on rapid prototyping, communication, security features and efficient operation of Internet applications.
Upon completion of the course the student will be able to use modern technologies for web applications usage. He will also be able to design applications using appropriate network communication and integrate other services available on the Internet into the proposed applications. In the field of security, the student will have knowledge of identity management and setting of security constraints based on roles, including their integration into their own applications.
Prerequisites
A prerequisite for this course is successful completion of the course OOP I and II.

Assessment methods and criteria
Written examination, Analysis of student's work activities (technical works), Test, Interim evaluation

To successfully complete the course, it is necessary to solve continuous and homework tasks in exercises, pass a theoretical test, and pass an oral exam. During both regular and make-up credit terms, as well as at every exam session, all aids are prohibited except those permitted by the instructor.
Recommended literature
  • GEEWAX, John J. API design patterns. Simon and Schuster, 2021.
  • GOUGH, James; BRYANT, Daniel; AUBURN, Matthew. Mastering API architecture: design, operate, and evolve API-based systems. O'Reilly Media, Inc.". 2021.
  • HASSAN, Qusay F. (ed.). Internet of things A to Z: technologies and applications. John Wiley & Sons, 2018.. ISBN 9781119456773.
  • HERRON, David. Node. js Web Development: Server-side web development made easy with Node 14 using practical examples. Packt Publishing Ltd. 2020.
  • KANE, Sean P.; MATTHIAS, Karl. Docker: Up & Running: Shipping Reliable Containers in Production. O'Reilly Media, 2018.. ISBN 9781492036746.
  • KUMAR, Akshi. Web Technology: Theory and Practice. CRC Press, 2018. ISBN 9781351029896.
  • LAURENČÍK, Marek. Tvorba www stránek v HTML a CSS. Grada Publishing as., 2019.
  • W3Schools. Online web tutorials.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester