====== Course Fact sheet ====== **Master in Informatics and Computing Engineering\\ Database and Web Applications Laboratory\\ Instance: 2015/2016** \\ --- \\ //**[[https://sigarra.up.pt/feup/en/ucurr_geral.ficha_uc_view?pv_ocorrencia_id=368716|Institutional page]]**// ===== General information ===== **Course Unit**: Database and Web Applications Laboratory\\ **Code**: EIC0085\\ **Programmes**: MIEIC, 3º\\ **Academic Year**: 2015/2016\\ **Semester**: 2S\\ **Credits**: 7 ECTS\\ **Hours/Weeks**: 1x2T, 6x3P\\ **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 The unit aims at revisit 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. ===== Skills and learning outcomes ===== After completing this course, the student will be able to: - Specify the requirements of the web-based 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 PHP, HTML, CSS and JavaScript; - Ensure that the web interfaces are in accordance with accessibility and usability standards. ===== Work mode ===== Classroom. ===== Previous knowledge ===== Databases: data modeling with UML, relational model, SQL language.\\ Web languages ​​and technologies: HTTP protocol, HTML, CSS and JavaScript languages. ===== Program ===== * Development of a Web application supported by a database: requirements gathering, design, modelling, implementation and documentation. * General notions on the architecture of web applications using client scripting languages (JavaScript) and server (PHP). * Presentation of the Document Object Model (DOM), use of Ajax framework 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 (JavaScript), on the business logic and in the database (triggers); define transactions. * General notions of usability and Web Design. ===== Main bibliography ===== * 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 procedures and learning activities ===== The lectures will be used for presentation of the scripts of the work and representative examples and their discussion, 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. In each practical class, the artefacts produced by the group will be evaluated and discussed. ===== Support software ===== * PHP * PostgreSQL * Smarty Library * jQuery Library ===== Keywords ===== Physical sciences > Computer science > Informatics ===== Evaluation type ===== Distributed evaluation without final exam ===== Registered evaluation and occupation components ===== ^ Description ^ Type ^ Time (Hours) ^ Date of conclusion ^ | Attendance (estimated) | Lectures | 75 | | | User requirements specification | Laboratory work or fieldwork | 20 | 14/03/2016 | | Database specification | Laboratory work or fieldwork | 22 | 11/04/2016 | | Architecture specification and Vertical prototype | Laboratory work or fieldwork | 30 | 09/05/2016 | | Product | Laboratory work or fieldwork | 40 | 30/05/2016 | | Demonstration and demonstration | Attendance | 5 | 06/06/2016 | | Individual Questionnaire | Exercises | 0 | 27/04/2016 | | | Total: | 192 | | ===== Admission to exams ===== The practical work will be assessed during the laboratory classes, through the delivery of the artefacts. The theoretical concepts are evaluated using an individual questionnaire with multiple choice questions. The approval for 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 to that component different from the group to which he 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. ===== Final grade ===== Classification = 80% NP + 20% NI 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. ===== Special assignments ===== There are no special works or tests. ===== Special evaluation (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 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. ===== Improvement of final/distributed classification ===== Students may improve the mark in the course's next edition. \\ --- //JCL, SSN//