Programação para a Internet I

Base Knowledge

n. a. 

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

  • Identify the main uses of the Internet;
  • Describe the operation of clients and web servers;
  • Describe the operation of the HTTP protocol;
  • Build web pages with HTML correctly written;
  • Test web pages in order to identify problems and solve the said problems;
  • Building style sheets with CSS;
  • Identify the limitations of CSS and apply CSS preprocessors to overcome them
  • Building web pages with HTML/CSS frameworks;
  • Develop client-side applications with JavaScript;
  • Know and apply the principles of universal design/accessibility;

Program

  • Hypermedia
    • Initial uses of the Internet
    • Hypertext
    • Hypermedia
    • Historical Evolution
  • Architecture of web applications
    • Basic concepts
    • Main types of web clients
    • Browsers
    • Browser engines
    • JavaScript engines
    • Text browsers
    • Basic web server concepts
  • HTTP (HyperText Transfer Protocol)
    • Protocol definition
    • Evolution of the HTTP protocol
    • The structure of transactions (requests and responses)
    • Main headers
    • The various methods (GET, POST, PUT, DELETE, HEAD, …)
  • HTML (HyperText Markup Language)
    • Basic concepts
    • Basic structure of a document HTML
    • Validation of documents HTML
    • Metatags
    • The elementary tags (p, a, hr, br, img, h1…h6)
    • Lists
    • Tables
    • Forms
    • highlights
    • Generic containers
    • Semantic containers
    • Multimedia (video, audio, canvas)
  • CSS (Cascading Style Sheets)
    • Basic concepts
    • Validation of CSS files
    • Style rules
    • The different ways of defining styles (inline, internal, external)
    • The main selectors
    • Priority between selectors
    • Text formatting
    • Colours and backgrounds
    • Box-model formatting properties
    • Pseudo classes and pseudo elements
    • Image and table positioning
    • Formatting lists
    • Positioning types (static, absolute, relative, fixed)
    • Flexbox
    • Grid-based layout construction
    • Responsive design
    • 2D and 3D transformations
    • Transitions
    • Animations
  • CSS preprocessing (SASS)
    • Basic concepts
    • Variables
    • Nesting
    • Partials
    • Mixins
    • Inheritance
    • Operators
    • Media queries
  • Accessibility
    • Web page accessibility
    • ARIA attributes and roles
    • Automatic and manual evaluation of web pages (WCAG 2.1)

  • CSS/HTML frameworks
    • Basic concepts
    • Building layouts using CSS/HTML frameworks
  • JavaScript
    • Basic concepts
    • The several ways of using JavaScript (inline, internal and external)
    • Events
    • Functions
    • Variables and types of data
    • Operators
    • Conditions
    • Loops
    • String manipulation
    • Arrays manipulation
    • Forms manipulation
    • Object-oriented programming
    • Web storage
    • Cookies
    • DOM handling
    • Fetch API

Curricular Unit Teachers

Nuno Miguel Gil Fonseca

Grading Methods

Continuous evaluation
  • - individual written test - 40.0%
  • - individual practical work - 60.0%
Avaliação final
  • - an individual written test - 50.0%
  • - Final evaluation - 50.0%

Internship(s)

NAO

Bibliography

  • Web Development Essentials (030) (Version 1.0). (2022). Linux Professional Institute.
  • Abreu, L. (2015). HTML 5 (4th edition). FCA.
  • Remoaldo, P. (2011). CSS 3. FCA.
  • Queirós, R. (2017). Criação rápida de sites responsivos com o Bootstrap. FCA.
  • Abreu, L., & Carreiro, J. P. (2015). JavaScript 6. FCA.
  • Portela, F., & Queirós, R. (2018). Introdução ao desenvolvimento moderno para a web. FCA.
  • Portela, F., & Queirós, R. (2020). Desenvolvimento moderno para a web – do front-end ao back-end. FCA.
  • Crockford, D. (2008). JavaScript: The Good Parts. O’Reilly Media.
  • Flanagan, D. (2011). JavaScript: The Definitive Guide. O’Reilly Media.
  • Haverbeke, M. (2018). Eloquent Javascript. No Starch Press.