Logo UAB

Internet and Web Development Techologies

Code: 102742 ECTS Credits: 6
2024/2025
Degree Type Year
2502441 Computer Engineering OB 3

Contact

Name:
Francesc Auli Llinas
Email:
francesc.auli@uab.cat

Teachers

Joan Giner Miguelez
Adrià Figuerola Torrell
Miguel Carpio Miranda
Ana Oropesa Fisica
Maria Carmen de Toro Valdivia

Teaching groups languages

You can view this information at the end of this document.


Prerequisites

There are no prerequisites. However, students should be familiar with the most basic concepts of “Data Bases” and “Software Engineering.” It is also recommended for students to take the course “Networks” before this.


Objectives and Contextualisation

This is the third course in the block of Software Engineering. The main goal is to provide a general vision of the developing paradigms for the Internet and Web. The main models to develop network application are described and put in practice. The main objectives of the course are the following:

  • Provide a general vision of web development technologies.
  • Know the main programming paradigms for web applications.
  • Know technologies and programming languages for the development of web Applications.
  • Know the network protocols employed for the web.
  • Know other Internet network architectures and protocols.
  • Provide a general vision of distributed systems.

Competences

  • Acquire thinking habits.
  • Analyse, design, build and maintain robust, safe and efficient applications, and select the most suitable programming paradigms and languages.
  • Conceive and develop centralised or distributed computer systems or architectures by integrating hardware, software and networks.
  • Have the capacity to solve problems with initiative, decision making, autonomy and creativity. Have the capacity to know how to communicate and transmit the knowledge and skills of the IT engineering profession.
  • Know and apply the functional and structural characteristics of distributed systems and computer and Internet networks, and design and implement applications based on these.
  • Work in teams.

Learning Outcomes

  1. Design and maintain applications observing robustness and reliability criteria.
  2. Design applications while selecting the most suitable software development paradigm.
  3. Develop a mode of thought and critical reasoning.
  4. Identify, manage and resolve conflicts.
  5. Know and apply effective communication and negotiation methods when performing one's tasks in the profession.
  6. Know and apply the client server model and service oriented architectures.
  7. Know and understand the important role of Database systems in terms of the treatment of the information in a computer, as well as the design and maintenance of applications for treating this information.
  8. Know the paradigms of web programming.
  9. Understand data standards and their persistence.
  10. Work cooperatively.

Content

The contents of the course are structured as follows:

  • Introduction
    • Course presentation and scheduling
    • Historical review
  • Web programming
    • Web documents: HTML5 and CSS.
    • Client-side programming: JavaScript and AJAX.
    • Server-side programming: PHP.
    • Model-view-controller architecture: description and usage.
    • Security aspects: SQL injection, cross-site scripting, and cross-site request forgery.
  • HTTP protocol
    • Architecture: client/server architecture, TCP/IP protocols, features, and message format.
    • Mechanisms: negotiation, caching, security and privacy, and persistence.
    • State usage: cookies.
  • Service protocols
    • Files and messages: FTP, P2P, electronic mail, and news.
    • Web services: XML, WSDL, UDDI, and SOAP.
    • Representational State Transfer (REST): HTTP methods, expose directory structure, stateless, and XML/JSON.

Activities and Methodology

Title Hours ECTS Learning Outcomes
Type: Directed      
Laboratory sessions 12 0.48 8, 6, 5, 2, 1, 4, 10
Lectures 26 1.04 9, 8, 6, 7, 3, 2, 1
Problem sessions 12 0.48 9, 8, 6, 7, 5, 2, 1
Type: Supervised      
Supervised projects 16 0.64 9, 8, 6, 7, 2, 1
Type: Autonomous      
Laboratory sessions 24 0.96 8, 6, 5, 2, 1, 4, 10
Preparing and studying 24 0.96 9, 8, 6, 7, 2, 1
Preparing tests 30 1.2 9, 8, 6, 7, 2, 1

There are three parts: lectures, problem sessions, and laboratory sessions. The student should spend 50 hours in class and 100 hours preparing laboratory/problems sessions and tests. The following activities are carried out during the course:

Lectures

Theoretical content is taught through lectures. Students are encouraged to actively participate in the resolution of examples.

Problem sessions

A list of exercises is resolved during problem sessions. Students are encouraged to solve the problems on their own in advance and to present their solutions in class.

Laboratory sessions

During laboratory sessions, a project is carried out with groups of 2 students. These sessions are to be prepared in advance. It is important that the project is carried by both students as a team, so the work of both will be assessed individually.

Transversal abilities

We will work the abilities “Acquire thinking habits” and “Work in teams”. The first is approached in lectures and problem sessions, and in the individual tests. The latter is approached in laboratory sessions.

Annotation: Within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.


Assessment

Continous Assessment Activities

Title Weighting Hours ECTS Learning Outcomes
Laboratory sessions 0.4 3 0.12 8, 6, 5, 3, 2, 1, 4, 10
Lectures and problem sessions 0.6 3 0.12 9, 8, 6, 7, 3, 2, 1

a) Assessment

Subject assessment is carried out as follows:

  • Activity A) Tests for lectures and problem sessions (60% of the final grade). Two individual partial tests that evaluate half the contents each. The student must pass each test with a grade equal or greater than 3.5 and with an average of the two tests with at least 5. Otherwise the students will need to do the final re-assessment test (see below).
  •  Activity B) Assessment of laboratory sessions (40% of the final grade). It is carried out as follows:

B.1) Progression assessment during laboratory sessions (3 points).

B.2) Technical assessment at the end of the sessions (5,5 points)

B.3) Auto-evaluation in which the student will assess his/her work through a template provided by the professor (1 point, provided that the evaluation carried out by the student and professor differ in less than 0,5 points).

B.4) Individual test at the end of the sessions (1,5 points).

The maximum grade in this activity is 11, though the activity is evaluated over 10. It is mandatory to pass the progression assessment (B.1), technical assessment (B.2) and the individual test (B.4) to pass this activity. If the grade of B.1, B.2 or B.3 is lower than 50% of the maximum corresponding grade, the grade of Activity B is computed as the minimum between 4.5 and the sum of B.1, B.2, B.3, and B.4.

b) Assessment scheduling

Dates for the tests are given the first day of the course and are available in the web of the School. Also, the dates are published on Campus Virtual and on the presentation slides, specific programming may change when necessary. Any such modification will always be communicated to students through Campus Virtual, which is the usual communication platform between lecturers and students.

c) Re-assessment

Activity A can be re-assessed in the re-assessment test, which evaluates all the contents of the course.

Laboratory sessions cannot be re-assessed, so they must be carried out the following year.

d) Revisions

For all assessment activities, a place, date, and time of review will be indicated to allow the students to review the activity with the lecturer. In this context, students may discuss the activity grade awarded by the lecturers responsible for the subject. If students do not take part in this review, no further opportunity will be made available.

e) Grades

Activity A and B must be passed individually. If the grade of one of these activities is lower than 5, the final grade is computed as the minimum grade between 4.5 and the weighted average grade between A and B. To pass the course with honors, the final grade must be equal or greater than 9. Due to the number of students with this distinction cannot exceed 5% of the total enrolled in the course, this distinction will be awarded to the students with the highest final grade. In case of a tie, partial-test results will be taken into consideration. If the student does not carry out the tests or not presents the laboratory project, the grade is “non-assessable”.

f) Plagiarism and irregularities

Notwithstanding other disciplinary measures deemed appropriate, and in accordance with the academic regulations in force, assessment activities will receive a zero whenever a student commits academic irregularities that may alter such assessment. Also, irregularities in the use of the laboratory equipment will receive a zero in the evaluation of Activity B. Assessment activities graded in this way and by this procedure will not be re-assessable. If passing the assessment activity or activities in question is required to pass the subject, the awarding of a zero for disciplinary measures will also entail a directfail for the subject, with no opportunity to re-assess this in the same academic year. Irregularities contemplated in this procedure include, among others:

-the total or partial copying of a practical exercise, report, or any other evaluation activity

-allowing others to copy

-presenting group work that has not been done entirely by the members of the group

-presenting any materials prepared by a third party as one’s own work, even if these materials are translations or adaptations, including work that is not original or exclusively that of the student

- using Artificial Intelligence tools like Copilot, ChatGPT, or similar, to solve exercises, laboratory work, exams, or any other activity

-having communication devices (such as mobile phones, smart watches, etc.) accessible during theoretical-practical assessment tests (individual exams)

-using the laboratory equipment for other purposes than those proposed by the professor

-login forgery or impersonate other students in the laboratory equipment

The final grade will be the lowest value between 3,0 and the weighted average grade, in the event of irregularities having been committed for any assessment activity (and therefore re-assessment will not be possible).

 

g) Students that have completed the course in previous years

No special treatment will be given to students who have completed the course in previous academic years, except that the grade of Activity A or B previously obtained can be assigned to this course gradebook. At the beginning of the course, the students list with previous grades is published.

h) Single assessment

This subject does not contemplate the single assessment system.



Software

  • Google Chrome: browser employed in lab sessions (mandatory)
  • phpMyAdmin: web application for BD management (recommended)
  • PHPstorm / Sublime / Brackets: web editors (recommended)
  • Filezilla / Cyberduck: FTP clients (recommended)
  • Putty: SSH client (recommended)
  • Visual Studio Code (VSCode): programming environment (recommended)

Language list

Name Group Language Semester Turn
(PAUL) Classroom practices 410 Catalan first semester morning-mixed
(PAUL) Classroom practices 411 Catalan first semester morning-mixed
(PAUL) Classroom practices 412 Catalan first semester morning-mixed
(PAUL) Classroom practices 413 Catalan first semester morning-mixed
(PAUL) Classroom practices 414 Catalan first semester morning-mixed
(PAUL) Classroom practices 415 Catalan first semester afternoon
(PAUL) Classroom practices 416 Catalan first semester afternoon
(PAUL) Classroom practices 417 Catalan first semester afternoon
(PLAB) Practical laboratories 411 Catalan first semester afternoon
(PLAB) Practical laboratories 412 Catalan first semester afternoon
(PLAB) Practical laboratories 413 Catalan first semester morning-mixed
(PLAB) Practical laboratories 414 Catalan first semester afternoon
(PLAB) Practical laboratories 415 Catalan first semester morning-mixed
(PLAB) Practical laboratories 416 Catalan first semester afternoon
(PLAB) Practical laboratories 417 Catalan first semester morning-mixed
(PLAB) Practical laboratories 418 Catalan first semester morning-mixed
(PLAB) Practical laboratories 419 Catalan first semester morning-mixed
(PLAB) Practical laboratories 420 Catalan first semester afternoon
(PLAB) Practical laboratories 421 Catalan first semester afternoon
(PLAB) Practical laboratories 422 Catalan first semester morning-mixed
(PLAB) Practical laboratories 423 Catalan first semester morning-mixed
(PLAB) Practical laboratories 424 Catalan first semester morning-mixed
(PLAB) Practical laboratories 425 Catalan first semester afternoon
(PLAB) Practical laboratories 426 Catalan first semester afternoon
(TE) Theory 410 Catalan first semester morning-mixed
(TE) Theory 415 Catalan first semester morning-mixed
(TE) Theory 417 Catalan first semester afternoon
(TE) Theory 419 Catalan first semester afternoon