This bachelor degree is based on a contemporary and multidisciplinary view of the Web, focused on the development of skills for the conception, design and development of products and software for the Web. It seeks to provide students with knowledge and practical skills that allow them to master emerging areas such as services centered on the cloud, mobile and ubiquitous computing, or Web and electronic business platforms, without ignoring today fundamental skills, such as ergonomics and interaction design, usability and user experience or prototyping digital platforms. This characteristic of combining skills related to product development with emerging concepts related to the design of interfaces (user interface & user experience) is a distinguishing feature of this bachelor degree and one of the reasons for its great success!

SubjectDescriptionYear | Semester | ECTSTaught in english?

1º YEAR
Algorithms and Data Structures Students completing this subject should be able to:
1. Know and apply strategies for solving small and medium problems, for implementation on the computer;
2. Design algorithms applying the most appropriate methodologies;
3. Analyze and solve problems computationally;
4.Implement algorithms in a programming language;
5.Develop and implement programs in procedural and object-oriented environment.
1º year | 1º semester | 7 ECTSNO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed
Web TechnologiesThis subject introduces students to the architecture and operation of the World Wide Web, where they should know the principal protocols, standards, languages, and tools used in programming for the Web. Students learn how to design and implement cross-platform Web applications by applying standards and specifications for the Web, using state-of-the-art sophisticated markup languages to stylize web applications with stylsheets. Another aim is to master scripting through client-side scripting languages to make Web applications more dynamic and interactive.1º year | 1º semester | 7 ECTSNO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed
Design FundamentalsTo be added… 1º year | 1º semester | 6 ECTSNO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed
Computational SystemsTo be added… 1º year | 1º semester | 5 ECTSNO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed

2º SEMESTER
Object Oriented ProgrammingThe goal of the subject is to know the basics of object-oriented programming, including best practices in the design of object-oriented programs and software development tools use. While mastering the intrinsic concepts of object-oriented programming such as inheritance, encapsulation, polymorphism, abstraction, and interface, students will be prepared to create web apps based on design patterns in object-oriented programming from creational, structural, behavioral to architectural patterns using Web languages, namely JavaScript.1º year | 2º semester | 7 ECTSNO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed
Application Interfaces and DesignTo be added…1º year | 2º semester | 6 ECTSNO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed
Project IThis subject aims to foster interdisciplinarity with other subjects of this course, providing students skills in terms of the creation, management and development of a computer project. Objectives / General Skills.
1. Provide a broad and integrated view of the content covered in the various curricular units involved in the project;
2. Develop techniques and methodologies that enable the effective execution of projects to be enhanced;
3. Foster students’ entrepreneurship and critical spirit;
4. Use software project management methodologies and tools
5. Develop a project using a specification
1º year | 2º semester | 7 ECTS

To be able to sign up for this course, the students must also be enrolled in the subject Application Interfaces and Design; and the subject Object Oriented Programming.
NO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed

2º YEAR
DatabasesAt the end of the subject, students should be able to:
1 – Developing the relational model of a database
2 – Apply the process of normalization of a database
3 – Implement databases
4 – Perform queries in SQL language
5 – Automate DB procedures: triggers and stored procedures
6 – Manage and administer databases
7 – NoSQL: Collections, documents, CRUD Operations
2º year | 1º semester | 5 ECTSYES
Graphical ComputationThe main goal of this subject is to understand the basic concepts of Web graphic animation (2D) and computer graphics (3D). Students will know and distinguish different tools of animation and computer graphics and will be able to develop 2D and 3D animations on web pages using the HTML5 Canvas element, CSS – Cascading Style Sheet, SVG – Scalable Vector Graphics, and JavaScript-based libraries.2º year | 1º semester | 7 ECTSYES

If the portuguese students agree on teaching in english, the teaching will be done in english
Software EngineeringTo be added…2º year | 1º semester | 6 ECTSNO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed
Cognitive Ergonomics and Interaction DesignAt the end of the course the student is expected to be able to:
1) Understand the cognitive processes and their mechanisms;
2) Understand and apply the explored cognitive ergonomic concepts to the analysis and conceptualization of multimedia products;
3) Acquire the fundamentals concepts of interaction design, HCI guidelines and usability principles, applied to diverse platforms/media;
4) Understand and transpose prototyping and conceptualization technics to multimedia projects that aim to optimize HCI;
5) Acquire and apply usability evaluation techniques and methodologies.
2º year | 1º semester | 5 ECTSYES

If the portuguese students agree on teaching in english, the teaching will be done in english
Web Programming IThe goal of the subject is to know the main protocols, standards, languages, frameworks, and tools used in Web programming in order to master the design and implementation of Web applications using front-end frameworks while acquiring good practices in the integration of services. With these competences students should apply standards and specifications for the Web, master coding of scripts through client-side scripting languages and frameworks and know how to invoke services and APIs to make Web applications more dynamic and interactive.2º year | 1º semester | 7 ECTSNO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed

2º SEMESTER
Web Programming IIThe main goal of this subject is to know the main protocols, standards, languages, frameworks and tools used in server-side Web programming. Students will be able to design and develop REST APIs through server-side scripting languages (coupled with client-side languages) to make Web applications more dynamic and interactive and will apply the acquired knowledge in the development of an integrative project.2º year | 2º semester | 7 ECTSYES

If the portuguese students agree on teaching in english, the teaching will be done in english
Artificial IntelligenceTo be added…2º year | 2º semester | 6 ECTSNO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed
Web Testing and PerformanceSkills to be acquired:
1. Understand the importance of performance in the development of web applications;
2. Know the main performance metrics used to assess web applications performance;
3. Know the main performance tools used to assess the performance metrics;
4 . Know the techniques used in code and assets optimization;
5. Understand the importance of testing applications;
6. Know and distinguish the several types of testing methods;
7. Know some tools and technologies used for testing;
8. Identify the needs of software test automation;
9. Define and develop a test strategy.
2º year | 2º semester | 6 ECTSYES
Project IIThis subject aims to foster interdisciplinarity with other subjects of this course, providing students skills in terms of the creation, management and development of a computer project. Objectives / General Skills.
1. Provide a broad and integrated view of the content covered in the various curricular units involved in the project;
2. Develop techniques and methodologies that enable the effective execution of projects to be enhanced;
3. Foster students’ entrepreneurship and critical spirit;
4. Use software project management methodologies and tools
5. Develop a project using a specification
2º year | 2º semester | 6 ECTSNO

3º YEAR
Mobile and Ubiquitous Computing This subjects aims to develop skills in the development and maintenance of Web Mobile Applications with React and Hybrid Mobile Applications targetted to Android and iOS operating systems with React Native.3º year | 1º semester | 6 ECTSYES
Innovation and Entrepreneurship General skills to be acquired:
1 – Develop skills of entrepreneurship, management, planning, creativity and innovation.
2 – Promote and implement creativity and innovation at the individual and / or group level;
3 – Create and implement projects;
4 – Identify and know how to select in each case the various financing alternatives;
5 – Recognize the relevance of financing sources (own and others);
6 – Present projects to potential investors and / or partners.
3º year | 1º semester | 5 ECTS

To be able to sign up for this course, the students must also be enrolled in all the other subjects from the 3rd year.
NO

The professor will occasionally do small remarks in english, in addition to an overview at the end of each class about the contents that were addressed
Electronic Business and SecurityAnalyze and understand the human, technological and business environment associated with electronic commerce;
Use technologies to support e-commerce;
Understand the issues behind publishing an e-commerce website.
3º year | 1º semester | 6 ECTSYES

If the portuguese students agree on teaching in english, the teaching will be done in english
Advanced Prototyping on Digital PlatformsAt the end of the course the student is expected to be able to:
1) Apply the main concepts of Graphic and User Interface Design (learned previously), in the creation and development of interfaces based on an UX design and multiplataform logic;
2) Understand and apply several design and prototyping techniques in development of applications adapted to different media and contexts of use;
3) Understand and assimilate the theory and practice of motion design and micro-interactions in order to include in web/mobile development;
4) Documenting and implementing projects using prototyping and motion design tools.
Note: It is important that foreign students attending this subject already have advanced knowledge about UI, and advanced skills about Graphic Design and Prototyping Tools (Figma, Adobe XD, Adobe Illustrator, and so on.).
3º year | 1º semester | 6 ECTSYES

If the portuguese students agree on teaching in english, the teaching will be done in english