Subject: Web Development - Back-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 for servers (Back-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 servers in the context of scripting languages.

Syllabus:

1 - Introduction to programming with scripting languages.
1.1 - Types of data
1.2 - Expressions
1.3 - Decision and Repetition Structures
1.4 - Defining roles
1.5 - Lists definition
1.6 - Object Oriented
2 - Data Access
2.1 - Database connection and management
2.2 - OBDC and ORM (mysql & Sequelize)
2.3 - Reading and writing files
3 - REST and RESTful API
4 - Implementation of CRUD in Web forms and treatment of results on the server
5 - MVC - layer-based architecture (model-view-controller)
6 - Access Control, Sessions and Tokens (Passport & JWT)
7 - Asynchronous data processing
7.1 - Streams - Reading, Writing and Piping
7.2 - Events - Listening, Reading and Broadcast4Implementation of a Web server
8 - Sockets - Building applications with bidirectional communication in real time
9 - Docker - Creation of container execution
10 - Development (deployment) of a server in a production environment (Heroku)

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.