Web Development I

Base Knowledge

There are none.

Teaching Methodologies

The contents of the course are presented through examples with discussion. (Expositive Method)

Students solve exercises to practice solving different types of problems. (Experimental Method)

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

Program

Hypermedia

  • Initial uses of the Internet
  • Hypertext
  • Hypermedia
  • Historical Evolution

Clients and web servers

  • 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

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
  • Simple objects
  • Form manipulation
  • Web storage
  • Cookies
  • DOM handling
  • API Fetch

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

Abreu, L. (2015). HTML 5 (4ª edição). 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.