This site uses only proprietary and third party technical cookies. By continuing to browse the site you are agreeing to our use of cookies. I agree I want to find out more
Browse the Department site:
Browse the Teaching site:

Degree Profile - Master Degree in Computer Science

Type of Degree & Length

Single Degree designed with two international Tracks, providing double Diploma (120 ECTS-credits), 2 years

Institution(s)

Università degli Studi dell’Aquila - University of L’Aquila, ITALY

International Track: Global Software Engineering European Master – GSEEM

  • IT-SE: University of L’Aquila and Malardalen University
  • IT-NL: University of L’Aquila and VU University Amsterdam

International Track: Ubiquitus Computing and Distributed Systems – UBIDIS

  • IT-FR: University of L’Aquila and University of Nice-Sophia Antipolis

Accreditation Organisation(s)

- For IT - Italian Ministry of Education and Research - For NL - Accreditation Organisation of the Netherlands and Flanders (NVAO) - For SE - Swedish Board for Accreditation and Conformity Assessment (SWEDAC) - For FR – Ministry of National Education

Period of Reference

Programme validated for 3 years for cohorts starting in October 2012

Cycle /Level

QF for EHEA: Second Cycle; EQF level: 7; NQF for Italy: Laurea Magistrale

A. Purpose

The purpose of this Master’s Programme is to provide students with the knowledge and skills necessary for an advanced-level professional career or for doctoral studies. This is done through course work in the foundational elements of the field and in several graduate specialized fields. Areas of specialization include advanced algorithms also for distributed systems, artificial intelligence, bioinformatics, computer and network security, advanced software engineering, model driven development, formal methods, mobile and internet computing and theoretical computer science. A specialization consists of a set of required courses, a set of courses out of which the students must select some subset, and a set from which to select additional courses. To complete the Programme the student needs to gain 9 ECTS for Traineeship and 18 ECTS for the preparation of the final Dissertation which is research-oriented. The Master’s Programme offers two International specializing Tracks, providing a double Diploma with the foreign partner Universities. Students selected for the international tracks prepare only one thesis for the final dissertation that they defend in both Universities. The evaluation is done by the partner Institutions according to their rules and the agreements subscribed.

B. Characteristics

1. Disciplines / Subject Areas

Strong theoretical basis on Computer Science : Mathematics (80:20)

2. General / Specialist Focus

The degree provides general education in theoretical and applied Computer Science with special emphasis on advanced algorithmic techniques, artificial intelligence, bioinformatics, distributed systems, computer and network security, and language competences. Specific specializations are provided by the two International Tracks: - GSEEM: advanced competences and special focus on Software Engineering. - UBIDIS: advanced competences and special focus on Ubiquitous Computing, Networking and Distributed Systems.

3. Orientation

Research orientation, with a strong component of application skills in the several contexts. Specializations are provided envisaging specific employment/career opportunities in areas like consultancy, the software business, the private sector businesses or the government sector.

4. Distinctive Features

The course is enhanced by the contribution of several international bilateral agreements for the exchange of students and staff. Furthermore a variety of additional short courses held by experts working in major ICT companies, provide the students with several opportunities to perform stages in these companies, in Italy and abroad. The students enrolled in the International Tracks, by attending courses in the partner Institutions within the agreed one-year mobility window, will receive a Double Degree Diploma.

C. Employability & Further Education

1. Employability

The Programme prepares students for careers as software designers and programmers and/or project leaders, and for positions in system management and security, and/or quality assurance. Computer scientists are welcome in a variety of jobs including systems manager, information analyst, software engineer, policy advisor or project manager. Many of our former students have founded their own start-ups.

2. Further Studies

The degree holder is able to immediately access PhD Programmes in Computer Science, more generally in ICT, or in other interdisciplinary PhD Programmes.

D. Education Style

1. Learning & Teaching Approaches

Lectures, laboratory classes, seminars, small group work, projects and experimentations, individual study based on text books and lecture notes, individual consultations with academic staff, preparing Diploma dissertation. Great importance is given to teamwork with international teams comprising members from different nationalities.

2. Assessment Methods

Written exams, oral exams, laboratory and project reports, oral presentations, continuing assessments, final comprehensive exam, assessment of Diploma dissertation. Particular emphasis is given to implementation, simulation, comparison of competing solutions. The final exam consists in the preparation and dissertation of a written text aimed at demonstrating that the candidate has acquired the essential professional skills and competences related to the professional profile. Students enrolled in the International Tracks will defend the thesis in both universities and receive a joint evaluation of their work.

E. Programme Competences

1. Generic

The degree programme meets the competences and quality assurance procedures required by the National Higher Education Quality Assurance Agency (AVA) requirements for degree courses at second level and the main national and local employers associations. This includes the Generic Competences expected for the second cycle graduated, as follows:

  • Knowledge, Analysis and synthesis: Knowledge and understanding of specialized topics of the subject area, understanding of the profession and ability to be critical and self-critical; analyze a problem or information needs (of users or organizations) and identify and define the data needed to support decision making to resolve the problem or need with originality and in a independent way; capacity to support professional practice decisions with concepts, methods and theories, following logical reasoning and research approach.
  • Flexible mind: Ability to integrate knowledge and handle complexity and to formulate judgments with incomplete or limited information, but that include reflecting on social and ethical responsibilities linked to the application of their knowledge and judgments; ability to discover, create, evaluate and synthesize reliable data from large disparate sources of unstructured and messy data applying critical thinking in managing the varied formats.
  • Leadership, Management and Team-working: Ability to work in a team and to interact constructively with others regardless of background and culture and respecting diversity; capacity to understand the individual and group dynamics of project teams, and ability to function effectively on teams to accomplish a common goal.
  • Communication skills: Ability to effectively communicate complex information system and rationale underpinning these, orally and in writing, to specialist and non-specialist audiences clearly and unambiguously.
  • Field culture and creativity: Ability to apply and integrate knowledge in practical situations and to handle complexity; ability to transform large data sets through analysis into actionable information that individuals and organizations need; capacity to secure, retain, and preserve data and information using the latest techniques and in accordance with data life cycle management practices and current information policies at the organizational, local, national and global level; ability to identify non-standard solutions to problems and to develop new methods and tools.
  • Learning ability: Recognition of the need for and an ability to engage in continuing professional development and life-long learning in the field, through research in informatics literature in an autonomous and largely self-directed manner.
  • Problem solving: Strong analytical and critical thinking skills to analyze a problem, and identify and define the computing requirements appropriate to its solution also in new environments within multidisciplinary contexts.
  • Other skills: Ability to plan and manage time and to evaluate and maintain the quality of work produced; ability to analyze the local and global impact of computing on individuals, organizations, and society requiring persistence, curiosity, creativity, risk taking, and a tolerance of these abilities in others.

2. Subject Specific

The Programme meets all the Specific Competences as established and agreed in collaboration with the field stakeholders and experts, clustered within the key overarching competences summarized below. Graduates in Computer Science, at 2nd Cycle level, are expected to

Software Development

  • understand and apply fundamentals of logic to problem solving.
  • be able to construct, execute, and debug programs using contemporary integrated software (visual) development environments.
  • understand programming methodologies, including object-oriented, structured, procedural and logic programming.
  • be able to compare currently available programming languages, software development methodologies, and development environments, and select and use those appropriate for a particular project.
  • be able to evaluate code for reusability and library development.
  • be able to assess configuration versus customization impacts when working with third party software packages.

Web Development

  • be able to identify how the internet functions with specific attention to the world wide web and identify basic structural and functional aspects of files, file systems, and interconnectivity between devices.
  • be able to create sites using World Wide Web Consortium formatting and layout standards.
  • be able to integrate multiple components to create a web-based application, including internet protocols, web server controls, authentication of users, SQL data sources, and website management.
  • be able to utilize design strategies to increase the success of locating the site via search engines and meet the needs of clients.
  • be able to evaluate, and maintain an enterprise website.
  • be able to assess effectiveness of web content delivery and recommend technical and design improvements.

Distributed Systems

  • be able to understand the difference between a centralized and a distributed algorithm and to formalize algorithmic problems from real distributed computational problems.
  • be able to analyze the resources (space and time) needed by a distributed algorithm.
  • know efficient algorithms for basic computational distributed problems and understand the difference between a canonical and a strategic distributed system.

Advanced Algorithmic Techniques

  • be able to manage main algorithmic (approximation) techniques like greedy, local search, dynamic programming, linear programming: rounding and primal-dual methods.
  • be able to distinguish among complexity classes for optimization problems and to formalize algorithmic problems from complex computational problems.
  • understand the degree of approximability of a problem and to be able to design efficient algorithmic solutions.
  • be able to understand complex algorithms solutions and to formal proving performances of their algorithmic solutions for complex computational problems.

Math Computations and Statistics

  • be able to use data collection and statistics as tools to reach reasonable conclusions.
  • be able to apply logical and mathematical concepts to computing, including proofs, set theory, matrix theory, and Boolean algebra.
  • be able to formulate and design solutions to technical, business, and economic problems applying the theories of finite math, applied calculus, discrete math, analysis, and probability and statistics.
  • be able to model and evaluate information systems utilizing appropriate mathematical and statistical techniques.

Databases

  • be able to design and implement databases using relational theory and/or other data structures to ensure system scalability, security, data integrity, performance, and reliability.
  • be able to maintain data integrity while migrating data into the database.
  • be able to develop and implement complex queries for business analysis and decision-making.
  • be able to differentiate roles of database administrator versus data analyst.
  • understand the differences between a database and a data warehouse in relation to their application to business intelligence, data analytics, and data mining.
  • understand new advances in database models and languages and apply them in the enterprise.
  • be able to integrate distribution strategies, concurrency mechanisms, query optimization techniques, recovery, and security procedures in database design.
  • be able to evaluate data warehousing and mining processes to centralize data and data-mining software and other tools to support business intelligence and data analytics.

Network and Data Communications

  • be able to list and define appropriate networking terminology.
  • be able to explain operation of local area networks and their constituent components.
  • be able to describe different methods of network resource allocation and list factors that affect network performance.
  • be able to describe cloud and/or distributed computing infrastructure and methods of implementing networked mass storage systems.
  • be able to design and implement a networked application or function and to configure a network to deploy a potential information system.
  • understand security implications for the development and use of networks.
  • be able to plan a new enterprise network with respect to transmission media, configuration, network appliances, etc.
  • be able to analyze and resolve complex networking and data communication infrastructure for interoperability, scalability, speed, cost, security, performance, or reliability issues.
  • be able to design a networking infrastructure for a given organization according to its needs.
  • be able to develop and implement a backup and disaster recovery plan.
  • be able to evaluate the suitability of an existing network for deploying a potential information system.

System Analysis and Design

  • be able to recognize that a problem may have multiple solutions by listing pros and cons for each alternative.
  • be able to use computer systems by creating and modifying programs, by identifying hardware and software components, and discussing internet technologies.
  • be able to explain general systems theory, primarily by breaking down a system or process into its individual components, so that each component can be analyzed as an independent entity, and the components can be added to describe the totality of the system.
  • demonstrate use of design and development tools and industry-relevant methodologies throughout the analysis/design cycle.
  • be able to analyze and document requirements and work with users to categorize and prioritize requirements in order to present alternatives.
  • be able to analyze organizational systems in order to determine how current systems might be improved.
  • have capacity to develop a logical design involving various implementation approaches.
  • be able to determine risk, feasibility, and performance when presenting systems alternatives.
  • be able to implement and document a physical system that is scalable, secure, and reliable.
  • have capacity to evaluate customer satisfaction at all phases of a system's development life cycle.
  • have capacity to assess software development and project controls through application of quality metrics and recommend process improvements.
  • be able to incorporate new methodologies, tools, and industry best practices.
  • know how mentor and coach new hires on organizational best practices regarding systems analysis and development.

Computer and Information Security

  • understand the principles of computer security together with the ethical, legal, and compliance implications.
  • have capacity to safeguard data by ensuring individuals development of secure software that prevents security issues, such as buffer Identify proper software tests that should be used in developing systems.
  • be able to identify and analyze the risk related to new and/or emerging security threats caused by emerging technologies, such as for cloud and mobile environments.

Project Management

  • have capacity to recognize the functions of planning and tracking projects.
  • be able to explain factors of project success and project failure.
  • be able to planning and tracking of projects using an automated scheduling tool utilizing multiple estimating techniques.
  • be able to conduct a basic cost benefit analysis that covers the total cost of ownership for the project and its outcomes.
  • be able to formulate clear and concise, measurable Project Objective(s).
  • have capacity to develop a Work Breakdown Structure that considers all of the applicable project requirements as defined by the project’s scope by applying the appropriate Project Control activities necessary to keep a project on task.
  • be able to identify project risk factors and the mitigation actions that will reduce these risks and their potential impact.
  • have capacity to develop an initial project plan and all of its components as dictated by the project’s size and complexity.
  • be able to evaluate and implement a continuous improvement of teams.
  • be able to justify the proposed project to key stakeholders.
  • be able to revise schedule changes and constraints throughout the project’s life cycle while managing the project’s critical path and to appraise and prioritize appropriate risk-management processes, assess risk probability and its potential impact.

Team Work and Communication

  • be exposed to teamwork and paired activities and be able to recognize roles embedded within teams and their values.
  • demonstrate the ability to learn and problem-solve in a team environment and to deal with conflict in teams.
  • demonstrate the ability to align team goals with business objectives.
  • be able to conduct team meetings by utilizing effective time management and to effectively identify and document roles and responsibilities of team members.
  • have knowledge of and ability to use the principles of appropriate and effective public speaking skills in professional presentations by effective use of software and design.
  • demonstrate written and oral competencies as they relate to employment and business communication.
  • demonstrate effective cross-cultural communication.
  • be able to distinguish ideas by others separately from original thought.
  • be able to apply appropriate formatting in citing sourced references and report on a project’s status using appropriate content and detail for different levels within the organization.

Professional Practices

  • recognize the ethical implications involving current events and technology.
  • recognize the need for, and be able to engage in life-long learning within the profession.
  • practice lifelong learning as a professional and ethical responsibility to ensure competence and protect public welfare.
  • be able to analyze and implement new regulations in order to comply

F. Complete List of Programme Learning Outcomes

A newly graduated Master of Computer Science will acquire:

  • Knowledge and understanding of the Advanced Aspects of Computer Science in: algorithms, programming paradigms, programming methodologies, operating systems, database theory, software engineering, artificial intelligence, networking, operational research and optimization.
  • Knowledge and understanding of the practical aspects of Computer Science, such as programming languages, programming and software design methodologies, database applications, web and mobile applications, networking applications.
  • Ability to design and analyze advanced algorithms, select appropriate paradigms, and utilize modern development and testing tools.
  • Ability to apply knowledge to practical implementations in the many areas of application of Computer Science, such as physics, astronomy, chemistry, biology, engineering, medicine, economics, accountancy, actuarial science, finance digital forensics, and many others.
  • Ability to use logical reasoning and quantitative calculation, and to make use of mathematics as the underlying language of science. The principal branches of mathematics relevant to Computer Sciences are algebra, analysis, discrete mathematics, applied calculus, linear programming, computing theory, complexity theory, probability, set theory.
  • Ability to up-grade knowledge and problem-solving tools derived from the study of theory and foundations, and ability to exploit these competences to provide logical, efficient, and precise technical solutions to complex problems.
  • Ability to enhance and use knowledge and understanding of special fields in order to prepare for future specialization and/or interdisciplinary approaches.
  • Ability to understand, use and customize the main state-of-the-art systems, also for mobile devices.
  • Ability to apply knowledge and understanding, both theoretical and practical, to the invention, design and practical implementation of new computational tools and innovative applications.
  • Ability to manage medium-size software projects, taking scalability, timing and economical aspects into account.
  • Ability to coordinate with various units within an organization to determine the most effective means for problem-solving and system design. To do so, they must understand how business processes and procedures relate to such systems.
  • Capacity to learn and stay up-to-date with learning as a fundamental skill in such a rapidly changing field.
  • Ability to adopt good working habits concerning both working alone (e.g. diploma thesis) and in teams (e.g. lab reports, including team-leading), achieving results within a specified time-frame, with an emphasis on awareness about professional integrity and on how to avoid plagiarism.
  • Ability to be involved with design projects in conjunction with local business entities or with case studies as a capstone project, and apply techniques learned in class to real-world issues.
  • Capacity to establish effective project plans for controlling and tracking a project’s scope, cost, schedule, communication, and risk-management.
  • Ability to communicate effectively with peers, project team members, management, and customers, by means of written, oral, and visual communications must be competently applied.
  • Demonstrate proficiency in using English language, including subject area terminology, for literature search.
  • Ability to work in an international globalized context.

Moreover for the International Track GSEEM:

  • Ability to identify, formulate, and solve global software engineering problems, including the specification, design, implementation, and testing of software systems that meet specification, performance, maintenance and quality requirements.
  • Ability to regularly engage in exploring, learning and applying state-of-the-art hardware and software technologies to the solution of computer systems problems.
  • Ability to elicit, analyze and specify software requirements through a productive working relationship with various stakeholders of the project.
  • Understanding of the core areas of software engineering (data structures, theory of computation, model-driven development, software, system, and computer architecture, compilers, programming languages).
  • Ability to evaluate the impact of potential solutions to software engineering problems in a global society, using their knowledge of contemporary issues and emerging software engineering trends, models, tools, and techniques.
  • Ability to bring the scientific competencies acquired during the international programme to use in local and international ICT companies.

For the International Track UBIDIS:

  • Ability to articulate and critically assess the complexities involved in designing and building distributed systems and applications in a mobile and ubiquitous computing context.
  • Ability to employ advanced principles of computer science and engineering in the identification, formulation, analysis and solution of real-world problems in the domains of data and communications networking and ubiquitous computing
  • Ability to assess available techniques for achieving system efficiency and for interaction design and usability improvement, and apply these techniques within the software development process, taking into account the factors which influence human performance, and the major concepts relevant to human error, and critique the interface of interactive systems with reference to a task model and its associated scenarios
  • Ability to undertake complex embedded and concurrent programming tasks demonstrating a critical understanding of the acquisition of sensor data, and the manipulation of sensor data through numeric, algorithmic and signal processing techniques.
  • Apply current software development methodologies, working effectively as an individual or within a team, in the production of a substantial piece of ubiquitous computing software in consultation with a client
  • Ability to evaluate different approaches to modelling information and knowledge and synthesise emergent concepts and technology innovations in defining a mobile, autonomous and ubiquitous computing innovation agenda, and capacity to design, manage and realise a novel technical service and/or product by assessing commercialisation strategies within the domain.