13S114PIA - Internet Applications Programming

Course specification
Course title Internet Applications Programming
Acronym 13S114PIA
Study programme Software Engineering
Type of study bachelor academic studies
Lecturer (for classes)
Lecturer/Associate (for practice)
Lecturer/Associate (for OTC)
ESPB 6.0 Status elective
Condition Knowledge of HTML and CSS technologies, and basic knowledge of JavaScript programming language. Passed subject Database 1 and good knowledge of SQL.
The goal Introducing students to the basic concepts of developing multi-layered Internet applications and applications based on microservice architecture. Students will learn about markup languages, scripting languages, network protocols, interactive graphics, event-driven programming, and databases, and see how they all work together to deliver inspiring web applications.
The outcome Students will be able to design, implement and test multi-layered and microservice applications of the necessary complexity using the most effective methods, modern tools, and technologies. Students will learn to use relational and non-relational databases in developing Internet applications. Students will also learn how to connect to other Internet sources and web services.
URL to the subject page
Contents of lectures Basic concepts of web applications. Designing multi-layered applications. Designing microservice applications. Development of a web application on the client side. Development of a web application on the server side. Connecting the client and server sides. Relational and non-relational databases in web technologies. Use of patterns: MVC, MVP, MVT. Concepts and usage of web services.
Contents of exercises Presentation of a huge number of examples from practice. An example of the gradual development of complex applications of the latest generation. Independent creation of a multi-layer internet application using the MEAN (Mongo, Express, Angular, NodeJS) technology stack. Working with new frameworks.
  1. Simon Holmes, Clive Herber, "Getting MEAN with Mongo, Express, Angular, and Node", 2nd Edition, Manning, May 2019. (Original title)
  2. Yakov Fain, Anton Moiseev, "Angular Development with TypeScript", 2nd Edition, Manning, December 2018. (Original title)
  3. Mario Casciaro, Luciano Mammino, "Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques", 3rd Edition, Packt Publishing, July 2020. (Original title)
  4. Dan Vanderkam, "Effective TypeScript: 62 Specific Ways to Improve Your TypeScript", 1st Edition, O'Reilly Media, November 2019. (Original title)
  5. Hugo Filipe Oliveira Rocha, "Practical Event-Driven Microservices Architecture: Building Sustainable and Highly Scalable Event-Driven Microservices", 1st Edition, Apress, November 2021. (Original title)
Number of hours per week during the semester/trimester/year
Lectures Exercises OTC Study and Research Other classes
2 2 1
Methods of teaching Lectures, auditory exercises with demonstrative examples of various web applications, and laboratory exercises in computer classrooms.
Knowledge score (maximum points 100)
Pre obligations Points Final exam Points
Activites during lectures 0 Test paper 35
Practical lessons 0 Oral examination 0
Projects 30
Colloquia 35
Seminars 0