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.