BSc (Hons) Computer Science
-
No1 in Greece | TOP30 in the UK.
-
Cutting-edge programming languages.
-
High Performance Computing Labs.
-
3 available pathways.
Course Information
The Mediterranean College Computing School has a 30+ year experience and offers a variety of updated programmes, designed in consultation with IT industry leaders, to provide the most current knowledge in Computer Science and Networks. The programme has been designed by the University of Derby, a TOP30 UK University, according to the Guardian University Guide 2020 and holds an outstanding reputation within the computing industry.
The programme focuses on computer programming, with an emphasis on practical techniques underpinned by theory and informed by research. As an “industry-standard” computer science programme, it gives an insight into the latest programming tools, languages and industry methods to help you develop software independently, reliably and effectively, meeting today’s industry needs.
Year 1 is common for all students. In year 2, you may continue with the Computer Science stream or choose one of the following pathways: Computer Games Programming or Networks & Security.
What you will study
The BSc (Hons) Computer Science degree will help you become a skilled computer programmer, adept at developing software and fully aware of the tools and methodologies that underpin software engineering.
You will study applied computer science with a strong emphasis on practical programming skills, using cutting-edge software development tools, in our industry-standard High-Performance Computing Labs. You’ll explore core topics such as the programming languages C/C++, C#, Java, PHP, Python, computer graphics, application development, systems programming, data mining & language design.
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.
You’ll learn through a mixture of lectures, workshops, tutorials and substantial e-learning material. Emphasis is placed on the development of practical programming skills, through the use of cutting-edge software development tools in our “industry-standard” labs. You’ll be assessed via individual assignments, group assignments, presentations and on-line tests.
Whichever pathway you choose, you’ll take part in a team project during the second year. We set up fictional software development companies and you’ll be asked to work for one of these, playing your part in developing a high-quality, realistic product in a set timescale. This is a safe way to experience what it’s like to work in the industry and will give you a sense of the challenges involved in delivering complicated projects on time.
You will also be asked to work on a smaller project for a real-world client. Again, it will give you important experience of the professional sphere and of what skills you will need to succeed. In the final year, one third of your assessment is for your Independent Study. This can either be a significant piece of research into an area that interests you, or a project to create, test and evaluate an innovative solution in computing.
Courses
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
This course is right for you, if you are a high school graduate of any discipline with the necessary English language skills, who aspires to build a career in the IT industry.
The minimum English language requirement for the bilingual course (Greek and English) is equivalent to IELTS 4.5 (B1) and for the English-taught course is equivalent to IELTS 6.0 (B2). If you do not possess an official English language certificate, you can sit the College’s internal placement test.
Moreover, you’ll be asked to submit a reference letter from a tutor, and you’ll be called for an academic interview with the programme leader.
If you are a holder of an IEK/ HND diploma or a University or College student in a relevant discipline, you may be granted advanced entry, through recognition of prior learning.
Application & Enrolment
We use a rolling admissions policy, so we accept applications throughout the calendar year until all available places are filled. Since this is a lab-based course with a cap in available places, we urge you to submit your application in time.
We also offer multiple fee payment methods, individual payment plans and bursaries based on academic, athletic and socio-economic criteria.
Contact us today and find out more about this course and the available bursaries and funding opportunities. Our admissions advisors will provide you with all necessary information and will guide you through the application and enrolment process.
Degree Recognition
Your degree is recognised in Greece as professionally equivalent to degrees awarded by Greek state universities. It is also recognized by the UK NARIC as academic and professionally equivalent to any UK degree.
Click here for more information on the degree recognition procedure by Greek authorities.
Postgraduate Study
After successfully completing the programme, you may continue for postgraduate study in technical or management areas, in Greece or abroad. At Mediterranean College you may choose:
Alternatively, you can specialise in Games Programming with our Professional Diploma Games Programming, focus on Networks, by following the CCNA or CCNP certification in our authorised Cisco Academy, or study any other CPD course of Mediterranean Professional Studies.
Career Prospects
By 2024 the biggest growth in occupations in this area is forecast to be for programmers and software development professionals, Information technology and telecommunications professionals and IT project and programme managers. Insight indicates that some of the top ‘hard skills’ employers look for in candidates include programming languages such as SQL, Javascript, C# and the top ‘soft skills’ include communication, management and infrastructure (source: economicmodelling.com).
As a Computer Science graduate, you will acquire wide-ranging skills, which could lead on to many different careers in the computing field and beyond. You will have the skills to respond to technological developments and the constantly changing needs of the IT industry.
Specifically, you can build a career in the following sectors:
- Software development
- Content development
- Software engineer
- Systems engineer
- Cloud & Data networks
- Database architect/administrator
- Computer & mobile applications
- Multimedia applications
- Networking applications
- Sales of IT solutions
- Business IT consulting
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