JCL

FEUP/DEI & INESC TEC

User Tools

Site Tools


teach:lbaw:sheet

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
teach:lbaw:sheet [19/05/2020 22:21]
teach:lbaw:sheet [04/02/2021 20:55] (current)
Sérgio Nunes
Line 1: Line 1:
 +====== Course Fact sheet ======
  
 +**Master in Informatics and Computing Engineering\\
 +  Database and Web Applications Laboratory\\
 +  Instance: 2020/2021**
 +\\
 +---
 +\\
 +
 +//**[[https://sigarra.up.pt/feup/en/ucurr_geral.ficha_uc_view?pv_ocorrencia_id=459490|Institutional page]]**// 
 +
 +===== General information =====
 +
 +**Course Unit**: Database and Web Applications Laboratory\\
 +**Code**: EIC0085\\
 +**Programmes**: MIEIC, 3º\\
 +**Academic Year**: 2020/2021\\
 +**Semester**: 2S\\
 +**Credits**: 7 ECTS\\
 +**Hours/Weeks**: 1x2T, 7x3P\\
 +**Teachers**: [[http://sigarra.up.pt/feup/en/func_geral.FormView?p_codigo=230756|João Correia Lopes]] | [[http://sigarra.up.pt/feup/en/func_geral.FormView?p_codigo=310021|Sérgio Nunes]]
 +
 +===== Teaching language =====
 +
 +Portuguese. Suitable for English-speaking students.
 +
 +===== Objectives =====
 +
 +BACKGROUND
 +
 +This unit revisits the learning outcome of the previous courses in databases and web languages ​and technologies, providing a practical perspective on these core areas​ of computer engineering.
 +
 +SPECIFIC OBJECTIVES
 +
 +In this course, the students will learn how to design and develop web-based information systems backed by database management systems.
 +
 +===== Learning outcomes and competences =====
 +
 +After completing this course, the student will be able to:
 +  - Specify the requirements of the information system;
 +  - Obtain the conceptual model of the information system's data;
 +  - Obtain and validate the logical relational database schema of the system's database;
 +  - Obtain the physical schema of the database and tune the logical relational schema;
 +  - Design and implement queries to access the database using SQL;
 +  - Design and implement mechanisms for maintaining the integrity of the data;
 +  - Specify the web interfaces and business logic of the information system;
 +  - Implement the web components of the system using web-based, server-based and client-based technologies;
 +  - Ensure that the web interfaces adopt accessibility and usability standards.
 +
 +===== Working method =====
 +
 +In person
 +
 +===== Pre-requirements (prior knowledge) and co-requirements (common knowledge) =====
 +
 +Databases: data modeling with UML, relational model, SQL language.\\
 +Web languages ​​and technologies: HTTP protocol, HTML, CSS and JavaScript languages. 
 +
 +===== Programme =====
 +
 +  * Development of a web application supported by a database: requirements gathering, design, modelling, implementation and documentation;
 +  * General notions about the architecture of web applications using client scripting languages and server languages;
 +  * Use of frameworks and API for data access;
 +  * Design of relational databases using data modelling languages (UML), the SQL language and procedural extensions to SQL;
 +  * Identification and maintenance of business rules: on the interface, on the business logic and in the database (triggers); define transactions;
 +  * General notions of web usability and accessibility.
 +
 +===== Mandatory literature =====
 +
 +  * R. Ramakrishnan, J. Gehrke, //Database Management Systems//, McGRAW-Hill International Editions, 3rd Edition, 2003, ISBN=0-07-246563-8. [[http://aleph.fe.up.pt/F/-?func=find-b&find_code=SYS&request=000046628|Library]]
 +
 +===== Complementary bibliography =====
 +
 +  * Jeffrey D. Ullman, Jennifer Widom,// A First Course in Database Systems//, Prentice-Hall, 3rd Edition, 2008, ISBN=978-0-13-600-637-4. [[http://aleph.fe.up.pt/F/?func=direct&doc_number=000131263|Library]]
 +  * Scott Ambler, //The Object Primer//, Cambridge University Press, 3rd Edition, 2004, ISBN: 978-0-521-54018-6 [[http://aleph.fe.up.pt/F/-?func=find-b&find_code=SYS&request=000153367|Library]]
 +  * Zalewski, Michal, //The tangled Web: a guide to securing modern Web applications//, No Starch Press, Inc. ed, 2011, ISBN=978-1-59327-388-0. [[http://aleph.fe.up.pt/F/?func=direct&doc_number=000149340|Library]]
 +  * Jakob Nielsen, //Designing Web Usability: The Practice of Simplicity//, New Riders Publishing, Indianapolis, 2000, ISBN=1-56205-810-X. [[http://aleph.fe.up.pt/F/-?func=find-b&find_code=SYS&request=000047020|Library]]
 +
 +===== Teaching methods and learning activities =====
 +
 +The lectures will be used for the presentation of work scripts, development of representative examples, analysis of assessments, and brief introductions to the technologies they use. 
 +The practical classes will be used for laboratory project development as a group project with the teacher as a consultant.
 +
 +===== Support software =====
 +
 +  * PostgreSQL
 +  * PHP
 +  * Docker
 +  * Git
 +
 +===== Keywords =====
 +
 +Physical sciences > Computer science > Informatics 
 +
 +===== Type of assessment =====
 +
 +Distributed evaluation without final exam
 +
 +===== Assessment Components =====
 +
 +^ Designation                ^  Weight (%) ^
 +| Test                                20 |
 +| Practical or project work  |          80 |
 +|                     Total: |         100 |
 +
 +===== Amount of time allocated to each course unit =====
 +
 +^ Designation        Time (hours) ^
 +| Autonomous study  |           122 |
 +| Class frequency              70 |
 +|            Total: |           192 |
 +
 +===== Eligibility for exams =====
 +
 +The practical work will be assessed during the laboratory classes, through the delivery of the components (groups of artefacts).
 +
 +The theoretical concepts are evaluated using an individual questionnaire with multiple choice questions.
 +
 +The approval on the course is conditional on the student obtaining 40% in the individual response questionnaire and 50% in each of the components of the practical assessment.
 +
 +A student that does not participate in an evaluation component may have an assessment of that component different from the group to which she belongs.
 +
 +Given the laboratory nature of the course, it is not possible to make an overall evaluation based on a single moment and therefore the practical work can not be replaced by a single exam.
 +
 +===== Calculation formula of final grade =====
 +
 +Classification = 20% NI + 80% NP
 +
 +Being NP = 20% ER + 20% EBD + 20% EAP + 40% PA
 +
 +Legend:\\
 +NI - Individual multiple choice questionnaire\\
 +NP - Practical work\\
 +ER - Requirements Specification\\
 +EBD - Database Specification\\
 +EAP - Architecture Specification and Vertical Prototype\\
 +PA - Product and Presentation\\
 +
 +The final classification of the practical component (NP) can vary from element to element in the same group, plus or minus 2 values​​, based on the opinion of the teachers and the self-assessment performed by each group.
 +
 +Students who do not get approved in the final classification have to repeat the two evaluation components (NI and NP) in  a new enrolment to the unit.
 +
 +===== Examinations =====
 +
 +There are no special works or tests. 
 +
 +===== Special assessment (TE, DA, ...) =====
 +
 +The project evaluation, conducted in a group, is the same for all students regardless of the enrolment regime.
 +
 +Students exempted from classes must agree to conduct regular meetings with the teachers to keep up with the practical work.
 +Regarding the final presentation and the individual assessments, the rules are the same as for the regular students.
 +
 +===== Classification improvement =====
 +
 +Students may improve the mark in the course's next edition. 
 +
 +\\
 + --- //João Correia Lopes, Sérgio Nunes