Internet programming

Base Knowledge

N. A. 

Teaching Methodologies

The following teaching methodologies are used in this course:

Expository method: explanatory method where facts, concepts, principles and generalizations are defined and presented by the teacher and discussed with the class, followed by demonstrative examples;

Experimental method: active method where the student develops knowledge through problem solving and project development, in group dynamics and individual and reflective work 

Learning Results

Identify the main uses of the Internet;
Describe the operation of clients and web servers;
Describe the operation of the HTTP protocol;
Structure and plan a Web application;
Test web pages in order to identify problems and solve them;
Build stylesheets with valid CSS;
Build web pages with HTML / CSS frameworks;
Developing client-side applications with JavaScript;
Know how to use a JS frameworks;

Program

Hypermedia

  • Early uses of the Internet
  • Hypertext
  • Hypermedia
  • Historical evolution

 

Web clients and servers

  • Basic concepts
  • Main types of web clients
  • Browsers
  • Browser engines
  • JavaScript engines
  • Text browsers
  • HTTP (HyperText Transfer Protocol) web server basics
  • Protocol definition
  • HTTP protocol evolution
  • The structure of transactions (requests and responses)
  • The main headers
  • The various methods (GET, POST, PUT, DELETE, HEAD, …)

 

HTML (HyperText Markup Language)

  • Basic concepts
  • Basic structure of an HTML document
  • Validation of HTML documents
  • Metatags
  • The elementary tags (p, a, hr, br, img, h1…h6)
  • Lists
  • Tables
  • Forms
  • Bulletins
  • Generic containers
  • Semantic containers
  • Multimedia (video, audio, canvas)

 

CSS (Cascading Style Sheets)

  • Basic concepts
  • CSS file validation
  • Style rules
  • The different ways t define styles (inline, internal, external)
  • The main selectors
  • Text formatting
  • Colors and backgrounds
  • The box-model formatting properties
  • Pseud classes and pseud 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/HTML frameworks

  • Basic concepts
  • Layout construction using CSS/HTML frameworks

 

JavaScript

  • Basic concepts
  • The several ways of using JavaScript (inline, internal and external)
  • Events
  • Functions
  • Variables and data types
  • Operators
  • Control structures
  • Loops
  • String manipulation
  • Array manipulation
  • Form manipulation
  • Object oriented programming
  • Web storage
  • Cookies
  • DOM handling
  • Fetch API

 

JS Framework (React)

  • Introduction to the framework operation
  • Base
    • JSX
    • Events
    • Import/Export
    • Properties
    • Components
    • Styles
    • Forms
    • Life cycle
    • Router
    • Web requests
    • Organization / Structure

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

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.