This is our department!
This is our department!
Where I live, there is often limited understanding of what Computer Science truly is. It is frequently perceived as simply the "Science of Computers" (or just "Computers" for short), which creates confusion among young students and their parents. However, Computer Science is fundamentally about Computing Science—as the famous quote reminds us, "Computer Science is no more about computers than Astronomy is about telescopes".
If you enjoy programming but have little interest in theoretical foundations, computational models, or experimental evaluation, a degree in Computer Science may not be the right fit for you. Conversely, if you are eager to develop a scientific mindset, engage with a vibrant academic environment, and nurture your curiosity by broadening your intellectual horizons, then Computer Science could be an excellent choice!
Although it is a relatively young discipline, Computer Science has reached a high level of maturity. Its achievements are deeply embedded in everyday life and increasingly intersect with other sciences in a strongly multidisciplinary way, fostering innovation and collaboration across diverse fields.
Dropout rates often peak during two critical transitions: between the first and second semesters of the first year, and between the first and second year. This is partly due to unclear expectations about the degree program, as mentioned earlier, and partly to the significant paradigm shift students experience when moving from high school to university.
At university, the learning environment changes dramatically. Classrooms are larger, and the familiar structure of frequent written or oral assessments largely disappears. This shift can foster a psychology of procrastination, where students fall into the illusion that there is always enough time to catch up. Unfortunately, this mindset can quickly undermine academic progress.
Succeeding in this new environment requires a proactive approach. Students must learn to manage their time effectively by attending lectures regularly, keeping their notes organized, studying consistently rather than cramming, and engaging deeply with course materials through assignments and supplementary resources. Developing these habits early can help students navigate the transition more smoothly and build a solid foundation for long-term academic success!
🧠 Deep Learning, M.Sc. in Data Science
Deep learning is still closer to alchemy than to chemistry—a mix of intuition, experimentation, and a touch of magic. Yet, it is precisely this "alchemy" that makes AI one of today's most transformative technologies. In this course, students explore both the theoretical foundations and practical applications of deep learning, exploring how neural networks and advanced architectures drive innovation across a wide range of domains.
🤖 Computational Intelligence, B.Sc. in Computer Science
This course focuses on the design of intelligent systems capable of adapting, learning from experience, and solving complex problems—in short, systems that exhibit human-like intelligence. Co-taught with Professor Corrado Mencar, my contribution concentrates on foundational neural networks, providing students with the essential building blocks of machine learning and its real-world applications.
💻 Computer Science Laboratory, B.Sc. Programs in Computer Science (Bari and Taranto)
This course bridges the gap between programming theory and practical software engineering. It emphasizes core coding skills and problem-solving techniques, helping students move from abstract concepts to concrete implementations and laying a solid foundation for both advanced studies and professional practice.
This distinction is not universal, but in Italy it is quite common—and it is a question I am frequently asked by first-year students (likely due to the confusion mentioned earlier).
Short answer: In the long run, they are essentially equivalent, and your professional trajectory depends largely on you.
Long answer: The distinction between Computer Science and Computer Engineering is primarily historical. The two curricula originate from different academic communities, each with its own traditions and "pedigree". From a formal standpoint, their contents largely overlap, and their career opportunities are very similar. That said, some differences are worth noting.
Computer Science programs tend to place greater emphasis on programming, programming languages, and related topics, often involving more hands-on practice. Students typically see programming as an end in itself, progressing from theory to practice and developing a more scientific mindset.
Computer Engineering programs, by contrast, are often broader in scope and may include topics that go beyond programming, making the curriculum more generalist. Here, programming is often viewed as a means to an end, with a stronger focus on problem-solving and an engineering mindset, where practical considerations may take precedence over abstraction.
Both paths aim to provide solid foundational knowledge, but success ultimately depends on your curiosity, commitment, and willingness to go beyond the basics. Developing soft skills, learning how to present and enhance your work, and continually pushing your limits are essential to standing out.
Unfortunately, there is still a widespread misconception outside academia that computer engineers are "better" than computer scientists. This is simply not true: each path has its own strengths, and the career you build depends far more on how you use your skills than on the title printed on your diploma.
As universities increasingly offer second-level degrees and specialized programs in these areas, this question arises frequently—especially toward the end of a first-level degree.
Short answer: While they are not the same, professionals trained in Data Science and Artificial Intelligence can work together in a highly complementary way, both in research and in industry.
Long answer: Data Science sits at the intersection of several disciplines and focuses on extracting knowledge from data. It attracts students from diverse backgrounds—such as Mathematics, Statistics, Economics, and Computer Science—resulting in highly heterogeneous cohorts. Artificial Intelligence, by contrast, is a much broader field. Beyond the well-known areas of machine learning and deep learning, it encompasses topics such as reasoning, planning, and decision-making. As a result, AI programs tend to include mostly Computer Science students.
Much like the distinction between Computer Science and Computer Engineering, Data Scientists and AI specialists often adopt different perspectives. Data Scientists typically view algorithms and computational techniques as tools to achieve broader objectives, including managing the entire data pipeline and addressing issues related to data quality, privacy, and regulation. AI specialists, on the other hand, often place algorithms and models at the center of their work, engaging more deeply with theoretical, ethical, and sometimes even philosophical questions about intelligence.
Despite these differences, the two disciplines are increasingly in demand and frequently overlap in terms of skills and responsibilities. Their true strength lies in their complementarity: by combining different perspectives and expertise, Data Scientists and AI specialists can form particularly effective teams in both academic and industrial contexts.