This is our department!
This is our department!
Where I live, there is often limited awareness of what Computer Science really is. It is frequently perceived as simply the "science of computers" (or just "computers" for short), which can create misconceptions among prospective students and their families. In reality, Computer Science is fundamentally 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 choice for you. On the other hand, if you are eager to develop a scientific mindset, thrive in a stimulating academic environment, and let your curiosity guide you toward new ideas, then Computer Science might be exactly what you are looking for!
Although it is a relatively young discipline, Computer Science has reached a remarkable level of maturity. Its achievements are deeply embedded into everyday life, and its methods increasingly intersect with those of other scientific disciplines, fostering innovation and collaboration across a wide range of 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 shift students experience when moving from high school to university.
University life is very different. Classes are larger, students are expected to work more independently, and the familiar rhythm of frequent written or oral assessments largely disappears. As a result, many students fall into the trap of procrastination, convincing themselves that there will always be enough time to catch up. Unfortunately, this mindset can quickly hinder academic progress.
Adapting successfully requires a proactive approach. Attend lectures regularly, keep your notes organized, study consistently rather than cramming before exams, and actively engage with course materials through assignments, exercises, and additional resources. Building these habits early will make the transition much smoother and lay 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 blend of intuition, experimentation, and a touch of magic. Yet it is precisely this "alchemy" that has made AI one of the most transformative technologies of our time. In this course, students discover both the theoretical foundations and practical applications of deep learning, learning how neural networks and modern architectures are driving 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 part of the course focuses on the fundamentals of neural networks, providing students with the essential building blocks needed to understand modern 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 development. It emphasizes core programming skills, computational thinking, and problem-solving techniques, helping students turn abstract concepts into concrete implementations while building 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 one of the questions I am most frequently asked by first-year students (probably because of 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 degree programs originate from different academic communities, each with its own traditions and academic culture. From a formal perspective, their curricula largely overlap, and the career opportunities they offer are very similar. That said, there are some differences worth highlighting.
Computer Science programs tend to place greater emphasis on programming, programming languages, and related topics, often with a stronger practical component. Students typically view programming as an end in itself, progressing from theory to practice while developing a more scientific mindset.
Computer Engineering programs, by contrast, are generally broader in scope and often include subjects beyond programming, making the curriculum more interdisciplinary. Here, programming is more often viewed as a means to an end, with a stronger emphasis on problem-solving and an engineering mindset, where practical considerations may take precedence over abstraction.
Both paths provide a solid foundation, but success ultimately depends on your curiosity, commitment, and willingness to go beyond the basics. Developing strong soft skills, learning how to communicate and showcase your work effectively, and continually challenging yourself are essential to standing out.
Unfortunately, there is still a widespread misconception outside academia that computer engineers are somehow "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 develop and apply your skills than on the title printed on your degree.
As universities increasingly offer master's degrees and specialized programs in these areas, this question comes up quite often—especially toward the end of a bachelor's degree.
Short answer: Although they are distinct disciplines, professionals trained in Data Science and Artificial Intelligence can work in highly complementary ways, both in academia and in industry.
Long answer: Data Science lies at the intersection of several disciplines and focuses on extracting knowledge from data. It attracts students from a wide range of backgrounds—including Mathematics, Statistics, Economics, and Computer Science—resulting in highly diverse cohorts. Artificial Intelligence, by contrast, is a much broader field. Beyond machine and deep learning, it encompasses areas such as knowledge representation, reasoning, planning, and decision-making. As a result, AI programs tend to attract predominantly Computer Science students.
Much like the distinction between Computer Science and Computer Engineering, Data Scientists and AI specialists often approach problems from different perspectives. Data Scientists typically view algorithms and computational techniques as tools for achieving broader objectives, including managing the entire data lifecycle and addressing challenges 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 the theoretical, ethical, and sometimes even philosophical aspects of intelligence.
Despite these differences, the two disciplines increasingly overlap in terms of skills and responsibilities, and both are in high demand. Their greatest strength lies in their complementarity: by combining different perspectives and expertise, Data Scientists and AI specialists can build exceptionally effective teams in both academic and industrial settings.