Projects and content carried out during my B.S. Double Degree in Computer Science and Computational Mathematics at U-Tad. The repository is organized by academic year, semester, and finally by subject, where I have stored the main study content, practical materials from the subjects, personal projects, and exams. Many of the subjects, such as those taken in the mathematics section of the double degree, do not include practical or coding content, so they will only contain a transcription of my summaries and study materials into Markdown. The rest of the subjects, unless otherwise specified, will have the full content (study material, examples, practical exercises, etc.).
The degree is divided into five academic years, each consisting of two semesters (Q1 & Q2), which offer a blend of core subjects, elective subjects, and project work. Throughout the degree, students explore a variety of subjects related to both disciplines, giving them a well-rounded understanding of both the technical and mathematical aspects of computing.
In the first year, we are introduced to the fundamental concepts of programming, web development, operating systems, and networking, along with the foundational mathematical concepts such as Algebra and Discrete Mathematics. This is the period where students build their base knowledge and start developing problem-solving skills. The first-year projects focus on digital technologies and basic software development practices, with a year final project of robotics.
- Introduction to Programming I (6 ECTS)
- Web Development Fundamentals (6 ECTS)
- Networking and Operating Systems Labs (6 ECTS)
- Logic and Discrete Mathematics (6 ECTS) (Only Study Material)
- Creative Thinking (3 ECTS)
- Probability and Statistics (6 ECTS)
- Algebra (6 ECTS) (Only Study Material)
- Computer Architecture (6 ECTS)
- Introduction to Programming II (6 ECTS)
- Database and Distributed Systems Laboratory (6 ECTS)
- Digital Society (3 ECTS) (Only Study Material)
- Calculus (6 ECTS) (Only Study Material)
In the second year we acquire programming skills in algorithms, POO, data structures, and design patterns. We are introduced to the subjects of computer networks and operating systems as a continuation and extension of first-year subjects (network lab and computer architecture). For the mathematics part, we are presented with some of the main branches of mathematics (like Probability, Statistics, and Calculus) and their practical applications in software. With the final project, students are presented and must choose between the two main mentions of the degree, cybersecurity and big data.
- Object Oriented Programming (6 ECTS)
- Mathematical_Analysis I (6 ECTS)
- Computer Networks (6 ECTS)
- Operating Systems (6 ECTS)
- Linear Algebra (9 ECTS)
- Mathematical_Analysis II (6 ECTS)
- Linear_Geometry (9 ECTS)
- Algorithm Analysis and Design (6 ECTS)
- Databases (6 ECTS)
- Software Design (6 ECTS)
The third year introduces specialized subjects such as Artificial Intelligence, Machine Learning, Distributed Systems, and Web Programming. The mathematics curriculum also evolves with more advanced subjects such as Numerical Calculus, Partial Differential Equations, and Topology. Students are exposed to real-world applications of these subjects, particularly through Mobile Application Development and Server-side Web Programming. This is also the year when students begin focusing on more complex projects in both fields.
- Fundamentals of Visual Composition (3 ECTS)
- Database Expansion (6 ECTS)
- Artificial Intelligence (6 ECTS)
- Distributed Systems Programming (6 ECTS)
- Web Programming I, Client (6 ECTS)
- Topology (9 ECTS)
- Information Search and Analysis (6 ECTS)
- Numerical Calculus (6 ECTS)
- Mobile Application Development (3 ECTS)
- Partial Differential Equations (6 ECTS)
- Discrete Mathematics II (3 ECTS)
- Data Processing (6 ECTS)
- Web Programming II, Server (6 ECTS)
In the fourth year, students focus on more advanced topics such as Mathematical Analysis III, Optimization, and Algebraic Structures. They also dive deeper into Software Engineering, Machine Learning ll, and UX Fundamentals, preparing them for the real-world challenges they will face in the technology industry. Projects during this year include developing complex web and mobile applications, as well as working on larger-scale software systems. This year is particularly geared toward applying all the learned concepts to real-world problems.
- Mathematical Analysis III (9 ECTS)
- Machine Learning I (6 ECTS)
- Algebraic Structures (6 ECTS)
- Software Engineering (6 ECTS)
- Optimization (6 ECTS)
- Machine Learning II (6 ECTS)
- Curves and Surfaces (6 ECTS)
- UX Fundamentals (3 ECTS)
- Statistical Inference (6 ECTS)
The final year is focused on preparation for the professional world. Students engage in an internship with a company, gaining practical experience in the industry, and they also work on their two Final Degree Projects (Bachelor's Thesis, BT). As a dual degree, the student must complete the BT for the mathematics section and the BT for the software section, which will result in the completion of the dual degree, thus obtaining:
- An officially-recognized Degree in Software Engineering with a minor in Data Engineering.
- An officially-recognized Degree in Computational Mathematics.
- Business Creation and Management (3 ECTS)
- Project Management (3 ECTS)
- Partial Differential Equations (6 ECTS)
- Programming Paradigms (3 ECTS)
- Computer Vision (6 ECTS)
- Digital Business Models (3 ECTS)
- Internship in a Company (6 ECTS) (HERE Technologies)
- Data Visualization (3 ECTS)
- Data Engineering Projects (9 ECTS)
- Computational Maths Final Degree Project (6 ECTS)
- Software Engineering Final Degree Project (6 ECTS)
This repository serves as a personal archive of the academic journey, showcasing both the depth of knowledge gained in computer science and computational mathematics, as well as the practical skills developed throughout the program.
Here more Info about the Degree: U-Tad_Web
