Programação para a Internet I

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;
  • 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;
  • Recognize how a search engine works;
  • Develop optimizations in a web page (SEO)

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
    • Forms manipulation
    • Object-oriented programming
    • Web storage
    • Cookies
    • DOM handling
    • Fetch API
  • Search engines
    • Basic concepts about how a search engine works
    • The process of indexing a page
    • Notions of SEO (search engine optimization)

Curricular Unit Teachers

Grading Methods

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

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.