NSWI142: Programming of Web Applications

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
2.10.2023 Web Fundamentals
9.10.2023 Cascading Style Sheets
16.10.2023 Web Applications, HTTP Server, CGI
23.10.2023 PHP Introduction
30.10.2023 PHP Language
6.11.2023 Web Applications with PHP
13.11.2023 Design Patterns and API
20.11.2023 JavaScript Introduction
27.11.2023 JavaScript Language
4.12.2023 Cancelled, PHP Assignment [working draft]
11.12.2023 Web Applications with JavaScript
18.12.2023 [CS] Browser API, [EN] Security
1.1.2024 Cancelled
8.1.2024 [CS] Security , [EN] Cancelled

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 Monday Tuesday 10:40 Tuesday 17:20 Thursday 9:00, 12:20 Friday 10:40
1 2.10.2023
HTML, HTTP
3.10.2023
HTML, HTTP
3.10.2023
Cancelled
5.10.2023
Cancelled
6.10.2023
Cancelled
2 9.10.2023
HTML Forms, CSS Introduction
10.10.2023
HTML Forms, CSS Introduction
10.10.2023
HTML, HTTP
12.10.2023
HTML, HTTP
13.10.2023
HTML, HTTP
3 16.10.2023
CSS Grid & FLex
17.10.2023
CSS Grid & FLex
17.10.2023
HTML Forms, CSS Introduction
19.10.2023
HTML Forms, CSS Introduction
20.10.2023
HTML Forms, CSS Introduction
4 23.10.2023
PHP Introduction
24.10.2023
PHP Introduction
24.10.2023
CSS Grid & FLex
26.10.2023
CSS Grid & FLex
27.10.2023
CSS Grid & FLex
5 30.10.2023
PHP server-side
31.10.2023
PHP server-side
31.10.2023
PHP Introduction
2.11.2023
Cancelled
3.11.2023
PHP Introduction
6 6.11.2023
PHP Language
7.11.2023
PHP Language
7.11.2023
PHP server-side
9.11.2023
PHP Introduction
10.11.2023
PHP server-side
7 13.11.2023
PHP & SQL
14.11.2023
PHP & SQL
14.11.2023
PHP Language
16.11.2023
PHP server-side
17.11.2023
Cancelled
8 20.11.2023
JS introduction
21.11.2023
JS introduction
21.11.2023
PHP & SQL
23.11.2023
PHP Language
24.11.2023
PHP Language
9 27.11.2023
JS client-side
28.11.2023
JS client-side
28.11.2023
JS introduction
30.11.2023
PHP & SQL
1.12.2023
PHP & SQL
10 4.12.2023
Cancelled
5.12.2023
Cancelled
5.12.2023
Optional consultation
7.12.2023
Optional consultation
8.12.2023
Cancelled
11 11.12.2023
JS fetch
12.12.2023
JS fetch
12.12.2023
JS client-side
14.12.2023
JS introduction
15.12.2023
JS introduction
12 18.12.2023
JavaScript
19.12.2023
JavaScript
19.12.2023
JS fetch
21.12.2023
JS client-side
22.12.2023
Cancelled
13 1.1.2024
Cancelled
2.1.2024
Cancelled
2.1.2024
Cancelled
4.1.2024
JS fetch
5.1.2024
JS client-side, fetch
14 8.1.2024
Cancelled
9.1.2024
Cancelled
9.1.2024
JavaScript
11.1.2024
JavaScript
12.1.2024
JavaScript

Prerequisites

For technical reasons, we have dismissed all formal prerequisites of this course. However, we expect that the attendees have the following knowledge.

Contact