Double Degree in International Computer Engineering and Management of Business and Technology

Web Projects I

This course focuses on software architecture design to develop interactive applications with graphical user interface independent from platforms or frameworks. The first part of the course presents the essential principles of object-oriented software architecture design, as well as the use of patterns, good practices of design and methodologies to plan and manage the software´s different life cycles. At the same time, the basic fundaments of Java and .NET are explained. Each week, the concepts studied are more advanced until de course finishes, in this way, at the end of the course, students have learned to create any desktop application GUI and network connectivity. During the first weeks, students learn the difference between the two technologies and how to create basic graphic applications. Then, they learn to manage user events and the most common profits of desktop applications such as streaming, multithreading and network connectivity. Finally, they learn to use additional resources of these languages to create real-time animated graphics that students will practice by implementing a videogame or a similar application.
Type Subject
Tercer - Obligatoria
Previous Knowledge

The course focuses on Java technologies y. NET to create graphical desktop applications and the use of high-level APIs of these languages for real-time connection and synchronization of applications across the Internet. It is therefore necessary to have some basic object-oriented programming skills.


The main objective of Hypermedia I Programming program is training the student in designing, planning and developing GUI-based object-oriented applications using high-level languages such as Java and NET, and theoretical foundations that allow students to upgrade to the constant changes in this sector. Moreover there are many other Objective s, as discussed below:

1. Ability to analyze the requirements for a project and plan the best strategy for carrying it out.
2. Acquisition of group work skills.
3. Ability to find information in foreign languages through the network.
4. Ability to apply theoretical knowledge into practice.
5. Self-learning capacity.
6. Understand all the contemporary aspects related with the exercise of the profession as well as the necessity to receive permanent training.


1. Object-oriented programming advanced concepts

2. Software architectures
2.1 Architecture types
2.2 Scope and data flows
2.3 User events
2.4 Design patterns
2.5 Planning and software lifecycles

3. Graphical User Interfaces
3.1 Interface Components
3.2 Components Layout
3.3 Swing and Windows Forms
3.4 Event-oriented programming
3.5 Custom graphics rendering

4. High-level programming resources
4.1. Java and .NET architectures
4.2. Text handling and basic data types
4.3. Arrays and Collections
4.4. Internationalization
4.5. Streams
4.6. Multithreading
4.7. Sockets
4.8. Real-time synchronization

5. Cutting edge platforms
5.1 HTML5 applications
5.2 Smartphone applications


The course is taught on-site during five hours per week: two hours of theoretical class and three hours of practice in the laboratory. During theoretical classes, all the concepts related with the theme of the subject are explained, and during practical classes, these concepts are put into practice through exercises in the computer. By the other hand, other methods are used so that students acquire efficiently the concepts. The different methods are:

1. Lectures:

The professor teaches the course along the theoretical concepts of the subject through lectures. During classes students are encouraged to ask questions involving both like answering questions made by the teacher. This will get more dynamic and participatory classes. Moreover, also resolved problems, both business-oriented, and oriented which can then appear on the exam.

2. Practical sessions:

Each week we made a practice session in a lab with computers for all students, where the teacher shows how to implement what is seen in the lectures.

3. Personal Exercise:

Periodically during the course, a practical exercise about the theme studied is proposed to be solved at home. All exercises must be submitted before the exam to be valued. These exercises solved at home, help to guarantee that the studied themes are really assimilated by students that can take them into practice.

4. Work experience:

During the final part of the course, students should make a group practice which allows them, on one hand, implementing the global knowledge of the unit, and the other, making a good design of the problem resolution.

5. Seminars:

Some topics that are not within the direct syllabus of the subject, but closely related, are taught in seminars of optional attendance. Similarly, the center offers specialized training courses of the most important work in the company.


The students' assessment is done through different types of tests and methodologies, as discussed below. Each of them evaluates a set of different aspects of specific powers to transferable skills.

A. Exams
During the course, students have two principal exams that cover the entire program of the subject.
These exams are theoretical or practical, as it is considered appropriate, and try to evaluate the acquisition of the subject´s knowledge and of the used tools.

D. Homemade work
During the course, students must carry out a practice and hand it with a report. They should also solve exercises regularly.

F. Reports / Group work
The practice must be completed with a report about the methodology and other aspects stated.

G. Practical work with computer
The exercises and the practices are practical and must be done with the computer.

H. Projects
The practice consists of a statement that poses a potential business project. Students should make the design and propose a solution.

J. Class participation
Participating in class, asking questions and answering the ones asked by the professor, are taken into account for the Continue Evaluation. The participation may be during on-site classes or through the subject´s forum.

K. Participation in the laboratory
Participating in practice classes, asking questions and answering the ones asked by the professor, are also taken into account for the Continue Evaluation.

Evaluation Criteria

Objective 1: Capacity to analyze the requirements for a project and plan the best strategy to carry it out.
- It is evaluated with the test, a practice and the correspondent report [A, G, H, F]

Objective 2: Acquisition of group work skills
-It evaluates the performance of the practice, which is in a group, and delivery of the report [G, H, F]

Objective 3: Ability to search for information in foreign languages through the network
- It is evaluate through the resolution of proposed exercises and final practice [D,G,H]

Objective 4: Ability to apply theoretical knowledge into practice
- It is evaluated with the exam and practical work with computer [A, G, H]

Objective 5: Self-learning ability
- It is evaluated with computer practical work and participation in the forum of the Subject [G, H, J]

Objective 6: Understand all the contemporary aspects related with the exercise of the profession as well as the necessity to receive permanent training
- It is evaluated with computer practical work and [G, H, J]

Basic Bibliography

Bruce Eckel, "Thinking in Java", Prentice Hall PTR, 3rd edition (December 6, 2002), 0131002872