Web Development II

Base Knowledge

Development for the web (client-side): HTML, CSS, JavaScript; Data bases; 

Teaching Methodologies

The following teaching methodologies are used in this course unit:

  • 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.
  • 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.
  • 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.
  • 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, publish and use RESTFull APIs.

Program

  • Basic concepts of development of dynamic content pages
  • The various paradigms of development of pages of dynamic content
  • Programming “traditional” dynamic content web pages/applications with PHP vanilla
    • 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;
    • Layouts;
    • File Manipulation;
    • Sending Emails;
  • Web application development using a server-side framework  (ex.: Laravel, Codeigniter, …)
  • Development/consumption of REST APIs

Curricular Unit Teachers

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.

Queirós, R. & Portela, F. (2020). Desenvolvimento avançado para a web – Do front-end ao back-end. FCA.

Richardson, L., & Amundsen, M. (2015). RESTful Web APIs. O’Reilly

Other books, articles and/or web pages that may prove relevant during the academic year.