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 - Bachelor Degree in Computer Science

Type of Degree & Length

Single degree (180 ECTS credits, 3 years)


Università degli Studi dell’Aquila, Italia University of L’Aquila, Italy

Accreditation Organisation(s)

- Italian Ministry of Education and Research - GRIN – Italian Association of University Professors of Informatics - "Ordine degli Ingegneri" - Italian Register of Engineers,

Period of Reference

Programme validated for 3 years for cohorts starting in October 2012

Cycle /Level

QF for EHEA: 1st cycle; EQF level: 6; Italian NQF: Laurea

A. Purpose

The Programme is designed such that students gain competence in both information technology and processes, preparing them in all basic subjects concerning programming, application and web development, database and information management, systems integration, operation research and optimization, and support. The curriculum teaches students to analyze, design, and implement solutions to information technology problems by focusing on the fundamentals of system analysis and design as well as problem-solving strategies. Courses of study cover the main foundational aspects, methods and techniques (including algorithms, programming languages and paradigms, programming and design methodologies, operating systems, databases), and applications (including web applications). The Programme prepares professionals as software designers and programmers and/or project leaders, and provides the necessary competences for accessing graduate Programmes. The degree enables them to be enrolled in the National Register “Ordine degli Ingegneri” established at national level by law n.1395/1923.

B. Characteristics

1. Disciplines / Subject Areas

Strong theoretical basis on Computer Science, Mathematics, Physics., Other (40:20:20:20)

2. General / Specialist Focus

The degree is general, and covers all main aspects of Computer Science, Computer Networking, Optimization. Each student can however customize her/his focus by choosing 12 credits among Algorithms for Distributed Systems, Artificial Intelligence and Neural Network, Advanced Networking, Mobile Applications, Web Engineering, Information Systems and Computer Security, Bioinformatics.

3. Orientation

Research orientation, with a strong component of application skills in several contexts. After the degree, a student is able to choose either an immediate working career, or the prosecution of studies.

4. Distinctive Features

The course is enriched by several Internalization projects that allow students to spend periods abroad and bring foreign students to attend. There are several additional short Courses held by experts working in major ICT companies, and there are several opportunities for students to perform stages in these companies. The degree gives access to the Master in web Technology, held in L’Aquila in cooperation with many companies, which provides excellent career opportunities.

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. Many of our former students have founded their own start-ups working on innovative applications. The degree holders obtain the credentials for the enrollment on the "Ordine degli Ingegneri - Section B/c" (National Register of Engineers) nationally regulated by law n.1395/1923 and following amendments.

2. Further Studies

The degree holder is able to immediately access Master Degree Programmes in Computer Science, as well as the Specialising one-year Programme in Web Technology provided in L’Aquila. The degree holder is also able to access, with some debts, Master Degree Programmes in Mathematics, ICT, Communications.

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.

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 and in a practical exam aimed at demonstrating that the candidate has acquired the essential professional skills and competences related to the professional profile.

E. Programme Competences

1. Generic

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

  • Knowledge, Analysis and synthesis: Knowledge and understanding 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; capacity to support professional practice decisions with concepts, methods and theories, following logical reasoning procedure.
  • Flexible mind: Ability to make reasoned decisions and to interact with others in a constructive manner, even when dealing with difficult issues; 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 orally and in writing with technical, business and user/customer audiences as well as non experts.
  • Field culture and creativity: Ability to apply knowledge in practical situations and to act on the basis of ethical reasoning; 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 through research in informatics literature to engage in continuing professional development and life-long learning in the field.
  • Problem solving: Strong analytical and critical thinking skills to analyze a problem, and identify and define the computing requirements appropriate to its solution while exercising a conscious process of critical reflection and learning
  • 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 1st Cycle level, are expected to

Software Development

  • understand and apply fundamentals of logic to problem solving.
  • be able to describe how data are represented, manipulated, and stored in a computer.
  • understand programming methodologies, including object-oriented, structured, procedural and logic programming.
  • be able to describe the phases of program translation from source code to executable code.
  • demonstrate the ability to create, modify, code, and test programs that use fundamental concepts such as: basic computation, simple file I/O processing, typical conditional and iterative structures, definition of functions, array processing, searching and sorting, classes, inheritance, and interfaces.
  • be able to evaluate code for reusability and library development.

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 implement a basic connection between a database and a website or web application.
  • be able to implement webpages with dynamic capabilities and apply design techniques in the creation and optimization of graphics and other embedded elements.
  • be able to create sites using World Wide Web Consortium formatting and layout standards.

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. Databases
  • be able to define database management systems and explain how they relate to other areas of information systems.
  • demonstrate the ability to use a database management system by creating and modifying tables and using queries to create reports.
  • be able to analyze organizational requirements and create logical and physical database models.
  • 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.

Algorithms and Data Structures

  • understand the importance of designing efficient algorithms.
  • be able to analyze the resources (space and time) needed by an algorithm.
  • know efficient algorithms for basic computational problems (sorting, searching, graph problems, etc.).
  • be able to formally present and model concrete problems, focusing on their main features and discarding the inessential ones.
  • be able of abstracting models and formal algorithmic problems from real computational problems, and designing efficient algorithmic solutions.

Network and Data Communications

  • be able to describe data communication and networking models, protocols, topologies, standards, and applications.
  • be able to articulate the organization of the Internet.
  • be able to explain how different types of IT applications depend on the Internet.
  • be able to describe the layered structure of typical network architecture.
  • be able to describe the operation of the TCP/IP protocols.
  • be able to explain the operation of local area networks and their constituent components.
  • be able to describe different methods of network resource allocation.
  • be able to explain the principles of cellular and wireless networks.
  • be able to describe methods of implementing networked mass storage systems.
  • be able to design and implement a networked application or function. -understand security implications for the development and use of networks.

System Analysis and Design

  • be able to collect and structure information recognizing that components can be combined to make a whole.
  • 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 develop a logical design involving various implementation approaches.

Computer and Information Security

  • understand the principles of computer security together with the ethical, legal, and compliance implications.
  • be able to identify proper software tests that should be used in developing systems.

Project Management

  • be able to formulate clear and concise, measurable Project Objective(s).
  • be able to develop an initial project plan and all of its components as dictated by the project’s size and complexity.
  • be exposed to teamwork and paired activities.
  • be able to recognize roles embedded within teams and their values.
  • be able to identify and discuss basic forms of motivation. -demonstrate the ability to learn and problem-solve in a team environment.


  • be able to utilize word processing, presentation, and email software to communicate.
  • be able to write with proper sentence structure, grammar, and composition.
  • be able to compose text by means of outline, logic structure, and through use of typical essay components. Demonstrate communication competence and critical thinking through an understanding of the foundational communication models.

Professional Practices

  • recognize the ethical implications involving current events and technology.
  • be able to explain the necessity of lifelong 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 Bachelor of Computer Science will acquire:

  • Ability to demonstrate knowledge and understanding of the Foundations of Computer Science including: algorithms, programming paradigms, programming methodologies, operating systems, database theory, software engineering, operational research and optimization.
  • Ability to develop programs that demonstrate the application of fundamental programming constructs and data types.
  • Capacity to work in team to develop complex programs and suites of programs which require increasing amounts of analysis and design work, such as collecting and understanding user requirements.
  • Ability to demonstrate knowledge and understanding of the practical aspects of Computer Science, such as programming languages, programming and software design methodologies, database applications, web applications, networking applications.
  • Competence at reading and writing in multiple programming languages and ability to design and analyze algorithms, select appropriate paradigms, and utilize modern development and testing tools.
  • Ability to apply knowledge and understanding, both theoretical and practical, to real-world 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.
  • Capacity of logical reasoning and quantitative calculation.
  • Knowledge of the principal branches of mathematics relevant to Computer Science, i.e. algebra, analysis, arithmetic, applied calculus, linear programming, computing theory, probability, set theory, and statistics.
  • Basic knowledge and understanding of special fields chosen by the student in order to prepare for future specialization and/or interdisciplinary approaches.
  • Ability to understand, use and customize the main operating 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 small- and medium-size software projects, taking scalability, timing and economical aspects into account.
  • Capacity to learn and stay up-to-date with learning as a fundamental skill in such a rapidly changing field.
  • 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 through, for example, a team project.
  • Proficiency in using English language, including subject area terminology, for literature search (min. Level B1).
  • Ability to work in an international globalized context.
  • Ability to understand the impact of technology and the consequences of unethical behavior.
  • Capacity to work in a variety of environments, such as bioinformatics, manufacturing, law, education, entertainment, health care, etc..

Degree information last updated on: 2015-09-28 16:49:43