ECTSCodeAvailability
7.06368English

Syllabus:

General objectives: Provide students with skills on general concepts of programming concepts; Provide students with skills that enable them to develop programming projects. Specific objectives: I. Know the computer as a programmable tool; II. Analyze a problem and structure its resolution as an algorithm; III. Implement algorithms in C language; IV. Develop simple programs legibly and document the work done; V. Analyze, evaluate and critique programs; VI. Develop more complex programming projects, working in groups.

ECTSCodeAvailability
6.01673Tutorial

Syllabus:

GENERAL: To analyse in depth problems and situations; To select the most suitable methodologies for solving problems; To analyze, test and criticize solutions; Handling a mathematical software. SPECIFIC: To know and operate with complex numbers; To recognize and operate with matrices and determinants; To solve systems of linear equations; To determine eigenvalues and eigenvectors of a matrix; To identify and operate in vector spaces and linear transformation; To use free software to operate with complex numbers, matrices and solving systems of linear equations.

ECTSCodeAvailability
5.01894Tutorial

Syllabus:

General Objectives: GO1 – of digital systems; GO2 – of operating systems; GO3 – networks of computers. Specific Objectives: SO1 – understanding the nature of digital systems (to achive GO1); SO2 – identify gates (to achieve GO1); SO3 – analyze and implement basic digital circuits (to achieve OG1); SO4 – design of basic digital circuits (to achieve OG1); SO5 – perform maintenance on basic digital circuits (to achieve OG1); SO6 – using the command line of operating systems (to achieve OG2); SO7 – manage users (to achieve OG2); SO8 – manipulate the file system (to achieve OG2); SO9 – control operating system processes (to achieve OG2); SO10 – identify the different types of computer networks and related components (to achieve OG3); SO11 – explain the operation of computer networks and main communication protocols (to achieve OG3).

ECTSCodeAvailability
7.02530Tutorial

Syllabus:

General objectives: a) Plan and develop solutions, in the form of algorithms, in order to solve problems of different degrees of complexity. b) Recognize, characterize and apply concepts of the Imperative Programming Paradigm. Specific objectives: I. Identify different types of programming languages; II. Recognize and understand the semantics and syntax of C language; III. Implement algorithms in C language; IV. Identify and apply library functions; V. Develop adequately structured programs; VI. Critically analyze a program in terms of correctness and performance.

ECTSCodeAvailability
6.06370Tutorial

Syllabus:

GENERAL: – Search about subjects regarding the methods and technologies that it uses. – Analyze problems and situations in an in-depth way. – Specify requirements for solution. – Select the most appropriate methodologies for problem solving. – Analyze, experiment and comment on solutions. – Use available resources (budget, time, materials, human effort, etc.) with safety. – Understand and produce technical and scientific information in your training area. Specific objectives: O1- To study what types of errors are made in approximations and the stability of numerical methods. O2- Write the function that best approximates a set of data. O3- Proceed to the analysis and interpretation of sample data, using the inference techniques. O4- Properly use linear regression methods. O5- Applying Classification Methods.

ECTSCodeAvailability
7.01899Tutorial

Syllabus:

Objectives: – Provide the students with knowledge and practical experience on the practices and methodologies for software development; – Understand and correctly apply the key techniques for software quality control, with emphasis on the techniques for software testing and software configuration management; – Provide the students with practical skills for software development, according to Test-Driven Development (TDD) approach; – Know and interpret models for the continuous improvement of the software development life cycle. Syllabus: 1) Background and general concepts (introduction and review of software development); 2) Software Development Methodologies; 3)Software Quality fundamentals; 4)Introduction to the software quality management; 5)Software e Quality Assurance and underlying sub processes; 6)Software Testing, Quality Control and Software Configuration Management; 7)Models for continuous improvement of the software development process; 8)Quality metrics and measures.

ECTSCodeAvailability
5.01948Tutorial

Syllabus:

Objectives: – Know the main concepts in annotating documents and current techniques for specifying markup languages (Obj1). – Understand and apply basic rules associated with the XML and JSON formalism, as well as specific languages for different aspects of document processing, such as: typing, formatting and graphics processing (Obj2). – Explore technologies for structuring documents and support its production, processing and storing using document collections (Obj3). – Know different storage approaches for semi-structured data (Obj4). – Develop prototype of applications (Obj5). Syllabus: 1) Introduction to XML; 2) Validation of XML documents; 3) Navigation in XML documents; 4) Transformation of XML documents; 5) Presentation of XML documents; 6) Querying XML documents; 7) Manipulating, storing and retrieving XML; 8) Manipulating, storing and retrieving JSON documents; 9) Managing and querying data from document oriented databases.

ECTSCodeAvailability
5.01635Tutorial

Syllabus:

Objectives: 1- Identify the major operating systems and their components. 2- Identify the different types of operating systems. 3- Understand how operating systems, and their components, work. 4- Develop concurrent applications. Syllabus: 1- Operating systems architectures. 2- Process and process scheduling. 3- Process scheduling algorithms. 4- Interprocess communication. 5- Deadlocks. 6- Classical synchronization problems. 7 – Memory management. 8- Virtual memory. 9- Device management.

ECTSCodeAvailability
7.02982English

Syllabus:

General objectives: – Understand and use efficiently and effectively advanced data structures. – Build algorithmic solutions to simple and complex problems using the object oriented paradigm. Specific objectives: 1. To know the characteristics of the Java language; 2. Being able to use a development environment for Java applications; 3. Recognize and understand the semantics and syntax of the Java language; 4. Analyze and understand code that is based on the object oriented programming paradigm; 5. Reuse, modify, and develop code using the Java language in order to respond to a given problem.

ECTSCodeAvailability
6.04411English

Syllabus:

General objectives: – Identify and understand the typical problems that exists on mobile systems. – Develop applications for the Android platform, as well as, understand which application components must to be used for each purpose. Specific Objectives: I) Knowing the existing challenges in developing applications for mobile devices. II) Distinguish the different components of an Android application. III) Define and structure solutions for the Android platform. IV) Develop native applications for Android mobile devices. V) Develop applications that work effectively in tablets and smartphones. V) Publish an Android application.

ECTSCodeAvailability
5.02988Tutorial

Syllabus:

The main goals of this curricular unit are: – Provide students with technical skills in the systems administration field; – Present the systems administration in the context of service providing. More specifically, after concluding this curricular unit, the student should be able to: a) Install and provide remote support for large scale systems; b) Select an O.S. according the technical requirements; c) Troubleshooting any reported problems; d) Install and maintain different network services (DHCP, DNS, HTTP, Email, etc.); e) Manage the systems resources; f) Automate the system management and maintenance tasks.

ECTSCodeAvailability
7.02469Tutorial

Syllabus:

The general objectives of this course are to provide students with the skills to rapidly develop applications based on an agile development methodology and supported by collaborative work tools. More specifically, upon completion of this curricular unit the student should be able to: I. Integrate the application development process with the Application Lifecycle Management (ALM); II. Develop an application based on an agile methodology; III. Understand and implement the use of Version Control and Continuous Integration tools; IV. Understand and implement the concept of Multi-Tier Architecture; V. Understand and implement the Object-Relational Mapping (ORM) concept; VI. Understand and implement the concept of Service Oriented Architecture (SOA).

ECTSCodeAvailability
6.01637Tutorial

Syllabus:

OB1. Understand the scope of information systems in organizations; OB2. Understand the organizational aspects involved in the implementation of new information technologies and their impact on organizations; OB3. Analyze information systems in the context of the organizations that they support, separating the technological from the organizational and management aspects; OB4. Know the factors involved in the use and impact of information systems, and the determinants of their success and/or failure; OB5. Model business processes using BPMN (Business Process Modeling Notation), and enable the automatization of business processes.

BUSINESS SCIENCES
ECTSCodeAvailability
7.01897English

Syllabus:

OB1. Understand the fundamental concepts of software engineering;
OB2. Distinguish the concepts of methodology, method, technique and tool;
OB3. Know the main types of object-oriented analysis models, for the representation of software requirements;
OB4. Create some artifacts of object-oriented analysis;
OB5. Compare the processes of development according to the structured analysis and object-oriented analysis;
OB6. Know and use CASE tools (Computer Aided Software Engineering)
OB7. Know and use Software Engineering standards.

CP1. Overview of Software Engineering;
CP2. Requirements Engineering;
CP4. Concepts Based on Object Modeling;
CP5. Modeling in UML;
CP6. CASE tools (Computer Aided Software Engineering);
CP7. Standards for Software Engineering.

ECTSCodeAvailability
6.06369Tutorial

Syllabus:

General:
– To select the most appropriate methodologies to solve problems;
– To analyse, experiment and critique solutions;
– To analyse problems and situations in an in-depth way.
Specific:
O1 – To calculate numerically the derivative from a tabulated function;
O2 – To solve numerically a nonlinear equation;
O3 – To identify and correctly apply the different techniques in obtaining a primitive of a real function of real variable; O4 – To apply numerical and analytical integration methods to the calculation of areas;
O5 – To analyze the convergence of a numerical series using the appropriate criteria;

1. Complements of the Differential Calculus in R 1.1 Derivation rules
1.2 Inverse trigonometric functions
1.3 Applications of derivatives
2. Error Theory
3. Numerical Differentiation
3.1 Formula of the 3 and 5 points
4. Solutions of nonlinear equations
4.1 Bisection method
4.2 Newtow method
5. Undefined Integral
5.1 Definition and Properties
5.2 Integration by substitution and by parts 5.3 Integration of rational functions
6. Defined Integral
6.1 Geometric interpretation and properties
6.2 The fundamental theorem of integral calculus
6.3 Application of defined integral to the calculation of areas
7. Numerical Integration
7.1 Rule of trapezes and Simpson
8. Numerical Series
8.1 Definition, characterisation and convergence study (divergence)

ECTSCodeAvailability
6.02869Tutorial

Syllabus:

General:
– To select the most appropriate methodologies to solve problems;
– To analyse, experiment and critique solutions;
– To analyse problems and situations in an in-depth way.
Specific:
O1 – To calculate numerically the derivative from a tabulated function;
O2 – To solve numerically a nonlinear equation;
O3 – To identify and correctly apply the different techniques in obtaining a primitive of a real function of real variable; O4 – To apply numerical and analytical integration methods to the calculation of areas;
O5 – To analyze the convergence of a numerical series using the appropriate criteria;

1. Complements of the Differential Calculus in R 1.1 Derivation rules
1.2 Inverse trigonometric functions
1.3 Applications of derivatives
2. Error Theory
3. Numerical Differentiation
3.1 Formula of the 3 and 5 points
4. Solutions of nonlinear equations
4.1 Bisection method
4.2 Newtow method
5. Undefined Integral
5.1 Definition and Properties
5.2 Integration by substitution and by parts 5.3 Integration of rational functions
6. Defined Integral
6.1 Geometric interpretation and properties
6.2 The fundamental theorem of integral calculus
6.3 Application of defined integral to the calculation of areas
7. Numerical Integration
7.1 Rule of trapezes and Simpson
8. Numerical Series
8.1 Definition, characterisation and convergence study (divergence)

ECTSCodeAvailability
7.02980English

Syllabus:

The general objectives of this curricular unit are:
– To know and understand the fundamental concepts associated with object-oriented programming paradigm (class, object, encapsulation, dependencies between types, interface, inheritance and polymorphism)
– Apply and extend the knowledge of object-oriented programming concepts within the development of solutions.

More specifically, after concluding this Curricular Unit, the student should be able to:
1. To know the characteristics of the Java language;
2. Being able to use a development environment for Java applications;
3. Recognise and understand the semantics and syntax of the Java language;
4. Analyze and understand code that is based on the object oriented programming paradigm.
5. Reuse, modify, and develop code using the Java language in order to respond to a given problem.

1. Introduction to the Java language
2. Data Types and Operators
3. Control Flow
4. Classes, Objects and Methods
5. Inheritance and Polymorphism
6. Exception Handling
7. Input / Output
8. Introduction to the Collections Platform

ECTSCodeAvailability
4.06392Tutorial

Syllabus:

With this course is intended that students are able to acquire, understand and apply knowledge about:
GO1 – digital systems;
GO2 – computer architecture.

After concluding this curricular unit, the student should be able to:
SO1 – represent digital information (to achieve GO1);
SO2 – analyze combinatorial circuits (to achieve GO1);
SO3 – analyze arithmetic circuits (to achieve GO1);
SO4 – analyze sequential circuits (to achieve GO1);
SO5 – analyze the internal organization of a computer (to achieve GO2);
SO6 – analyze the internal structure of a processor (to achieve GO2);
SO7 – analyze the instruction set processor (to achieve GO2);
SO8 – programming in assembly (to achieve GO2).

CP1 – Combinatorial Circuits
CP2 – Operating Circuits
CP3 – Sequential Circuits
CP4 – Architecture of a Computer
CP5 – Instruction Set
CP6 – 8085 Microprocessor
CP7 – Memory Systems
CP8 – Inputs/Outputs

ECTSCodeAvailability
5.06371English

Syllabus:

In order to obtain approval, the student must be able to:
1. Respond to the needs of an organization as “Project Managers”, with a special focus on Information Systems Projects, from the perspective of a software house, solution integrator or client.
2. Recognize the importance, responsibility, and challenges of the role of the project manager.
3. Understand the concepts and techniques, according to the best design practices, aligned with the PMBOK processes.
4. Understand the financial concepts of project planning and monitoring.
5. Recognize critical success factors and risks in implementing an Information System Project.
6. Know emerging trends in the management of IS projects, namely Agile and Scrum.
7. Use tools to manage IS projects to improve project planning, organization and control.

1. Introduction to Project Management
a. Project Definition
b. The Importance of Project Management
c. Project / Program / Portfolio Concept
d. Project Management of Information Systems
2. Project Development Cycle
a. Phases of Project and “Phase Gates”
b. Process / Process Group
c. Knowledge areas
i. Integration
ii. Scope
iii. Schedule
iv. Costs
v. Quality
vi. Resources
vii. Communication
viii. Risk
ix. Procurement
x. Stakeholders
3. Financial management of projects
a. Financial Planning (Profits & Losses)
b. Follow-up of project implementation
4. The risk management of Information Systems projects
5. “AGILE” project management practice
a. Definition
b. Manifest
c. Principles and Characteristics
6. Project Management Information Systems (PMIS)
a. Introduction to MS Project
b. Agile Management with Trello

ECTSCodeAvailability
6.02984Tutorial

Syllabus:

After concluding this Curricular Unit, the student should be able to:
– Apply strategies to problem solving;
– Write algorithms for any kind of problems;
– Evaluate the performance of different algorithm solutions;
– Construct mathematical models for problem solving;
– Apply theoric and practical issues for specific problem solving;
– Understand the benefits of the theoric and practical issues for decision making;
– Apply mathematical modeling technics for real world problem solving.

1. Problem Modeling
2. Introduction to Linear Programming
3. Simplex Method
4. Complexity Theory
5. Complexity Analysis in Problem Solving
6. P, NP e NP-Complete Problems
7. Heuristic Methods
8. Traveling Salesman Problem
9. Transportation Problems
10. Assignment Problems

ECTSCodeAvailability
6.01636English

Syllabus:

The general objectives of this curricular unit are:
– Design, model, implement and manage Databases.

More specifically, after concluding this Curricular Unit, the student should be able to: – Know existing Database Technologies
– Question databases in relational Algebra and SQL
– Plan, Design and Manage Databases
– Normalize a Database Schema
– Know emerging Database Models (DataWarehousing, DataMining)

Theoretical Classes:
1 – Introduction to Databases;
2 – Relational Model;
3 – Relational Algebra and Structured Query Language (SQL);
4 – Database development methodology;
5 – Transaction and concurrency management;
6 – Data Warehousing, Data Mining.

Practical Classes:
1 – Relational Algebra;
2 – Structured Query Language (S.Q.L.);
3 – Normalization;
4 – Database Management Systems: SQL Server 2016 or superior.

ECTSCodeAvailability
7.02535English

Syllabus:

General Objectives:
1 Know and use the Client-Server model as well the main Internet technologies in the development of web applications;
2 Develop web applications using programming languages and tecniques to support the client and server web application components
Specific Objectives:
After concluding this course, the student should be able to:
1. Know and use the Client-Server protocol, the techniques and programming languages used for Web development
2. Identify technologies and software patterns used for developing Web applications;
3. Mastering languages for data structuring in a web environment, presentation using style sheets and logic in web pages;
4. Development of skills for the creation of web applications using client and server languages;
5. Identify the libraries and frameworks to simplify the development of web applications.

1. Introduction to Internet and web application development
2. Hypertext Markup Language (HTML) for semantic Web
3. Cascading Style Sheets (CSS) for web page styling, layout implementation and responsive web
4. Client-Side Scripting (JavaScript) to add logic and functionalities to a website
5. Server-Side Scripting (eg:NodeJs) for the development that manage persistent data
6. Web development frameworks for the development of of web applications

ECTSCodeAvailability
4.02537Tutorial

Syllabus:

OB1. Understand the basics of an Information System, Types and Methodologies of designing an IS
OB2. Understand the role of Information Systems (IS) in organizations and the importance of its alignment with the business strategy;

OB3. Perform a basic usage of an ERP;

OB4. Interpret, classify and explain how the IS contributes to an organization Value Creation;
OB5. Perform a sales and acquisition process interacting with ERP interacting with the main modules (Sales, Procurement, GL Accounting, Cost Accounting, Inventory Management). Recognize the various steps involved.
OB6. Perform a basic Business/Financial Management/IT alignment

1. Information systems: Organizations, Methodologies and Strategy
2. Business applications and ERP
3. Alignment of an information system to the organization and to an integrated business software package
4. Methodologies and design of an Information System
5. Methodologies to help on understanding business models, with the objective of integration with the information systems and business applications
6. Case Study with an ERP usage

ECTSCodeAvailability
18.05134Tutorial

Syllabus:

This course has an overall capability and technical knowledge aggregation purpose.

After concluding this Curricular Unit, the student should be able to develop a software solution or research project, going through its common milestones (planning, design, development, preparation of technical documentation, presentation and discussion).

1- Project selection/ranking and student allocation
2- Development of an IT solution or a research project

ECTSCodeAvailability
5.01644Tutorial

Syllabus:

Allow the students to acquire knowledge of the fundamentals and technologies of Artificial Intelligence and to acquire expertise in this field of study.
After concluding this Curricular Unit, the student should be able to:
I. Describe the history of AI and understand its use in companies and other corporations
II. Know basic concepts and AI techniques
III. Use Data Mining and Machine Learning techniques, being able to distinguish between the more suited methods/algorithms for each type of problem.
IV. Identify the main advantages and disadvantages of the approaches for problem resolution taught, being able to make grounded choices for the more suited for each type of problem
V. Integrate AI techniques and tools in real-life applications, in order to solve real-world problems

1. Introduction to Artificial Intelligence and Knowledge-based Systems
a) Fundamental concepts and evolution
b) Application fields
c) Presentation of the Robocode Framework
2. Acquisition, Representation and Data Processing
a) Identification of relevant variables
b) Extraction, preparation and pre-procesisng
c) Knowledge Representation
3. Instance Based Learning
a) Closest Nearest Neighbour
b) Case Based Reasoning
4. Logic
a) Knowledge Representation using 1st order Logic
b) Reasoning Mechanisms
c) Introduction to PROLOG: facts, rules, variables, operators
d) Control structures, lists and recursion in PROLOG
e) Dynamic update of knowledge and multiple solutions
5. Natural Computation
a) Introduction
b) Genetic Algorithms
6. Learning
a) Introduction
b) Supervised Learning (Decision Trees, Neural Networks, Deep Learning, Ensembles)
c) Unsupervised Learning (Segmentation)

ECTSCodeAvailability
3.05168Tutorial

Syllabus:

Provide to the students contact with the fundamental theories and the main instruments used in contemporary management.
Develop in students the ability to interpret the situations to which they may be exposed as managers and to decide which tools to deal with reality.
Provide contact with the main dimensions of management.

Part 1: Context
The manager these days.
Organizations
The fundamental functions
The history of management
The creation and development of organizations
The organizational strategy
Part Two: Management applications
Accounting and Taxation
The finances
The decision process
The socially responsible organization
The organizational design
Organizational theory
People management
Monitoring and control mechanisms
Part 3: The organization and the people
Motivation
Leadership
Communication
Change management
People development
Dysfunctional management
Part 4: Operations management
The Manufacture
Distribution chains and logistics
Integrated production
Service management
Process management
Project management
The quality
Information Systems
ERP’s
Part 5: Marketing & Sales
Sales management
Marketing
Commercial management
Advertising
Customer acquisition
CRM’s
Social media
Part 6: The Future of Management
Advanced management
The integration
The future