Code: 18INTA |
Development of internet applications |
Lecturer: Mgr. Dana Majerová Ph.D. |
Weekly load: 2P+2C |
Completion: GA |
Department: 14118 |
Credits: 4 |
Semester: S |
- Description:
-
The lectures provide an overview of modern technologies for the development of web applications. Students will learn basic web languages and concepts (HTML, URL, etc.) and they will also be introduced to relational database systems. The tutorials are dedicated to practical examples of building web applications, from the simplest to more advanced. The course is oriented primarily towards backend technologies and using the Python languages, but covers also frontend frameworks and JavaScript.
- Contents:
-
1. WWW and web design principles, HTML language, introduction to CSS.
2. Overview of tools and frameworks for static web design.
3. Client-side and server-side scripting technologies, introduction to JavaScript.
4. The Internet protocol suite (IP, TCP, HTTP).
5. Python language environment and its use on the web.
6. Object-oriented programming and advanced features of the Python language.
7. Introduction to the Django framework for web application development.
8. Django template system, mapping URLs to views.
9. Introduction to relational database systems, SQL and the ORM system.
10. Using web forms and secure input data processing.
11. Working with files and directories on the web server, handling file uploads.
12. Adding application state: cookies, session.
13. Principles of web application security and deployment on a web server.
- Seminar contents:
-
1. WWW and web design principles, HTML language, introduction to CSS.
2. Client-side scripting technologies, introduction to JavaScript.
3. General use of the Python language, interactive shell, using its basic web server.
4. Using Python modules and packages.
5. Installation of the Django framework, creation of the first project.
6. Using the Django template system, mapping URL to views.
7. The HTTP protocol, HttpRequest and HttpResponse objects in Django.
8. Database management systems and object-relational mapping in Django.
9. Definition of custom models and using database migrations.
10. Using web forms and secure input data processing.
11. Working with files and directories on the web server, handling file uploads.
12. Adding application state: cookies, session.
13. Web application security and deployment to a web server with public access.
- Recommended literature:
-
Key literature:
[1] W. S. Vincent, Django for Beginners: Build Websites with Python and Django, WelcomeToCode 2020, ISBN 978-1735467207.
[2] M. Baker, Secure Web Application Development: A Hands-On Guide with Python and Django, Apress 2022, ISBN 9781484285954.
[3] B. Shaw, S. Badhwar, B. Chandra, C. Guest, Web Development with Django: A definitive guide to building modern Python web applications using Django 4, 2nd Edition, Packt Publishing 2023, ISBN 978-1803230603.
Recommended literature:
[1] W. S. Vincent, Django for APIs: Build web APIs with Python and Django, WelcomeToCode 2020, ISBN 978-1735467221.
[2] J. Kolouch, P. Bašta, CyberSecurity, CZ.NIC 2019, ISBN 978-80-88168-31-7. https://knihy.nic.cz/#cybersecurity
[3] D. Croxen-John, J. Van Tonder, Optimalizace webových stránek, Lingea 2022, ISBN 978-80-7508-716-4.
- Keywords:
- HTML and CSS languages, scripting technologies, JavaScript, Python, database applications.
Abbreviations used:
Semester:
- W ... winter semester (usually October - February)
- S ... spring semester (usually March - June)
- W,S ... both semesters
Mode of completion of the course:
- A ... Assessment (no grade is given to this course but credits are awarded. You will receive only P (Passed) of F (Failed) and number of credits)
- GA ... Graded Assessment (a grade is awarded for this course)
- EX ... Examination (a grade is awarded for this course)
- A, EX ... Examination (the award of Assessment is a precondition for taking the Examination in the given subject, a grade is awarded for this course)
Weekly load (hours per week):
- P ... lecture
- C ... seminar
- L ... laboratory
- R ... proseminar
- S ... seminar