|
|
Main menu for Browse IS/STAG
Course info
KIV / PIA-E
:
Course description
Department/Unit / Abbreviation
|
KIV
/
PIA-E
|
Academic Year
|
2023/2024
|
Academic Year
|
2023/2024
|
Title
|
Internet Application Programming
|
Form of course completion
|
Exam
|
Form of course completion
|
Exam
|
Accredited / Credits
|
Yes,
6
Cred.
|
Type of completion
|
Written
|
Type of completion
|
Written
|
Time requirements
|
Lecture
3
[Hours/Week]
Tutorial
2
[Hours/Week]
|
Course credit prior to examination
|
Yes
|
Course credit prior to examination
|
Yes
|
Automatic acceptance of credit before examination
|
No
|
Included in study average
|
YES
|
Language of instruction
|
English
|
Occ/max
|
|
|
|
Automatic acceptance of credit before examination
|
No
|
Summer semester
|
0 / -
|
0 / -
|
0 / -
|
Included in study average
|
YES
|
Winter semester
|
0 / -
|
10 / -
|
1 / -
|
Repeated registration
|
NO
|
Repeated registration
|
NO
|
Timetable
|
Yes
|
Semester taught
|
Winter semester
|
Semester taught
|
Winter semester
|
Minimum (B + C) students
|
10
|
Optional course |
Yes
|
Optional course
|
Yes
|
Language of instruction
|
English
|
Internship duration
|
0
|
No. of hours of on-premise lessons |
|
Evaluation scale |
1|2|3|4 |
Periodicity |
každý rok
|
Evaluation scale for credit before examination |
S|N |
Periodicita upřesnění |
|
Fundamental theoretical course |
No
|
Fundamental course |
No
|
Fundamental theoretical course |
No
|
Evaluation scale |
1|2|3|4 |
Evaluation scale for credit before examination |
S|N |
Substituted course
|
None
|
Preclusive courses
|
N/A
|
Prerequisite courses
|
N/A
|
Informally recommended courses
|
N/A
|
Courses depending on this Course
|
N/A
|
Histogram of students' grades over the years:
Graphic PNG
,
XLS
|
Course objectives:
|
Give the students fundamental knowledge and skills for developing server-side applications in N-tier and service-oriented architecture - get accustomed with fundamental principles, learn practical skills in developing medium-sized applications.
|
Requirements on student
|
Handing in an individual work - web application (55% of course mark), written exam (45% of mark). To pass the course, the individual work must be handed in time and achieve at least 1/2 of the total assessment score. The deadline for fulfilling credit requirements is the end of January.
|
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
11. Containers, Docker
12. Microservice architecture, its pitfalls
|
Activities
|
|
Fields of study
|
|
Guarantors and lecturers
|
|
Literature
|
-
Basic:
Richardson, Chris. Microservices Patterns with Examples in Java. Manning Publications, 2019. ISBN 9781617294549.
-
Basic:
Stock, Andrew van der; Glas, Brian; Smithline Neil; Gigler Torsten. OWASP Top Ten.
-
Basic:
Fowler, Martin. Patterns of enterprise application architecture. 2003. ISBN 0-321-12742-0.
-
Extending:
Hohpe, Gregor; Woolf, Bobby. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions.. Boston: Addison-Wesley, 2004. ISBN 0-321-20068-3.
-
Extending:
OWASP Web Security Testing Guide
(Saad, Elie; Mitchell, Rickt)
-
Recommended:
Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. University of California, Irvine, 2000.
-
On-line library catalogues
|
Time requirements
|
All forms of study
|
Activities
|
Time requirements for activity [h]
|
Preparation for an examination (30-60)
|
24
|
Contact hours
|
42
|
Individual project (40)
|
90
|
Total
|
156
|
|
Prerequisites
|
Knowledge - students are expected to possess the following knowledge before the course commences to finish it successfully: |
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 - students are expected to possess the following skills before the course commences to finish it successfully: |
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 - students are expected to possess the following competences before the course commences to finish it successfully: |
N/A |
|
Learning outcomes
|
Knowledge - knowledge resulting from the course: |
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 - skills resulting from the course: |
implement a web application in at least one high-level programming language |
independently design and implement a web service interface |
independently design the architecture of a web application with a database backend |
design an efficient use of a data repository with respect to performance |
secure a server-side application against common threat vectors |
Competences - competences resulting from the course: |
N/A |
|
Assessment methods
|
Knowledge - knowledge achieved by taking this course are verified by the following means: |
Continuous assessment |
Written exam |
Test |
Skills - skills achieved by taking this course are verified by the following means: |
Project |
Competences - competence achieved by taking this course are verified by the following means: |
Written exam |
|
Teaching methods
|
Knowledge - the following training methods are used to achieve the required knowledge: |
Interactive lecture |
Practicum |
Self-study of literature |
Task-based study method |
Skills - the following training methods are used to achieve the required skills: |
Skills demonstration |
Individual study |
Competences - the following training methods are used to achieve the required competences: |
Interactive lecture |
|
|
|
|