Subject: Web Development - Front-End

Scientific Area:

Computer Science

Workload:

80 Hours

Number of ECTS:

6,5 ECTS

Language:

Portuguese

Overall objectives:

1 - Provide the student with a global view of existing technologies for Web development (Front-End).
2 - Acquire skills in the development of a WEB application.
3 - Provide students with theoretical, methodological and practical knowledge on the development of programs for Web clients in the context of scripting languages.

Syllabus:

1 - Introduction to programming with scripting languages - Front-End.
1.1 - Types of data.
1.2 - Expressions.
1.3 - Decision and Repetition Structures.
1.4 - Defining roles.
1.5 - Defining lists.
2 - Javascript Frameworks.
2.1 - Anatomy of a Web Application.
2.2 - Version control with GIT.
2.3 - NodeJS package management with NPM.
2.4 - Hot-Reloading, DevTools and Bundling from a CLI.
2.5 - Project structure using a CLI.
2.6 - Builds for Development and Production.
2.7 - Implementation strategies (SPA, Isomorphic Apps, etc.).
3 - Components.
3.1 - Component creation.
3.2 - Use of templates.
3.3 - Communication between components.
3.4 - Applying styles.
3.5 - Animation Creation.
4 - Directives.
4.1 - Use of basic directives.
4.2 - Types of Bindings.
5 - Services.
5.1 - Service Creation.
5.2 - Dependency Injection Concept.
5.3 - Communication with APIs over HTTP.
5.4 - Use of centralized Store with REDUX standard.
5.5 - Persist information locally and/or in databases.
6 - Routes.
6.1 - Creating routes on the client.
6.2 - Links and navigation structures.
6.3 - Guards.
7 - Forms.
7.1 - Creation of forms based on template and/or Reactive.
7.2 - Validations.
8 - Authentication.
8.1 - Authentication.
8.2 - Web Application Authorization.
9 - Strategies for Applications on Mobile Devices.
9.1 - Progressive Web Apps.
9.2 - Hybrids.
9.3 - Native.
10 - Implementation of a Web Application.

Literature/Sources:

Damas, L. , 1999 , Linguagem C , Editora FCA
Kernighan, B.W., and Ritchie, D.M. , 1988 , The C Programming Language , Prentice-Hall
Stroustroup, B. , 2000 , The C++ Programming Language, Special Edition , Addison-Wesley
Wirth, N. , 1986 , Algorithms and Data Structures , Prentice-Hall
Sedgewick, R. , 1998 , Algorithms in C , Addison-Wesley
Sedgewick, R. , 2002 , Algorithms in C , Addison-Wesley

Assesssment methods and criteria:

Classification Type: Quantitativa (0-20)

Evaluation Methodology:
In accordance with the expected for the Professional Higher Technical Courses.

Lectures:

Lecture