

BSc (Hons) Computer Science
-
TOP30 British University.
-
Cutting-edge programming languages.
-
State-of-the-art High-Performance Computing & Networking Laboratories.
-
Possibility to change direction in the 2nd year.

Course Information
The School of Computer Science at Mediterranean College, with over 30 years of experience, offers fully updated study programmes designed in collaboration with leading IT companies. The BSc (Hons) Computer Science programme has been designed by the University of Derby, a TOP30 British University, according to the Guardian University Guide 2020.
As an “industry-standard” Computer Science program, it uses all the modern tools, programming languages, and methods of the industry, so that upon completing your studies, you will be able to independently, reliably, and effectively develop software applications that meet the requirements of modern businesses.
What you will learn
To become a successful programmer, you must have a deep understanding of Computer Science, the science on which programming and software development are based. You will cover fields such as application development, databases, software engineering, system and mobile programming, user interfaces and computer games, so that you are fully prepared to join the software industry. In this context, you will develop the necessary skills to work in software development teams. At the same time, you will study the theory, practice, and methodology of developing and maintaining distributed systems and networks.
You will learn cutting-edge programming languages (C/C++, C#, Java, Javascript, Python, PHP, SQL, etc.) in modern, High Performing Computing Labs. You will work on computer science projects and develop applications for real businesses. It is particularly important that you will learn programming in depth, regardless of languages and tools, understanding how we develop and apply algorithmic solutions to specific computational problems. Thus, you will be prepared for changes in programming tools that inevitably occur, and with your knowledge, you will be able to easily programme in any new environment that arises.
Why choose this course
- The degree is awarded by the University of Derby, a top-ranked British university (TOP30, Guardian University Guide, 2020).
- It is a Computer Science programme - not Computing or Information Technology - to become a scientist, not just a professional in IT.
- It is an industry-standard programme, with various software development environments and cutting-edge programming languages.
- It includes application programming for Desktop (C#, Java, C++, SQL), Web (HTML5, CSS, JavaScript, PHP), and Networks (Python), as well as hands-on training in Networks - Security and Graphics application development (2D & 3D).
- You are taught in modern High-Performance Computing Labs, Cisco-certified Network Labs, and Microsoft Azure Labs.
- You are involved in real operational application development projects, based on virtual or real businesses.
- You have the opportunity to change direction in the 2nd year of studies: Cyber Security or Games Programming.
- You evolve into a bilingual IT professional, with excellent academic and professional prospects.
The programme is conducted through lectures – some by visiting professors, labs, tutorials, and rich e-learning material. Emphasis is placed on developing practical programming skills through the use of cutting-edge software development tools in our industry-standard labs. Assessment is mainly based on individual assignments, while there are also group assignments, presentations, and online tests. In the 3rd-year dissertation, you will develop a large-scale computer science project or conduct scientific research on a topic of your choice.
Module Description
Year 1
Foundation of Computer & IT Systems
Introduction to basic concepts, terminology, fields, and history of computer science, while providing students with the opportunity to develop their academic skills in studying, writing, researching, and presenting scientific topics. The course covers topics such as the history of computation, computational theory, number systems, introduction to algorithms and data structures, microprocessors, machine language and assembly, computer architecture, operating systems, compilers and interpreters, software, hardware, and networks.
Computational Mathematics
Introduction to mathematical concepts and methods primarily applied in computer science, such as set theory, Boolean algebra, logic, differential and integral calculus, linear algebra, graph theory, numerical analysis, and iterative methods.
Programming
Introduction to the fundamental principles, concepts, and practices of computer programming and the development of necessary skills for designing, implementing, and testing simple programmes. No prior programming experience is required, and the entire practice is done using the industry-standard C# language and Microsoft's Visual Studio software development environment.
Fundamentals of Network & Security
The course covers the fundamental concepts of network operation and includes the OSI and TCP/IP models, IPv4 addressing, TCP, UDP, HTTP, and DHCP protocols, routing, switching, and basic LAN network design. Additionally, the course analyzes Ethernet functions in a LAN environment and specifications for designing and constructing a network for a small business.
Computer Systems, Data Structures & Data Management
The course explores two related but distinct fundamental concepts of computational applications in practice: human-computer interaction and data. The course includes product design, user interface design, usability, data representation, data modeling, and data storage. Data structures and their manipulation are implemented using the Java/Python programming languages.
Games Technologies
Introduction to graphics engines using Unity3d. The course explores all the concepts of a game engine and its use in game design and implementation. The course also includes scripting, where students learn to use C# within the Unity3d environment.
English I
Students develop general skills in the English language, such as reading, writing, listening, and speaking, and are introduced to academic English. Additionally, they improve their grammar, pronunciation, and general and specific vocabulary related to computer science terminology. By the end of the course, their proficiency in academic English will be at the intermediate B2 level according to the CEFR, equivalent to IELTS 5.5.
Year 2
Programming Language Paradigms
The course provides an understanding of different programming paradigms and how they can be used in software development. It offers students the opportunity to further develop problem-solving skills by studying advanced programming languages and new programming examples. Upon successful completion of the course, students learn to demonstrate an understanding of the fundamental differences between programming languages and their applicability to different programming problems.
Legal & Ethical Issues in Computing & Data Sciences
The course provides an introduction to the legal and ethical aspects of computer science. It covers the functioning of professional organizations, including the role of codes of ethics and best practices (BCS). It then covers legal frameworks for data protection, privacy, and security, intellectual property, and cybercrime. Students learn about the most recent applicable laws related to the use of computers and information technology. This legislation pertains to data protection, privacy and security, intellectual property, and cybercrime.
Software Engineering
The course views software development from an engineering perspective and provides the theory and practices for producing software that meets user expectations in terms of quality, functionality, and development within predetermined time and budget constraints. The course examines the Software Development Life Cycle (SDLC) in detail, presenting methodologies for analysis, design, standardization, implementation, testing, installation, and maintenance of programmes.
Network Systems Development
This course covers the development of network systems and protocols and how they are controlled through programming applications. Communication systems are rapidly expanding in scale and capabilities, and this unit will examine client-server and peer-to-peer systems, including bandwidth requirements and availability. At this point, students create network protocol control applications using Java/Python. This unit equips students with the necessary knowledge in programming solutions for network protocol and network communication problems.
Real-Time Environment Development
This course aims to understand the ways of evaluating software before its implementation and final release on different platforms. Different approaches, depending on the platform on which the software will be deployed, not only change the implementation method but also the way in which we test or later maintain the software. It is crucial for students to understand how to independently develop these evaluation methods and support them with appropriate technologies for the intended platform.
Data-Driven Systems
This course explores the concepts, theories, and technologies that support data-driven industrial systems for organizing and retrieving large volumes of data. Students will develop practical skills necessary for designing and implementing robust and scalable databases and gain knowledge of issues related to storing and maintaining large-scale data in applications. They will also examine optimization issues and the development of different database systems.
Team Project
The course aims to cultivate employability skills by introducing students to the "world of work" through a team project. Students will work collaboratively on a software development project, applying their technical knowledge and project management skills to deliver a functional solution. The course focuses on developing communication, teamwork, problem-solving, and presentation skills.
Year 3
Operating Systems
The course examines the design and implementation of computer operating systems. Students study the design of modern operating systems and apply programming solutions to the implementation of an operating system. They also design and develop programming applications on components of the operating system, such as services and more efficient utilization of hardware, such as multi-core processors.
Concurrency & Communication
This unit explores two closely related topics, Synchronization Systems and Distributed Systems. It analyzes various synchronization control concepts in different systems and their implications for design and implementation. It also investigates the fundamental characteristics of distributed systems, including their models and architectures, as well as the design implications of their software. It examines techniques that have been used for their construction, as well as use cases of well-designed distributed algorithms and applications.
Individual project
The thesis project allows students to demonstrate their ability to develop a substantial piece of work related to their specialization. It can be a significant research piece following a recognized research methodology or the implementation, testing, and evaluation of a significant "design and development" project in the field of computer science. Students are supported and guided by a member of the academic staff, i.e., a supervising professor, but the project is defined and implemented by the student.
Data Mining & Foundations of AI
This unit will introduce students to the techniques and processes of data mining and the foundations of Artificial Intelligence (AI). It will prepare them for the practical use of data mining tools and the application of basic AI algorithms using the Python language. Students will also learn:
- Data mining processes, including data organization and cleansing, applying data mining techniques for pattern discovery, and interpreting results from data mining tools.
- Differences in data mining techniques and determining the most appropriate approach for a given real-world application.
- Fundamental concepts, uses, and techniques in AI.
- Selecting the appropriate AI method for an application.
- Using data mining tools and applying AI methods in practice.
Security Management
This unit examines strategic approaches that can be taken for security system management. It focuses on areas of critical importance for maintaining security in both daily operational bases and crisis situations. It covers information security management and risk management in relation to information technology, networks, information systems, data, and critical business systems. It addresses significant security management principles and operations involved in protecting critical information, network resources, and organizational assets. It provides information on what information/network security experts would do concerning systems and policies to ensure the secure operation of business unit networks and guidelines for recovery in case of a disaster.
Admission Requirements
The programme is suitable for you if you are a high school graduate from any discipline with satisfactory English language skills and aspire to pursue a career in the IT industry.
The required English language level for the bilingual programme is equivalent to IELTS 4.5 (B1), and for the English-language programme, it is IELTS 6.0 (B2). If you don’t have a language proficiency certificate, you will participate in the College’s English diagnostic test.
Additionally, you will be asked to submit a recommendation letter from a teacher and be invited to an academic interview with the programme coordinator.
If you hold a diploma from an IEK, or you are a university or college student in a related field, you may be eligible for advanced placement in the program through a course recognition process.
Application & Enrolment
We accept applications throughout the year, until all available positions in each department are filled. As this is a strictly laboratory-based programme with limited spots, we encourage you to submit your application in a timely manner.
Furthermore, we offer multiple alternative tuition payment options, financing programs, and scholarships based on academic, athletic, and socio-economic criteria.
Contact us today and inquire about the study programme and the opportunities for tuition subsidies and financing. The Education Advisors at the Admissions Office will provide you with the necessary information about the programme and the application and enrollment process.
Degree Recognition
You can have your degree recognized in Greece by submitting a professional equivalence application to ATEEN (Hellenic NARIC) of the Ministry of Education.
Click here to find out more about the recognition of studies.
Postgraduate Study
As a graduate in the field of Computer Science, you can pursue postgraduate studies in technical specializations or in the fields of Management, both in Greece and abroad. At Mediterranean College, you can choose to attend the following programmes:
Alternatively, you can specialize in Networking by pursuing the professional certifications CCNA and CCNA at the Approved Cisco Academy of Mediterranean College.
Careers
Upon graduation, you will discover a strong demand for graduates with your specialized skills in software development. The majority of job positions in Computer Science require skills and experience in programming.
While a Computer Science degree typically prepares you for work in the Software Industry, the knowledge and education you have received have prepared you to pursue almost any position in the field of Information Technology.
Here are some areas of work that you can consider as a new graduate:
- Software development
- Game development
- Content development
- Software engineering
- VR-AR application engineers
- Systems engineers
- Data and cloud networking
- Database architects/administrators
- Computer and mobile application development
- Multimedia application development
- Network application development
- IT solution sales
- IT consulting for business technology
Testimonials
The 3 years I studied at Mediterranean College, I had the opportunity to further my knowledge and develop a range of personal and professional skills. I also learned how to work as a team to accomplish our goals. All the academic and administrative staff were really supportive and helpful....
Georgios Choutsisvilli, BSc (Hons) Computer Science.
Studying at the University of Derby was an interesting experience, the level of studies is really good but most of all we met people that we became good friends with. I wish all the best for their life and career....
Dimitrios Pozaritis, BSc (Hons) Computer Science
My time at the College was great. I made some great friends there who helped me overcome many problems. I learned a lot from my time there and I want to thank my teachers for supporting me throughout these three years....
Christos Avgerinos, BSc (Hons) Computer Science