Course: Internet Application Programming

« Back
Course title Internet Application Programming
Course code KIV/PIA-E
Organizational form of instruction Lecture + Tutorial
Level of course Master
Year of study not specified
Semester Winter
Number of ECTS credits 6
Language of instruction English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Daněk Jakub, Ing.
Course content
1. Administrative, WEB, HTTP, web server basics, dynamic content generation approaches and technologies 2.-3. Definition, design and architecture of web applications 4. Web services, websockets 5. Asynchronous communication 6. User Experience, Web Design, SEO 7. Working with a database, transactions, ORM 8. ORM, Performance 9. Profiling, defect analysis, Testing, Debugging 10. Web Application Security I 11. Web Application Security II 12. Microservice architecture, its pitfalls

Learning activities and teaching methods
  • Preparation for an examination (30-60) - 24 hours per semester
  • Individual project (40) - 90 hours per semester
  • Contact hours - 42 hours per semester
prerequisite
Knowledge
basic knowledge of HTML, CSS, JavaScript and HTTP
understand the principles and methods of object-oriented or functional programming, e.g. in the Java or JavaScript language.
understand the principles of relational database model
Recommended courses: KIV/DB1, KIV/UPS, KIV/WEB
Skills
design and implement a static website in HTML and CSS
design and develop a simple web application
design a small- to medium-size data model
use a relational database system using SQL
be well-versed in at least one high-level programming language
Competences
N/A
learning outcomes
Knowledge
architectural approaches to the design of server-side applications
the usability and accessibility aspects of web applications
common approaches to web service design
data repositories for web applications and their impact on performance
basic web application security rules
specific approaches for testing and operation of web application
common web applications design patterns
Skills
independently design the architecture of a web application with a database backend
independently design and implement a web service interface
implement a web application in at least one high-level programming language
design an efficient use of a data repository with respect to performance
secure a server-side application against common threat vectors
Competences
N/A
teaching methods
Knowledge
Practicum
Self-study of literature
Interactive lecture
Task-based study method
Skills
Skills demonstration
Individual study
Competences
Interactive lecture
assessment methods
Knowledge
Continuous assessment
Written exam
Test
Skills
Project
Competences
Written exam
Recommended literature
  • Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. University of California, Irvine, 2000.
  • Fowler, Martin. Patterns of enterprise application architecture. 2003. ISBN 0-321-12742-0.
  • Hohpe, Gregor; Woolf, Bobby. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions.. Boston: Addison-Wesley, 2004. ISBN 0-321-20068-3.
  • Richardson, Chris. Microservices Patterns with Examples in Java. Manning Publications, 2019. ISBN 9781617294549.
  • Stock, Andrew van der; Glas, Brian; Smithline Neil; Gigler Torsten. OWASP Top Ten.


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