Computer Science

The Computer Science component is composed of about 25 faculties, working in the scientific disciplines of computer science and operations research, and several post-doc and PhD students.

The main investigated research areas are:

  • Software and Architecture Engineering, with special emphasis on the architectural design and verification of complex software systems, model-driven engineering and web applications;
  • Autonomous Agents and Artificial Intelligence, Answer Set Programming, Machine Learning, and Heuristic Programming, with particular attention devoted to knowledge representation in non-monotonic reasoning and preference handling. Applications: mobile e-commerce, smart energy management, hybrid systems, and robotic planning;
  • Automata, Formal Languages and Stringology and their applications to data compression and bioinformatics;
  • Theory and Applications of Algorithms, data structures and use of computational complexity, graph theory and game theory for the optimization, performance evaluation and determination of efficient solutions in distributed systems, autonomous social networks and communication networks;
  • Operations Research Methods and Applications, with the study of solution methods for combinatorial optimization and integer linear programming and their application to the design and management of telecommunications networks, manufacturing systems and IT infrastructures.


What is Computer Science ?

Computer Science develops students’ computational and critical thinking skills and shows them how to create, not simply use, new technologies. This fundamental knowledge is needed to prepare students for the 21st century, regardless of their ultimate field of study or occupation.

Computer science is a liberal
art, it’s something that
everyone should be exposed
to, everybody should have a
mastery of to some extent.
-- Steve Jobs

Additional Background: Computer science education encompasses “the study of computers and algorithmic processes, including their principles, their hardware and software designs, their applications, and their impact on society.” A few of the topics and activities that might be included in a computer science course include:

  • Algorithmic problem-solving
  • Computing and data analysis (managing, processing, visualizing and interpreting data)
  • Human-computer interaction
  • Modeling and simulating real-world problems
  • Creating and manipulating graphics
  • Programming (including game design)
  • Security (including cryptography)
  • Web design (illustrating principles of programming, human-computer interaction and abstraction)
  • Robotics (designing and programming)
  • Ethical and social issues in computing