Course title, code: Web Programming 2, GAINBAN-WEBPROG2-1

Name and type of the study programme: Computer science engineering, BSc
Curriculum: 2021
Number of classes per week (lectures+seminars+labs): 2+0+2
Credits: 5
Theory: 50 %
Practice: 50 %
Recommended semester: 5
Study mode: full-time
Prerequisites: 100 credit + Web Programming 1
Evaluation type: term mark
Course category: required optional
Language: english
Responsible instructor: Dr. Alvarez Gil Rafael Pedro
Responsible department: Department of Information Technologies
Instructor(s): Dr. Subecz Zoltán
Course objectives:
The aim of the course is the introduction of the standards, methods and tools of the modern web applications development.
Course content - lectures:

- Advanced PHP programming, OOP in PHP, - Namespaces in PHP. Presentation of PHP class libraries. - Implementing the MVC design pattern in PHP. - TCPDF: Creating PDF file with PHP - PHP based frameworks, presentation of a selected framework. - Web services, SOAP-based services. - RESTful web services. - Advanced JavaScript programming. OOP in JavaScript - Server-side programming in JavaScript, Node.js. - Node.js with database - JavaScript based frameworks, presentation of a selected framework.


Course content - labs:

- Advanced PHP programming, OOP in PHP, - Namespaces in PHP. Presentation of PHP class libraries. - Implementing the MVC design pattern in PHP. - TCPDF: Creating PDF file with PHP - PHP based frameworks, presentation of a selected framework. - Web services, SOAP-based services. - RESTful web services. - Advanced JavaScript programming. OOP in JavaScript - Server-side programming in JavaScript, Node.js. - Node.js with database - JavaScript based frameworks, presentation of a selected framework.

Acquired competences:
Knowledge:

- He/she knows the main programming paradigms, programming languages, development tools. His/her knowledge covers the modelling of IT systems, creation of database based systems, as well as the structure, operation and implementation of computer networks. His/her knowledge covers the characteristics of intelligent systems, the specificity of mobile application development, the management of state-of-the art general purpose operating systems, as well as the aspects of IT security. - He/she is familiar with the important software development methodologies, and the notation systems for IT designs and documentation. - He knows the vocabulary and special terms of the engineering profession in the Hungarian and English languages at least on the basic level.

Skills:

- He/she is able to develop applications, program client-server and WEB, mobile operating systems, develop multiplatform systems. He/she can apply his/her knowledge acquired during his/her study to acquire deeper knowledge in the field of information engineering and to process special literature and solve problems related to information technology. - He/she cooperates with other computer science engineers, electrical engineers during team work, and with other experts during the analysis and solution of a problems. - He/she constantly improves his/her knowledge and keeps up with the development of the computer engineering profession.

Attitude:

- He/she genuinely represents the professional principles of engineering and information technology fields. - He/she is open to acquire new methods, programming languages and develop skills to use them. - He/she makes an effort to work efficiently and to high standards.

Autonomy and responsibilities:

- He/she feels responsible for IT systems analysis, development and operation, both individually and as part of a team. - He/she reveals the weaknesses of the technologies applied, risks of processes and initiates measures which reduce them. - He/she has a security-conscious attitude in posession of his/her professional knowledge, and is aware of potential threats and opportunities for attack, as well as is prepared to prevent them.

Additional professional competences:


Requirements, evaluation, grading:
Mid-term study requirements:
During the semester, the students create two computer based exams (for 30+30 points) in the laboratory and a 40-point Homework. Requirements for a successful semester: Achieving at least 20 points in the Homework and at least 30 points in the computer based exams. In the first week of the semester, the instructor informs the students about the venue and time of the exams and information about the Homework.
Exam requirements:

Study aids, laboratory background:

Learning materials uploaded to Teams. All students are provided with separate, modern computer access in the laboratories. Internet resources are available in the computer service room reserved for students.

Compulsory readings:

[1] Jon Duckett: PHP & MYSQL: Server-Side Web Development, John Wiley & Sons Inc, 2022 ISBN 1119149223 [2] David Flanagan: Javascript: The Definitive Guide, O'Reilly Media; 7th ed. edition, 2020 ISBN 1491952024 [3] Mario Casciaro, Luciano Mammino: Node.js Design Patterns, Packt Publishing; 3rd ed. edition, 2020, ISBN 1839214112

Recommended readings:

https://tutorialspoint.com https://w3schools.com https://www.php.net https://developer.mozilla.org/en-US/docs/Web/JavaScript/About_JavaScript https://www.tutorialsteacher.com/nodejs https://laravel.com/docs/8.x/ https://vuejs.org/v2/guide/ https://angular.io/docs