Base Knowledge
Development for the web (client-side): HTML, CSS, JavaScript; Data bases; Notions of object-oriented programming.
Teaching Methodologies
The following teaching methodologies are used in this course unit:
1. Expository method: explanatory method where theoretical foundations and concepts are presented by the teacher and discussed with the class. Concepts and information will be presented to students through, for example, slide presentations or oral discussions. It will be used in classes to structure and outline the information.
2. Demonstrative method: based on the example given by the teacher of a technical or practical operation that one wishes to be learned. It focuses on how a given operation is carried out, highlighting the most appropriate techniques, tools and equipment. It will be used, for example, in practical and laboratory classes.
3. Interrogative method: process based on verbal interactions, under the direction of the teacher, adopting the format of questions and answers. It allows for greater dynamics in the classroom and consolidates learning. It will be used, for example, to remember elements of previous classes and in revisions of the lectured content.
4. Active methods: pedagogical techniques will be used in which the student is the center of the learning process, being an active participant and involved in his own training. The teacher assumes the role of facilitator, stimulating critical thinking, collaboration, creativity and student autonomy. They will be applied in classes to achieve a dynamic and more lasting learning environment.
Learning Results
- List and describe the main needs of the emergence of server-side languages;
- Describe the potential of using Web technologies in an information system;
- Identify and describe the different paradigms of dynamic content page development;
- Choose the most appropriate paradigm for each situation;
- Develop dynamic, efficient and secure web applications based on the various paradigms;
- Develop, provide and use RESTFull APIs.
Program
- Basic concepts of development of dynamic content pages
- Introduction to the PHP language
- Introduction and basic concepts;
- Variables and data types;
- Operators, conditional statements and cycles;
- String manipulation
- Array manipulation;
- Functions;
- Handling HTML forms;
- Object-Oriented Programming;
- Handling MySQL databases with PDO;
- Cookies and session variables;
- Internationalization;
- Introduction to developing ‘traditional’ (server-side) web applications with the Laravel framework
- Introduction and basic concepts
- Routes
- The MVC pattern (Model View Controller)
- Controllers
- Models (Migrations, Eloquent ORM)
- Views
- Handling forms
- Authentication and authorisation
- Introduction to the development of REST APIs
- Developing ‘modern’ (client-side) web applications with JavaScript
Curricular Unit Teachers
Nuno Miguel Gil FonsecaGrading Methods
- - teste escrito individual - 50.0%
- - trabalho prático individual - 50.0%
- - prova escrita individual - 35.0%
- - trabalho prático individual - 65.0%
Internship(s)
NAO
Bibliography
Tavares, F. (2016). PHP com Programação Orientada a Objetos. FCA.
Tavares, F. (2012). Desenvolvimento de Aplicações em PHP. FCA.
Stauffer, M. (2023). Laravel: Up & Running: A Framework for Building Modern PHP Apps (3rd edition). O’Reilly Media.
Portela, F. (2018). Introdução ao Desenvolvimento Moderno para a web – Do front-end ao back-end: uma visão global! FCA.
Queirós, R. & Portela, F. (2020). Desenvolvimento avançado para a web – Do front-end ao back-end. FCA.
Other books, articles and/or web pages that may prove relevant during the academic year.