Lecturer(s)
|
-
Beran Miroslav, Ing.
-
Rejšek Václav, 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.
|