Base Knowledge
- Web Development: HTML, CSS, JavaScript; PHP and Databases;
Teaching Methodologies
Teaching Methods
In this curricular unit, learning is promoted through methodologies that combine theoretical exposition, practical demonstration, and application in real web programming contexts.
- Expository method: the fundamental concepts of web programming are presented and contextualized by the lecturer, using practical examples and class discussions. The theoretical exposition mainly serves as support for the practical component, structuring the knowledge that students will apply in project development.
- Demonstrative method: techniques and best practices in development are exemplified by the lecturer in real time, through the implementation of small code snippets and the resolution of common problems. This approach allows students to observe not only the final result but also the reasoning process and decision-making involved in building web solutions.
- Interrogative method: throughout the lessons, the lecturer promotes interaction through guided questions, reviews, and small challenges that help consolidate the subject matter and stimulate critical thinking.
- Active methods: students are placed at the center of the learning process through the development of projects and practical exercises that require autonomy, creativity, and collaborative work. The curricular unit emphasizes the implementation of real web applications, bringing the classroom context closer to a professional environment. The lecturer acts as a facilitator, encouraging experimentation and guiding students in the adoption of best programming practices.
Learning Results
Objectives
The curricular unit of Web Programming II aims to consolidate the knowledge acquired in Web Programming I, strengthening the use of JavaScript on the client side and PHP on the server side, with integration of MySQL databases. In a second phase, students will be introduced to new technologies and development methodologies, exploring the use of modern frameworks (Laravel and React) that allow them to understand and apply concepts of architecture, separation of layers, and API consumption, preparing them for more advanced challenges in web development.
Learning Outcomes / Skills to be Developed
- Consolidate the development of dynamic web applications using JavaScript, PHP and MySQL.
- Structure web projects in a modular and organized way, applying best development practices.
- Understand the principles of the MVC architecture and the use of PHP frameworks (Laravel).
- Implement complete CRUD operations integrated with databases.
- Create modern and responsive interfaces, using Admin Templates and graphical libraries.
- Explore the creation of reusable components in React and their interaction with APIs.
- Reinforce concepts of authentication and security in web applications.
Program
Course Content
Part I – Consolidation of Web Programming I
- Review of web application structure (client, server, and database).
- JavaScript: syntax, DOM manipulation, and event handling.
- PHP and MySQL: form handling, database integration, validation, and sanitization.
- Admin Templates: project integration, creation of dashboards, and data visualization.
- Authentication and Security: sessions and cookies, user login and registration, password hashing, and prevention of common attacks.
Part II – Introduction to New Technologies
- Laravel (PHP Framework):
- Structure of a Laravel project.
- Composer and Artisan.
- Routes, controllers, and views with Blade.
- Data modeling with Eloquent and migrations.
- Implementation of CRUD operations.
- React (Frontend Framework):
- Structure of a React application.
- Components, props, and state.
- Forms and event handling in React.
- API communication (fetch/axios).
React ↔ Laravel Integration: consumption of data via REST API.
Final Project: development of a complete web application integrating Laravel (backend) and React (frontend).
Curricular Unit Teachers
Michael TeixeiraGrading Methods
Assessment
Student approval through continuous assessment will be subject to compliance with the following requirements:
- Minimum attendance of 75% of the total hours of the curricular unit, as stipulated in the CTeSP Regulations (Article 23, point 1).
- Completion and submission of practical exercises and worksheets throughout the semester – 20%.
- Development, submission, and presentation of a 1st Project, accompanied by a report, with a grade equal to or higher than 9.5 out of 20 – 40%.
- Development, submission, and presentation of a 2nd Project, accompanied by a report, with a grade equal to or higher than 9.5 out of 20 – 40%.
Project presentations may take the form of an individual defense or a presentation to peers, according to the lecturer’s decision.
Internship(s)
NAO
Bibliography
Consolidation Base (PHP, MySQL, JavaScript):
- Nixon, R. (2012). Learning PHP, MySQL, JavaScript & CSS (2nd ed.). O’Reilly Media.
- Flanagan, D. (2020). JavaScript: The definitive guide (7th ed.). O’Reilly.
- Ullman, L. (2011). PHP & MySQL for dynamic web sites (5th ed.). Peachpit Press.
- Duckett, J. (2014). JavaScript & jQuery: Interactive front-end web development. Wiley.
New Technologies (Laravel and React):
- Stauffer, M. (2019). Laravel: Up & running (2nd ed.). O’Reilly Media.
- React Team. (2023). React documentation. Meta Open Source. Retrieved from https://react.dev
- Laravel. (2023). Laravel documentation. Retrieved from https://laravel.com/docs
Other Resources:
- Other books, articles, and web pages that may prove relevant throughout the academic year.