NSWI142: Programming of Web Applications 2025/2026
Please note that this course is not recommended for first-year students!
The web application technologies are in constant development. Hence, some information on the slides may become outdated despite our best efforts. If you have any questions or suggestions, please contact us.
Lectures
Please note that the Power Point slides have notes below which are not visible during regular presentation. These notes typically contain useful remarks and links to related work so do not overlook them.
| Date | Content |
|---|---|
1.10.2025 |
Web Fundamentals |
8.10.2025 |
Cascading Style Sheets |
15.10.2025 |
Web Applications, CGI, PHP |
22.10.2025 |
HTTP Server, PHP , Supporting materials |
29.10.2025 |
Web Applications with PHP , Supporting materials |
5.11.2025 |
Design Patterns and API |
12.11.2025 |
CS: Canceled, JavaScript Introduction , Supporting materials |
19.11.2025 |
EN: Canceled, JavaScript Introduction , Supporting materials |
26.11.2025 |
Canceled |
3.12.2025 |
Web Applications with JavaScript , Supporting materials |
10.12.2025 |
JavaScript Language |
17.12.2025 |
PHP Language |
7.1.2026 |
Security |
Practicals
There is no special software required for this course, only a general IDE (consider using Visual Studio Code), SSH terminal, and any tool capable of SFTP/SCP file transfers. You will be given account on our server Webik, where you can deploy and debug your assignments. Optionally, you might want to consider installing web server (e.g., Apache) PHP, Nodejs, and MySQL database system on your computer as well.
There are practicals ("cvičení") currently scheduled in SIS + one virtual lab (not scheduled). Make sure you are enrolled to one of them and do not change your lab after the semester begins. The virtual lab is designated for students who either repeat the course (and actually did some nontrivial work in the labs last year) and students with special needs.
Most of the assignments will be only in ReCodEx. Each lab will have associated group in ReCodEx. If you have any trouble accessing the ReCodEx or you experience problems with the assignments report to your racticals/labs teacher(s).
Attending practicals is not mandatory, yet strongly recommended, see grading. Bellow you can find materials used in practicals/labs.
| Week | Tuesday, Stenchlák | Tuesday, Bártík | Wednesday, Škoda | Friday, Riedlová |
|---|---|---|---|---|
| 1 |
Browser, tools and a static website |
Browser, tools and a static website |
Browser, tools and a static website |
Browser, tools and a static website |
| 2 |
HTML Form |
HTML Form |
HTML Form |
HTML Form |
| 3 |
CSS |
CSS |
CSS |
CSS |
| 4 |
PHP introduction |
PHP introduction |
PHP introduction |
PHP introduction |
| 5 |
Canceled |
Canceled |
PHP application I. |
PHP application I. |
| 6 |
PHP application I. |
PHP application I. |
PHP application II. |
PHP application II. |
| 7 |
PHP application II. |
PHP application II. |
Canceled |
Canceled |
| 8 |
SQL |
SQL |
SQL |
SQL |
| 9 |
JavaScript [Bártík] |
JavaScript |
JavaScript [Bártík] |
JavaScript |
| 10 |
JavaScript client [Škoda] |
JavaScript client |
JavaScript client |
JavaScript client |
| 11 |
Model-View-Controller [Škoda] |
Model-View-Controller |
Model-View-Controller |
Model-View-Controller |
| 12 |
Fetch |
Fetch |
Fetch |
Fetch |
| 13 |
Improving user interface |
Improving user interface |
Improving user interface |
Improving user interface |
Prerequisites
For technical reasons, we have dismissed all formal prerequisites of this course. However, we expect that the attendees have the following knowledge.
-
Programming skills in C# language (or C++, or Java) on the level expected after passing the Programming I and II courses (minimum).
Test yourself: Write a code (under 15 minutes) that finds all prime numbers from 2 to given limit N. -
Basic familiarity with networking and TCP/IP protocols, and HTML&CSS, at the level taught in NSWI141 course.
Test yourself: Write a simple HTML page decorated with CSS. -
Fundamental working knowledge of relational databases and SQL language.
Test yourself: What does the following query do?
SELECT subjects.id, subjects.name, students.id, students.name FROM students JOIN subscribed ON subscribed.studentId = students.id JOIN subjects ON subscribed.subjectId = subjects.id ORDER BY subjects.name, students.name
Contact
- Petr Škoda
- Unofficial/Immediate Feedback Form