Main page | Study Branches/Specializations | Groups of Courses | All Courses | Roles                Instructions

A course is the basic teaching unit, it's design as a medium for a student to acquire comprehensive knowledge and skills indispensable in the given field. A course guarantor is responsible for the factual content of the course.
For each course, there is a department responsible for the course organisation. A person responsible for timetabling for a given department sets a time schedule of teaching and for each class, s/he assigns an instructor and/or an examiner.
Expected time consumption of the course is expressed by a course attribute extent of teaching. For example, extent = 2 +2 indicates two teaching hours of lectures and two teaching hours of seminar (lab) per week.
At the end of each semester, the course instructor has to evaluate the extent to which a student has acquired the expected knowledge and skills. The type of this evaluation is indicated by the attribute completion. So, a course can be completed by just an assessment ('pouze zápočet'), by a graded assessment ('klasifikovaný zápočet'), or by just an examination ('pouze zkouška') or by an assessment and examination ('zápočet a zkouška') .
The difficulty of a given course is evaluated by the amount of ECTS credits.
The course is in session (cf. teaching is going on) during a semester. Each course is offered either in the winter ('zimní') or summer ('letní') semester of an academic year. Exceptionally, a course might be offered in both semesters.
The subject matter of a course is described in various texts.

BI-TWA.21 Design of Web Applications Extent of teaching: 2P+2C
Instructor: Bernhauer D. Completion: Z,ZK
Department: 18102 Credits: 5 Semester: Z

Annotation:
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.

Lecture syllabus:
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

Seminar syllabus:
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

Literature:
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.

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.

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-TWA/.

The course is also part of the following Study plans:
Study Plan Study Branch/Specialization Role Recommended semester
BI-TI.21 Computer Science 2021 (in Czech) V 5
BI-UI.21 Artificial Intelligence 2021 (in Czech) V 5
BI-WI.21 Web Engineering 2021 (in Czech) PS 5
BI-PV.21 Computer Systems and Virtualization 2021 (in Czech) V 5
BI-SI.21 Software Engineering 2021 (in Czech) V 5
BI-PG.21 Computer Graphics 2021 (in Czech) V 5
BI-SPOL.21 Unspecified Branch/Specialisation of Study VO 5
BI-PI.21 Computer Engineering 2021 (in Czech) V 5
BI-MI.21 Business Informatics 2021 (In Czech) V 5
BI-IB.21 Information Security 2021 (in Czech) V 5
BI-PS.21 Computer Networks and Internet 2021 (in Czech) V 5


Page updated 24. 4. 2024, semester: Z/2020-1, Z/2019-20, Z/2023-4, Z/2021-2, L/2022-3, Z/2024-5, L/2019-20, Z/2022-3, L/2020-1, L/2021-2, L/2023-4, Send comments to the content presented here to Administrator of study plans Design and implementation: J. Novák, I. Halaška