0% found this document useful (0 votes)
19 views

Computer Science

This document outlines the coursework for a 3-year Computer Science degree program. In year 2, students take courses in Financial Management, Software Design, and other topics. Year 3 courses include Cybersecurity, Information Security, and Distributed Computing. The final year focuses on a 12 ECTS Software Engineering course covering the engineering process of software development.

Uploaded by

ahmadnassar137
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Computer Science

This document outlines the coursework for a 3-year Computer Science degree program. In year 2, students take courses in Financial Management, Software Design, and other topics. Year 3 courses include Cybersecurity, Information Security, and Distributed Computing. The final year focuses on a 12 ECTS Software Engineering course covering the engineering process of software development.

Uploaded by

ahmadnassar137
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Computer Science

Year 2:

Course Financial Management for Organizations – 6 ECTS Credits


Objectives This course aims to provide students with a general and structured vision of business
activity, providing the basic knowledge and tools to understand, analyze and evaluate
decisions related to the field of economic and financial management of the company.
This involves, on the one hand, the use of financial information as a basis for the
valuation, planning and control of decision making, and on the other hand, the study of
the appropriate methods for the analysis and evaluation of investment projects and
financing operations. The subject focuses on the application of information and
communication technologies (ICT) to business projects, either as a support to business
processes or as generators of such processes themselves.

To provide the student with the basic knowledge and tools to be able to understand,
value and participate in investment and financing decisions, both for the company and
for individuals. In other words, to enable the student to answer questions such as: How
much to invest, in which assets should he/she invest, how to raise funds, and what is the
profitability of a business project?
2. To provide the necessary knowledge for the use of accounting information as a basis
for planning and control. To teach what an accounting management software
environment would look like.
3. To familiarize the student with the appropriate methods (evaluation criteria, computer
applications, bibliographic material, etc.) for financial decision making.
4. To train the student in the fundamentals of finance at the level required to face the
contents of the related subjects of the higher courses.
5. To facilitate the student's understanding of the process of creating a company, the
generation of ideas and business feasibility analysis (technical, economic and financial).
Contents - Chapter 1. Introduction to economic and entrepreneurial activity.
- Chapter 2. Business creation: from idea generation to business plan.
- Chapter 3. Financial information as a basis for decision making
- Chapter 4. Interpretation and analysis of financial information.
- Chapter 5. Fundamentals of financial valuation
- Chapter 6. Investment analysis: Project evaluation and selection
- Chapter 7. Sources of financing in the company
- Chapter 8. Financial Ecosystem of technological start-ups

Course Software Design – 4.5 ECTS Credits


Objectives The basic aim of the subject is to provide the students with a set of design techniques
and principles that allow them to face the construction of software in a systematic way.
Given its demonstrated efficiency in developing flexible and reusable software, object-
oriented modelling of applications is embraced.

The course is supported by three pillars: learning of modelling principles based on a


standard graphical language; description of an iterative and incremental construction
process driven by use cases; and application of design patterns as efficient solutions to
recurring modelling problems.
Contents - Design concepts
- Models and strategies
- Architectural design
Computer Science

- Reference architectures
- Introduction to the object-oriented paradigm
- Modelling of functional requirements
- Structural modelling
- Behavioral modelling
- Physical modelling
- Object-oriented development process
- Design patterns

Year 3:

Course Cybersecurity – 4.5 ECTS Credits


Objectives As a result of this subject, students will be able to know the main attacks that a computer
system can receive, as well as the possible protection and detection methods that allow
them to avoid damage to the system or minimize its impact. The operation of different
cryptographic protocols will be analyzed, as well as the most important network
authentication and protection systems, identifying their characteristics. Emphasis will
also be placed on the need to include security in the programming and development
tasks of software systems.
Contents - Fundamentals and security mechanisms
- Typology of attacks
- Cryptography
- Secure programming
- Network security

Course Information Security – 4.5 ECTS Credits


Objectives The subject aims to provide a global vision of the concepts associated with the definition,
management and review of information security. As a result of this subject, students will
be able to analyze the information security needs in an organization, evaluate the risks
that affect information resources, catalog and classify them, and determine security
models and policies for the establishment. and implementation of an information
security management system. You will be able to identify the different activities and
define the responsibilities, figures and roles in security management. Likewise, students
will be provided with a set of knowledge about the branches of Law and the regulations
that affect their future professional development. The different legal figures that a
professional in this field usually encounters in the development of their professional
activity will be analyzed, emphasizing the importance of having this updated legal
knowledge about the possible conflicts that may arise in the field of law. Computer
engineering.
Contents - Introduction to information security
- Privacy and digital identity
- Information security management systems
- Risk analysis and management
- Security policies and standards
- Introduction to computer law
- Legislation on protection of personal data
- Intellectual property. Legal protection of software
Computer Science

Course Distributed Computing – 6 ECTS Credits


Objectives On this matter we try that the student acquires the necessary knowledge that will allow
him/her to approach the analysis and design of distributed applications in which two or
more programs must dialog between them to obtain a given result. This knowledge
includes a style of design and implementation that is conditioned by the fact that the
functionalities of the program are distributed between different components that
typically are in different computers, which imposes necessities of interaction between
these components. We will study the different paradigms of distributed computation as
well as the middleware used for the development of this type of applications. Among
other aspects the paradigms that we will study are: client/server, the RPC, the paradigm
of distributed objects in their different implementations, the architectures oriented to
messages, the architectures peer to peer (P2P) and agents, doing special emphasis, in
this last case, to the language of communication and the protocols of interaction
between them.
Contents - Paradigms of the distributed computation.
- The socket API.
- The client/server model.
- Group communication.
- Distributed objects.
- Architectures P2P.
- Message Oriented Midleware.
- Multiagent systems.
- Network services.
- Object spaces.

Course Software Engineering – 12 ECTS Credits


Objectives When the subject finishes the student must understand the construction of the software
as a process of engineering and have a global vision of the above mentioned process.
With this aim it will be presented to the student the software as an element of
engineering that must be constructed in a frame that allows us to predict its qualities.
The study of this frame defined as a set of processes, treated with different level of
depth, and its temporary sequence will constitute the base of the subject.
Contents Theory:
1. The product (4 h.)
1.1. Topics and engineering software
1.2. Importance of the introduction of the Engineering software
1.3. Evolution of the industry of the software
1.4. Characteristics and attributes of the software
1.5. Types of software.
1.6. Inherited software
1.7. Main problems associated to the software
2. Process models for the construction of software (6 h.)
2.1. Definitions of engineering software
2.2. Process models
2.3. Software Process Assessment.
3. Compulsory models for the development of software (6 h.)
3.1. Classical models
Computer Science

3.2. Agile development


4. Engineering requirement (7 h.)
4.1. Introduction
4.2. First questions
4.3. Techniques of apprehension of requirements
4.4. Analysis of requirements.
4.5. Specification of requirements
4.6. Validation of requirements
4.7. Administration of requirements
5. Tests and software maintenance (6 h.)
5.1. Introduction and initial definitions
5.2. Philosophy of Software tests
5.3. The process of test
5.4. Techniques of design of test cases
5.5. Structural tests
5.6. Functional tests
5.7. Tests documentation
5.8. Execution of tests
5.9. Strategy in Tests application
5.10. Tests in developments orientated to objects.
Practices:
1.- Project planning
2.- Execution of processes
3.- Choice of life cycle
4.- Risk management
5.- Requirements engineering
6.- Software configuration management
7.- Tests

Course Informatics Project Management – 4.5 ECTS Credits


Objectives The subject "IT Project Management" will try to make students aware of the essential
processes for managing projects from the moment they are conceived as an idea, with
the appearance of one or more clients, to the closure of the project with the delivery of
its results. Although the vision taught will follow the contents of the PMBOK of the PMI,
which reflects a transversal vision of project management to all engineering, the course
will focus on software projects. However, the aim of the subject is for the student to
know the process areas related to project management and to be able to understand
their impact in order to manage and balance them on a specific project.
Contents Topic 01. Introduction to Project Management
- Concept of project
- Project management
- The project life cycle
Topic 02. Scope Management.
- Concepts and project initiation.
- Scope management
- The requirements
Theme 03. Stakeholder and Communications Management
- Stakeholder identification, planning
Computer Science

- Stakeholder management and monitoring


- Information and Communications Planning, Management and Monitoring
Topic 04. Estimation
- Introduction to Estimation
- Estimation methods
- Complexity factors
- An example
Topic 05. Time management. Planning
- Scope Review. The WBS
- Plan schedule management
- Defining, sequencing and estimating activities
- Develop and control the schedule
Topic 06. Human Resource Management
- Introduction and Resource Management Planning
- Estimating and acquiring resources
- Develop and manage the team
- Controlling Resources
Theme 07. Risk Management
- Introducing and Planning Risk Management
- Identifying Risks
- Qualitative and Quantitative Analysis
- Planning and Implementing Risk Response
- Monitoring risk
Theme 08. Cost Management
- Contextualising and planning Cost Management
- Cost Estimation and Budgeting
- Cost Control
Topic 09: Monitoring and Control and Integration
- Project Management Plan
- Integrated Project Management
- Integrated Change Control
- Crisis in IT Projects.

Course Network and Computer Systems Administration – 4.5 ECTS Credits


Objectives As a result of this subject, students will be able to know the main attacks that a computer
system can receive, as well as the possible protection and detection methods that allow
them to avoid damage to the system or minimize its impact. The operation of different
cryptographic protocols will be analyzed, as well as the most important network
authentication and protection systems, identifying their characteristics. Emphasis will
also be placed on the need to include security in the programming and development
tasks of software systems.
Contents 1. Introduction to administration tasks.
1.1 Introduction to Linux / UNIX systems.
1.2 System and software instalation.
1.3 Automation of tasks.
1.4 Backups.

2. Programming scripts.
Computer Science

2.1 Use of the the command line.


2.2 Regular expressions and text processing.
2.3 Programming of administration scripts.
2.4 Python.

3. Basic administrative activities.


3.1 Process management.
3.1 File system management.
3.2 Users management.
3.3 Local area networks management.

4. Basic server-to-client services.


4.1 Remote access and file transfer.
4.2 File servers.
4.3 Linux-Windows sharing
4.4 Directory services.

TIMING OF LECTURES (5 hours in sessions of 1 hour + 32 hours of personal work):


Day 1 - Introduction to the course, tasks of a systems administrator, system installation
(chapter 1)
Day 2 - Introduction to Unix and Linux (chapter 1)
Day 3 - Programming in Python (chapter 2)
Day 4 - Basic administrative activities (chapter 3)
Day 5 - Basic server-to-client services (chapter 4)

TIMING OF PRACTICES (45 hours in 2-hour sessions + 60 hours of personal work):

Chapter 1
* P1: System installation, 4 hours (sessions 1 and 2) + 5 hours of personal work.
* P2: Software installation, 4 hours (sessions 3 and 4) + 5 hours of personal work.

Chapter 2
* P3: Script programming, 6 hours (sessions 5, 6 and 7) + 14 hours of personal work.

Chapter 3
* P4: Process management, 4 hours (sessions 8 and 9) + 4 hours of personal work.
* P5: Management of files and records, 8 hours (sessions 10, 11, 12 and 13) + 10 hours of
personal work.
* P6: User management, 8 hours (sessions 14, 15, 16 and 17) + 10 hours of personal
work.
* P7: Network management, 6 hours (sessions 18, 19 and 20) + 8 hours of personal work.

Chapter 4
* P8: Service management, 5 hours (sessions 21, 22 and 23) + 8 hours of personal work
Computer Science

Year 4:

Course Data Warehouse and Data Mining – 4.5 ECTS Credits


Objectives The objective of this subject is to introduce the main concepts, architectures,
technologies and techniques related to the construction and exploitation of data
warehouses in the field of business intelligence, as well as in the field of data mining. To
this end, the main problems are presented, and representative methods of the main
types and their application to real cases are described. It provides an overview of
dimensional modeling and describes the basic components of a data warehouse. An
introduction to existing technologies for the efficient implementation of large
warehouses (Big Data) is also provided, as well as the main processes for information
extraction and supporting decision making.
Contents Scenario 1
Data Warehouses
Types and structure of data warehouses
Dimensional modeling
Components of a data warehouse
Extract, Transform and Load (ETL)
Data query and visualization
Column-oriented storage and Big Data
Data mining
Preprocessing methods
Verification methods
Descriptive methods
Predictive methods
Advanced methods
Scenario 2 and 3: No changes

Course Knowledge Representation and Reasoning – 4.5 ECTS Credits


Objectives The aim of the subject is to acquire the skills needed to build systems that are capable of
solving problems in a similar way to humans, such as diagnosing a medical problem or
designing a customized referral system. The subject will focus on learning how to define the
knowledge that a system needs to endow it with intelligent behavior, how to model and
symbolically represent that knowledge, and how to reason automatically about those
representations to achieve intelligent actions. Practical skills will be acquired with the design
of intelligent systems in different areas.
Contents - LECTURES:
- Lecture 1: First order and descriptive logic.
- Lecture 2: Rules-based systems.
- Lecture 3: Logical programming
- Lecture 4: Ontologies
- Lecture 5: Semantic networks
- Lecture 6: Knowledge graphs.

- ASSIGNMENTS:
- Assignment I: Representation and reasoning with first-order logic.
- Assignment II: Representation and reasoning with rules-based systems with
Computer Science

forward chaining.
- Assignment III: Representation and reasoning with logical programming.
- Assignment IV: Representation and reasoning with ontologies and descriptive logic.
- Assignment V: Representation and reasoning with semantic networks and
knowledge graphs.

Course Intelligent Systems – 4.5 ECTS Credits


Objectives Agents applying problem solving methods use state representations and solutions to
obtain a solution to a problem that is not always optimal, but is of sufficient quality for
the time and computational resources available. Students will know and know how to
apply the most common general-purpose algorithms and heuristics for solving problems
with state representations, adversarial search and constraint satisfaction.
Contents 1. Introduction to intelligent agents
2. Search strategies
- Optimization and Search
- Local search and heuristic search
- Search with restrictions
3. Trajectory-based metaheuristics
- Introduction
- Simulated cooling
4. Population-based Search Metaheuristics
- Bio-inspired computing
- Genetic algorithms
- Ant Colony Algorithms
- Particle Swarm Algorithms
- Genetic Programming
5. Introduction to multi-objective optimization
6. Search among adversaries
- Two-agent games
- Minimax and Alpha-Beta Algorithms
- Evaluation functions
- Stochastic Games

Course Foundations of Parallel Systems – 4.5 ECTS Credits


Objectives This course aims to introduce students to the architecture of parallel and distributed
systems, from multicore and manycore processors to clusters, large supercomputers and
server farms. These systems are studied from the point of view of hardware and
configuration, introducing performance improvement techniques and cost analysis, and
improving their reliability and availability.
Contents The subject is divided into 4 topics:

1. Introduction to parallel and distributed systems. Basic concepts about performance.


2. Types of architecture of parallel systems. Interconnection networks.
3. Multiprocessor and multicore shared memory systems. Cache coherency and
consistency. Manycore systems and GPUs.
4. Message passing systems. Programming with MPI. Clusters.
Computer Science

Course Cloud Computing – 4.5 ECTS Credits


Objectives The objective of this subject is to train students in the concept of cloud computing so
that they acquire the necessary skills to, on the one hand, identify in which situations this
type of infrastructure provides an ideal solution and, on the other hand, to use from a
practical point of view the current virtualization technology, container orchestration and
application development and deployment, paying special attention to the use of
microservices-based architectures.
Contents 1: Introduction to Cloud Computing.
2: irtualization Mechanisms
3. Applications and services in the cloud
4. Container orchestration
5. Introduction to microservices
6. Microservices architecture, patterns and anti-patterns Topic 7.
7. Serverless architectures

Course Machine Learning – 4.5 ECTS Credits


Objectives To understand the main concepts associated with machine learning, as well as its
mathematical basis. To analyse some of the most relevant and widely applied strategies
in the automatic design of regressors and classifiers, as well as supervised, unsupervised
and reinforcement learning approaches. In addition to analysing the pros and cons of the
different approaches considered, some common problems that can arise from the
training and test data sets used, both intrinsic and due to their inappropriate use, will be
discussed.
Contents 1. Preliminary concepts of machine learning
2. Dimensionality reduction
3. Classification and linear regression
4. Decision trees
5. Committees
7. Neural networks and deep learning
6. Support Vector Machines
8. Clustering
9. Reinforcement learning

You might also like