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.2024 |
Web Fundamentals |
9.10.2024 |
Cascading Style Sheets |
16.10.2024 |
Web Applications, HTTP Server, CGI |
23.10.2024 |
PHP Introduction |
30.10.2024 |
PHP Language |
6.11.2024 |
[EN] Cancelled, [CS] Consulting |
13.11.2024 |
Web Applications with PHP |
20.11.2024 |
Design Patterns and API |
27.11.2024 |
JavaScript Introduction |
11.12.2024 |
JavaScript Language |
11.12.2024 |
Web Applications with JavaScript |
18.12.2024 |
[EN] Consulting, [CS] Invited lecture |
8.1.2025 |
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 | Wednesday | Friday |
---|---|---|---|
1 |
HTML, HTTP |
HTML, HTTP |
HTML, HTTP |
2 |
HTML Forms, CSS |
HTML Forms, CSS |
HTML Forms, CSS |
3 |
CSS Grid & FLex |
CSS Grid & FLex |
CSS Grid & FLex |
4 |
PHP Introduction |
PHP Introduction |
PHP Introduction |
5 |
PHP Server-side |
Cancelled |
Cancelled |
6 |
Cancelled |
PHP Server-side |
PHP Server-side |
7 |
PHP Language |
PHP Language |
PHP Language |
8 |
PHP & SQL |
PHP & SQL |
PHP & SQL |
9 |
Consulting |
Consulting |
Consulting |
10 |
JS Introduction |
JS Introduction |
JS Introduction |
11 |
JS Client-side |
JS Client-side |
JS Client-side |
12 |
JS fetch |
JS fetch |
JS fetch |
13 |
JavaScript |
JavaScript |
JavaScript |
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).
It is recommended to enroll one of the C++/C#/Java basic programming courses before attending this course.
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, deploy it, explain how HTTP works when the browser retrieves the page. -
Fundamental working knowledge of relational databases and SQL language. The home assignments require utilization of SQL database.
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