Design of Web Applications
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BI-TWA.21 | Z,ZK | 5 | 2P+2C | Czech |
- Course guarantor:
- David Bernhauer
- Lecturer:
- David Bernhauer
- Tutor:
- David Bernhauer, Filip Glazar
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
The basic course of web application development. Initially, the students become familiar with HTTP and its possibilities and partly with some properties of language describing the structure (HTML) and presentation of document on the Web (CSS). These skills provide the necessary basis for the development of Web applications, which will be demonstrated in modern libraries facilitate the development of Web pages applications.
Server side will be demonstrated on PHP technology using frameworks Symfony 2, Doctrine 2.
Developments on the client side will be demonstrated using a JavaScript language with library jQuery and possibly MV* framework React.
- Requirements:
-
The course requires knowledge of OOP in the range of previous courses of recommended passage through the study plan. Furthermore, knowledge of relational databases, software engineering methods and basics of computer networks are required.
It is recommended to take the optional course BI-PHP before enrolling in this course, in which the syntax of PHP is taught and the use of other tools that facilitate development in this language is demonstrated.
- Syllabus of lectures:
-
1. Protocol HTTP and language HTML
2. Cascading Style Sheets (CSS)
3. Tools for development of web applications
4. Design patterns and architecture of web applications
5. State of a web application, data storage.
6. Design and processing of forms (user interaction).
7. Web services
8. JS, event processing and Document Object Model (DOM)
9. Modern web approaches I
10. Authentication and authorization
11. Web application security
12. Modern web approaches II
13. Case Studies / Team presentation
- Syllabus of tutorials:
-
1. HTML
2. CSS
3. Introduction to Dynamic Web Applications
4. Introduction to Symfony
5. Introduction to Doctrine
6. Symfony: Forms
7. Doctrine: Association Mapping, Symfony: Services
8. REST API
9. JavaScript
10. AJAX
11. Security
12. Symfony: Authentication and Authorization
13. Team presentation
- Study Objective:
-
Students are able to design and implement a complete web application (both the client side and the server side). PHP is the most popular programming language for writing dynamic web applications, and is used as the primary programming language of this module. Students learn to design and implement part of enterprise system, for instance, an e-shop, a gallery, a shared calendar, and so on. Tools for quick and secure application development are introduced.
- Study materials:
-
1. Frain B. : Responsive Web Design with HTML5 and CSS: Develop future-proof responsive websites using the latest HTML5 and CSS techniques (3rd Edition). Packt Publishing, 2020. ISBN 978-1839211560.
2. Daigneau R. : Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services. Addison-Wesley, 2012. ISBN 978-0321544209.
3. Mitchell L.J. : PHP Web Services. O'Reilly Media, 2013. ISBN 978-1449356569.
4. Elliott E. : Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Modern JS Libraries. O'Reilly Media, 2014. ISBN 978-1491950296.
- Note:
- Further information:
- https://courses.fit.cvut.cz/BI-TWA/
- Time-table for winter semester 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Wed Thu Fri - Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Bachelor Specialization Information Security, in Czech, 2021 (elective course)
- Bachelor Specialization Management Informatics, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Engineering, in Czech, 2021 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2021 (VO)
- Bachelor Specialization Web Engineering, in Czech, 2021 (PS)
- Bachelor Specialization Artificial Intelligence, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Science, in Czech, 2021 (elective course)
- Bachelor Specialization Software Engineering, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2021 (elective course)
- Bachelor Specialization Information Security, in Czech, 2024 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2024 (VO)
- Bachelor Specialization Management Informatics, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2024 (elective course)
- Bachelor Specialization Software Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Web Engineering, in Czech, 2024 (PS)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2024 (elective course)
- Bachelor Specialization Artificial Intelligence, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Science, in Czech, 20214 (elective course)