Checking date: 20/01/2025 13:24:54


Course: 2024/2025

Web Computing
(13432)
Bachelor in Telematics Engineering (Study Plan 2019) (Plan: 447 - Estudio: 215)


Coordinating teacher: ARIAS FISTEUS, JESUS

Department assigned to the subject: Telematic Engineering Department

Type: Compulsory
ECTS Credits: 6.0 ECTS

Course:
Semester:




Requirements (Subjects that are assumed to be known)
- Programming - Systems Programming - Systems Architecture I - Telematic Applications - Format Processing in Telematic Applications - Systems Architecture II
Objectives
The objective of this course is to learn how to develop complete Web applications with databases, applying the main client-side technologies (HTML, CSS, JavaScript), understanding the structure of relational databases and the SQL language, and using a server-side framework combined with an object-relational mapping system for data access.
Learning Outcomes
CB1: Students have demonstrated possession and understanding of knowledge in an area of study that builds on the foundation of general secondary education, and is usually at a level that, while relying on advanced textbooks, also includes some aspects that involve knowledge from the cutting edge of their field of study CB2: Students are able to apply their knowledge to their work or vocation in a professional manner and possess the competences usually demonstrated through the development and defence of arguments and problem solving within their field of study. CG1: Ability to write, develop and sign projects in the area of telecommunications engineering aimed at the design, development and utilization of telecommunications and electronic networks, services and applications, in accordance with the competences acquired in the degree program, as set out in Section 5 of the corresponding mandate. ECRT1: Ability to learn and acquire autonomously the requisite new knowledge for the design, development and utilization of telecommunication systems and services. ECRT13: Ability to differentiate the concepts of network access and transport, circuit switching and packet switching networks, fixed and mobile networks as well as systems and applications of distributed networks, voice services, audio, data, video and interactive services and multimedia. ETEGT5: Ability to follow transmission, switching and process technological progress to improve telematics networks and services. ETEGT6: Ability to design network architectures and telematics services. ETEGT7: Ability to program telematics services and applications in network and distributed systems RA1: Knowledge and Understanding.  Knowledge and understanding of the general fundamentals of engineering, scientific and mathematical principles, as well as those of their branch or specialty, including some knowledge at the forefront of their field. RA3: Design. Graduates will have the ability to make engineering designs according to their level of knowledge and understanding, working as a team. Design encompasses devices, processes, methods and objects, and specifications that are broader than strictly technical, including social awareness, health and safety, environmental and commercial considerations. RA4: Research. Graduates will be able to use appropriate methods to carry out detailed research and studies of technical aspects, commensurate with their level of knowledge. The research involves bibliographic searches, design and execution of experiments, interpretation of data, selection of the best proposal and computer simulation. May require consultation of databases, standards and security procedures. RA5: Applications. Graduates will have the ability to apply their knowledge and understanding to solve problems, conduct research, and design engineering devices or processes. These skills include knowledge, use and limitations of materials, computer models, process engineering, equipment, practical work, technical literature and information sources. They must be aware of all the implications of engineering practice: ethical, environmental, commercial and industrial. RA6: Generic competences. Graduates will have the generic skills necessary for engineering practice, and which are widely applicable. First, to work effectively, both individually and as a team, as well as to communicate effectively. In addition, demonstrate awareness of the responsibility of engineering practice, social and environmental impact, and commitment to professional ethics, responsibility and standards of engineering practice. They must also have knowledge of business and project management practices, as well as risk management and control, and understand their limitations. Finally, have the capacity for continuous learning.
Description of contents: programme
The contents of this subject are divided into the following topics: 1.- Client-side technologies 1.1.- Introduction to the Web and HTTP recap 1.2.- The HTML language 1.3.- CSS style sheets 1.4.- The Javascript programming language 2.- Data storage technologies 2.1.- Introduction to relational databases 2.2.- The SQL language 2.3.- Database access from Java programs: JDBC and introduction to object-relational mapping 3.- Server-side technologies 3.1.- The model-view-controller pattern 3.2.- Servlets 3.3.- JSP pages 4.- Web application security 4.1.- Introduction 4.2.- Attacks to data storage systems 4.3.- Attacks that avoid client-side controls 4.4.- Attacks to the authentication and authorization mechanisms 4.5.- Attacks to session management 4.6.- Attacks to other users of the application 5.- Other aspects in the development of Web applications 5.1.- The XMLHttpRequest API 5.2.- Introduction to other modern Javascript APIs (client-side storage, geo-location, desktop notifications, websockets, etc.) 5.3.- Web application scalability
Learning activities and methodology
This course will be based on the following activities: - Lectures: theoretical introduction to the main contents of the course. Student participation and collaborative discussion of problems will be encouraged. - Classes in the lab: students work with a computer in programming exercises about the most important concepts. - Web application project: students must work in pairs on a project throghout the course. The project will consist in the design and development of a relatively complex Web application based on a database, given a set of realistic requirements and constraints. Instructors will guide and help the students to complete their project both in class and tutoring sessions. The project will play a major role in the development of the course. The project will contribute not only to help students to achieve the specific outcomes, but also some of the program outcomes: - Students must apply previous knowledge about programming, transport protocols (TCP) and application protocols (HTTP, DNS). - Students must design a Web application given a set of realistic requierements and constraints. - Students must design the Web application taking into account their responsibility to properly protect private information about its users and information security in general. - Students must present and defend their project orally. - Students will be encouraged to apply recent Web programming technologies, not presented by instructors in class, to their projects. Therefore, students are expected to develop their ability to autonomously learn, which is basic for their future professional life. Assessment of the project will be based not only on technical aspects but also on the achievement of the above-mentioned program outcomes.
Assessment System
  • % end-of-term-examination/test 30
  • % of continuous assessment (assigments, laboratory, practicals...) 70

Calendar of Continuous assessment


Extraordinary call: regulations
Basic Bibliography
  • Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook 2nd ed.. John Wiley & Sons. 2011
  • David Flanagan. JavaScript: The Definitive Guide, 6th Edition. O'Reilly Media Inc.. 2011
  • Larry Rockoff. The Language of SQL. Course Technology PTR. 2010
  • Rob Larsen. Beginning HTML and CSS. Wrox. 2013
  • Shameer Kunjumohamed, Hamidreza Sattari, Alex Bretet, Geoffroy Warin. Spring MVC: Designing Real-World Web Applications. Packt Publishing. 2016
Additional Bibliography
  • Andrew Hoffman. Web Application Security, 2nd Edition. O'Reilly Media, Inc.. 2024
  • David Flanagan. jQuery Pocket Reference. O'Reilly Media, Inc.. 2010
  • Douglas Crockford. JavaScript: The Good Parts. O'Reilly Media, Inc.. 2008
  • Martin L. Abbott, T. Fisher. Scalability Rules: 50 Principles for Scaling Web Sites. Addison-Wesley Professional. 2011
  • Miguel Grinberg. Flask Web Development, 2nd Edition. O'Reilly Media, Inc.. 2018
  • Simon Harris. HTML5 Unleashed. Sams. 2013

The course syllabus may change due academic events or other reasons.