Bachelors

Computer Science

BSc (Hons) in Computer Science

This bachelor’s course provides a curriculum aiming to equip students with specialised skills and extensive knowledge on the principles of IT science. The subjects taught are in academic accordance with all the International Associations and Unions of Computer Science and are totally in line with the needs of today’s global labour market. The course is the first step for graduates to a successful career in a fast-evolving industry.

Computer Science

WHY CHOOSE THIS COURSE

Because the program is in complete accordance with the standards posed by International Associations and Unions of Computer Science such as the Association of Computing Machinery (ACM), the Institute of Electrical and Electronics Engineers (IEEE), the British Computer Society (BCS) and is certified by international institutions such as the UK-NARIC.

Because the the degree received is issued by the university of Sheffield, a university that ranks in the 15th place among the best universities in the UK.

Because it provides higher, quality education based on research and needs of the current labor market, as emerged in a startup ecosystem.This course’s students will be trained to identify problems, think analytically, suggest effective solutions, create software systems, work in teams but also undertake  personal projects that will promote their creativity and talent.

Because students have the opportunity to test their skills and knowledge in real life situations through internships at successful innovation companies.

Because the course is totally aligned with the new labor market that surfaces in the time of the financial crisis, and provides knowledge and skills that are actually sought after companies. The course prepares all students for a successful career as tech professionals by giving all the skills needed setting the theoretical foundations of programming for the effective planning and development of information systems.

Computer Science

GOALS OF THE COURSE
  • To be in perfect alignment with the current needs of the labour market.
  • To create professionals who are on high demand and will excel at their future workplace, in the local or global market, for their knowledge and skills. The university is creating an environment of lifelong education on cutting edge technologies and its courses aim to create alumni that will lead in the field of technology through personal and group projects.
  • To create experts who excel in understanding and developing information systems and who will master the skills of effective programming. Students will be trained in analyzing, designing, developing, inspecting software systems and all other functions related with the field of innovation and technology.
  • To enable students to apply their knowledge on real life projects and gain work experience through internships in successful companies.
  • To employ scientific personnel of experienced lecturers and researchers with experience.  The professors of Sheffield university have been long teaching in academic environments and have been involved in research groups and studies. Frequent seminars with guest speakers from the tech industry and the academic world complete the learning process.

Computer Science

CURRICULUM
Year 1

Introduction to Web Technologies

The unit aims the students to gain a working knowledge of the Internet as a tool for communicating ideas world wide, but also to develop skills like presenting their ideas orally and in writing, working in groups, evaluating resources etc., through practical work.

Algorithmic Skills

Algorithmic thinking constitutes one of the core concepts of programming but also of all computer science areas requiring problem resolution. Students are taught the main principles of algorithmic thinking, such as: what is a problem, apprehend a problem, disintegration of a problem into smaller pieces and problem resolution strategic planning.

Programming Principles and Algorithms

This unit is an introduction to programming, to problem solving and algorithmic thinking. Emphasis is placed on the acquisition of the basic principles of software development practices (especially programming). Design and coding practices such as incremental code writing/ programming and delivery, continuous code improvement and pair programming are introduced and practiced in the labs.

Principles of Management

Setting goals and enforcing plans and procedures for their achievement, in every contemporary entrepreneurial/work environment, demands the knowledge of basic principles of Management. Through the delivery of this unit, students will be given the ability to approach, understand and acquire the necessary knowledge for their future career.
As all organisations and businesses are affected, act, react and evolve in a social, technological and economic environment, characterized by change and acute competition, adapting to this environment demands skillful and effective management.
The knowledge and the art of “Managing” in all hierarchy and function ranks of a work environment, constitutes to an essential stepping stone and skill for decision making, goal setting, organising, planning and controlling of all activities emerging during duty performance by subordinates and co-workers.

Academic & Transferable Skills : Searching, Studying & Writing

This unit provides students with the ability to develop the necessary skills for successful academic performance. The ability of coursework planning and time management, effective research, thorough studying and critical evaluation of information, planning and writing scientific reports, as well as application of academic regulations are some of the skills acquired in the course of this unit. Students develop these skills through lab sessions, practical examples and in-class exercises that are performed individually as well as in groups and are followed by short lectures and relevant discussions.

Introduction to Academic English I

This unit instructs students in all aspects of academic communication including writing, reading, speaking and listening as well as offering opportunities for vocabulary enrichment and lexical and structural improvement specific to academic communication. It is specifically targeted towards 4-year programme students who need to acquire the necessary academic skills to proceed in the 2nd level of their studies. Using a variety of different teaching and learning methods, students will be given the opportunity to practice and improve their overall use of academic English so that by the end of the course they are proficient in the specifics of academic discourse appropriate to their field of study. This unit seeks to improve overall language use through contemporary issues related to the role of the individual in contemporary society, as well as those pertinent to the student’s own field of study.

Introduction to Computer Science

The unit sets the theoretical foundations for the understanding of the basic principles on which lay the various fields of the industry and addresses the introductory concepts of sub-topics such as Computer Software, Databases, Computer Networks, Multimedia, etc.

Programming : Methodology & Design

This unit is an introductory course in computer programming intending to offer insights to basic analysis of problems and to algorithmic thinking. Emphasis is placed on developing strong and robust fundamentals of software development (especially programming) practices. Design practices such as incremental code writing, simplicity, code improving and pair programming are introduced and practiced in the labs. The unit aims to introduce the beginning computer science student to algorithmic thinking, simple problem analysis, structured design, top-down stepwise refinement and java programming language.

Introduction to Information Society

This unit approaches the social dimension of ICT development. How this is controlled, by whom, how inevitable it is, if this type of innovation is instigated exclusively by technology evolution or by social factors, who can have access to this type of technology and how can they truly benefit by it.

Academic & Transferable Skills : Communication & Personal Development

This unit follows the respective unit delivered in the Autumn Semester and refers to the skills required for the successful attendance at the University. The academic skills developed over the current semester include: a) communication skills with an emphasis on oral presentation, b) methods for effective group work and interpersonal communication and c) techniques for the successful completion of University studies.

Information Systems and the Digital Enterprise

Information Systems and technologies have become as integrated into our daily business activities. They are vital components of successful businesses and organizations. Thus, Information Systems constitute an essential field of study in the modern Digital Enterprise.

Information technology can help all kinds of businesses improve the efficiency and effectiveness of their processes. As a consequence, effective managers need to remain current in terms of the IT available and to acquire the concepts and skills involved in analysing, designing and implementing Management Information Systems (MIS).

This unit introduces the students to the concepts which are necessary for the effective cooperation between managers, system analysts, and other IT professionals. It intends to provide the theoretical background as well as the practical skills for using and analysing digital information.

Introduction to Academic English II

This unit instructs students in all aspects of academic communication including writing, reading, speaking and listening as well as offering opportunities for vocabulary enrichment and lexical and structural improvement specific to academic communication. It is specifically targeted at students who are in the final semester of their 4-year programme and who need to acquire the necessary academic skills to proceed to the 2nd level of their studies. It also focuses on IELTS improvement in preparation for the IELTS examination. Using a variety of different teaching and learning methods, students will be given the opportunity to practice and improve their overall use of academic English so that by the end of the course they are proficient in the specifics of academic discourse appropriate to their field of study. This unit acts as a support mechanism to the linguistic demands expected of students in their core subjects i.e. Business, Psychology and Computer Science. The unit seeks to improve overall language use through contemporary issues that relate to the role of the individual in contemporary society, as well as those pertinent to the student’s own field of study.

Υear 2

Introduction to Object Orientation

This unit is an introduction to fundamental concepts of object oriented programming. It provides knowledge on basic technical analysis, on planning and implementing object oriented solutions, using Java as a programming language. Emphasis is given on allocating and materialising of classes (types defined by the user) that are necessary for the effective and solid resolution of problems and on utilising the characteristics of Java, such as the provided classes and inheritance.

Computer Systems Architecture

This unit provides the student with basic knowledge and skills on fundamental concepts in the areas of Computer Architecture and Computer Systems organization, including structure and components of modern computer systems, CPU architecture, memory hierarchy, I/O peripherals and storage systems, computer arithmetic, digital logic and basic logic design, computer arithmetic, data processing concepts from an architectural perspective and a general introduction to advanced computer architectures and systems. The unit is introductory and has no prerequisites.

Digital Economy

The Theoretical framework of the term “Digital Economy” involves the research of the characteristics of the new economy, the new products, the new business and the new technologies, that define the contemporary digital business.

Continuous Mathematical Foundations

This introductory unit provides an understanding of the basic mathematical methods required for the study of Computer Science related problems. This course satisfies the mathematics competency requirements for a first year student in Computer Science studies. It covers basic Statistics, Probability, Linear Algebra, Logarithms, Calculus and some basic Economic concepts.

Statistics

The unit of Statistics aims to provide students with the necessary knowledge and skills so as to analyse quantitative data by using various statistical tests and specialised software. This unit is a necessary “tool” for IT students, as it enables them to perform statistical analyses, which nowadays is considered an integral part of an IT graduate’s competency.

Teaching of Informatics

The unit initially presents the basic concepts of education and teaching science. It then focuses on planning issues concerning the delivery of IT units and the development of the respective educational material. Finally, it presents issues concerning the educational software of IT units, the learning technologies and the basic concepts of e-learning.

Networks Architecture

This unit provides the student with basic knowledge and skills on fundamental concepts in
the areas of Computer Architecture and Computer Systems organization, including
structure and components of modern computer systems, CPU architecture, memory
hierarchy, I/O peripherals and storage systems, computer arithmetic, digital logic and basic
logic design, computer arithmetic, data processing concepts from an architectural
perspective and a general introduction to advanced computer architectures and systems.
The unit is introductory and has no prerequisites.

Object-Oriented Programming

This unit is an introductory course in computer programming intending to offer insights to basic analysis of problems and to algorithmic thinking. Emphasis is placed on developing strong and robust fundamentals of software development (especially programming) practices. Design practices such as incremental code writing, simplicity, code improving, error handling and pair programming are introduced and practiced in the labs. The aim of this unit is to introduce computer science students to the object oriented approach to computer programming, object oriented analysis and design techniques and Java syntax for object oriented programming

Systems Analysis & Design

Systems Analysis and Design is an active field where new methods and techniques appear to support the software development process. This unit is addressed to the first level students and provides an overview of the different development approaches. Furthermore, the unit focuses on the analysis and design of software systems and the application of the Unified Modelling Language (UML) in a software development process.

Discrete Mathematical Foundations

This introductory unit provides an understanding of the basic mathematical methods required for the study of Computer Science related problems. This course satisfies the mathematics competency requirements for a first year student in Computer Science studies. It covers basic Statistics, Probability, Linear Algebra, Logarithms, Calculus and some basic Economic concepts.

Probabilities

The theory of Probabilities refers to the study of mathematical models that describe random phenomena. As random phenomena are defined those of which the results are not known without prior observation. Probabilities hypothesise regarding the potential results of the random phenomena. The unit of Probabilities aims to provide students the necessary knowledge and skills so as to perceive the meaning of the random and the quantitative probability and their use on IT applications.

Advanced Academic English

This unit instructs students in all aspects of academic communication including writing, reading, speaking and listening as well as offering opportunities for vocabulary enrichment and lexical and structural improvement specific to academic communication. It is specifically targeted at students who are in their final stage before entering Level 2, and who need to acquire the necessary academic skills so as to proceed to the 2nd level of their studies. Using a variety of teaching and learning methods, students will be given the opportunity to practice and improve their overall use of academic English so that by the end of the course they are proficient in the specifics of academic discourse appropriate to their field of study. This unit acts as a support mechanism to the linguistic demands expected from students in their core subjects i.e. Business, Computer Science, English Studies, and Psychology. The unit seeks to improve overall language use through contemporary issues that relate to the role of the individual in contemporary society.

Υear 3

Human Computer Interaction

This unit intends to introduce students to Human Computer Interactions (HCI) principles and how they can be applied in the software development process. Specifically students see what usability is and how it can be measured, how HCI can be used in all phases of the software development process, and how HCI can be used to evaluate the usability of a software system. Finally they are taught a systematic method for designing usable UIs.

Formal Methods & Software Reliability

This unit is an introduction to Formal Methods and specifically to Formal Specification. It provides students with knowledge and skills on the design of mathematical models of software systems using Discrete Mathematics. The unit introduces the Z specification language and students are provided with the knowledge on how to produce complete and well- structured Z specifications.

Database Systems

This unit provides an introduction to the concepts and principles of database systems and examines key issues of the database approach to information storage and manipulation. In addition, since designing a successful database application requires conceptual modeling, the unit explains the modeling concepts of the Entity Relationship Diagram as a high-level conceptual data model. Furthermore, the relational data model is analyzed as an implementation data model due to its widespread use in traditional commercial database management systems. Last but not least, the unit presents the main features of the structured query language since it is the lingua franca of relational database management systems.

Data Structures & Algorithms

This unit provides an introduction to the solid foundations in basic concepts of programming: data structures and algorithms. It explains the use and the importance of basic data structures and demonstrates a variety of algorithmic techniques in the fields of searching and sorting. The unit also introduces computational complexity which is essential when programs are confronted with large versions of problems which they were designed. On the whole, the unit offers a mixture of theoretical knowledge which is universal and fairly independent of the programming language as well as practical experience through Java.

Logic Programming

Logic programming (LP) is an exciting programming paradigm, significantly different than the imperative and object-oriented paradigms which are dominant nowadays. The difference lies in the fact that it introduces a declarative style of programming according to which the programmer is to state what the problem is and not how to solve it. The main aim of this unit is to introduce LP through an in depth study of the Prolog language, which has highly contributed to the field of Artificial Intelligence, emphasising more to practical aspects of the declarative paradigm than its strong theoretical foundations. Through a series of formal lectures and laboratory sessions the students acquire the necessary knowledge for designing and implementing logicprograms, which also forms a basis for future courses such as Artificial Intelligence Techniques, Intelligent Systems, Agents and Robotics and 3rd year Projects.

Operating Systems

This course offers an introduction to the fundamental principles and techniques employed in the design of operating systems; the concepts of an operating system is based upon are covered in detail. Emphasis is drawn on the OS processes and their scheduling, as well as, the memory, the file system and their management. The above concepts are applied in the case of a UNIX system.

Web Programming

This unit covers issues related to the architecture, design and development of contemporary dynamic web applications. Topics include technologies associated with web applications including HTML5/CSS, dynamic server-side pages, dynamic client-side scripts, personalisation (cookies and sessions) and client-side techniques for interactive Web applications.

Professional Issues in IT

This unit aims to promote an awareness of the wider social, legal and ethical issues of computing. It describes the relationship between technological change, society and the law, emphasising the powerful role that computers and computer professionals play in a technological society. It also introduces the legal areas which are relevant to the discipline of computer science (e.g. intellectual property, liability for defective software, computer misuse, etc.). It exposes students to the ethical concepts that are important to computer professionals, and prepares the students in considering ethical dilemmas.

Artificial Intelligence Techniques

Artificial Intelligence (AI) is the area of science with the ultimate goal to build intelligent machines, i.e. machines that exhibit human-like behaviour when solving complex problems. Following the classic equation that “AI = search + knowledge representation”, this unit provides an in-depth introduction to Artificial Intelligence problem solving techniques by presenting blind and heuristic state space search algorithms and knowledge representation (KR) techniques, such as logic, structured representations and rules. For each technique discussed special emphasis will be given on the practical issues that arise during implementation. Finally, the module provides the necessary background knowledge for the third year units.

Software Development in Practice

This module introduces the students the complete process of producing proper software, from the conception of the original idea to testing and maintaining the final software product. It ties together processes and concepts that the students have been introduced to in the previous semesters like capturing the requirements and specifications of a project, making proper analysis and design, implementing the different parts of the software in a coherent and proper manner, as well as testing the software, in order to create a proper and user friendly product.

TWO COURSES FROM THE FOLLOWING

IT Decision Support Systems

Information Technology (IT) is in a constant state of evolutionary change. IT now enables the transformation of business supply chains into networks of collaborating business organisations adopting structures built around business processes exploiting core competencies. Before businesses can reap the benefits of such change, managers need to be able to exploit IT to make better operational, tactical and strategic decisions. This involves not only routine internal decisions, but also one-off unanticipated decisions and decisions involving collaborating organisations.
As a consequence, effective business managers need to remain current in terms of the IT available and to acquire the concepts and skills involved in analysing, designing and implementing the Management Information Systems (MIS) which are needed to provide the information used in the decision making process. They need to understand the nature of management decisions and the decision making process itself.Without such knowledge managers will not be equipped to work alongside systems analysts and other IT professionals and play a full part in the process of MIS provision. Ultimately it is the role of managers to interpret and apply information in order to be more effective in their jobs, and thereby to be fully involved in the process of transforming their organisation to be capable of working in an IT enabled supply chain network.

Information Systems Applications

Usage of Information Systems has become pervasive in today’s world, not only in the business environment but also at societal and personal level. This unit investigates applications of Information Systems in both the public and private sector. We examine in depth a wide number of key Information Systems applications, discuss their organizational and societal advantages and implications, and address contemporary issues that emerge in various and diverse fields that incorporate IS solutions.

Υear 4

Professional Development Seminar Series

Individual Project Preparation

Individual Project

The project is an extended piece of individual work, occupying your time throughout the final year of your studies. You will work on a topic that interests you, and have regular meetings with your supervisor to discuss your work. The final year project is equivalent to four units (40 credits).

Industrial Software Project

The purpose of this unit is to provide students with the opportunity to integrate and apply the skills and the knowledge they have acquired so far in their studies to a realistic problem. Students are exposed to the processes involved in the team-based development of software through real projects that are provided by companies from the software industry.

Software Engineering

The unit aims to develop an understanding of the problems involved in the development of high quality software products and appreciation of the methodologies, techniques, and tools necessary to develop such systems efficiently. The emphasis of the course is placed on project management, metrics and project estimation, risk management, quality issues, testing, and contemporary software engineering topics, such as extreme programming and refactoring.

Network Computing

This unit presents advanced as well as contemporary issues of data communications and computer networking. It provides students with the ability to utilize previous knowledge of computer networks in order to gain a thorough insight of data exchange. Important and crucial subjects related to networking are examined and new technologies and infrastructures are explored.

Enterprise and Innovation in IT

The IT sector offers a fertile environment for Entrepreneurship capitalizing on the innovative features and the rapid technological developments in the global economy. Computer science students must be skilful in managing and developing IT firms, along with their technical and scientific capabilities. The focus of this course is to build management skills among the computer science students, having as basic exercise the new product development process. It is considered an operationally focused course, as it aims to develop the interdisciplinary skills required for successful product development in today’s competitive marketplace.
Students will experience the navigation from the creation of ideas for IT products and services, the evaluation of ideas in business and market terms, the design process of new products, the testing and prototyping phase, the intellectual property protection techniques, the marketing planning, the financing techniques and to the business planning along the product life cycle. Students will follow the course delivery, participating in project teams in an entrepreneurial building exercise. For each step along the new product development process useful tools, techniques that support new product development practice will be provided to them. Although the course focuses on the application of management principles to new product development, they are more broadly applicable to innovation management and entrepreneurship.

We will make extensive use of the resources on innovation management in the world wide web for each step of the innovation management cycle. The recourses will be listed in the course’s Web site to both communicate information to students and to converse with them about their homework and their projects.

The last week of the course is designed for final project presentation. The targeted audience will be technical, business and financing experts playing the role of evaluator committee for financing the proposed business plan and the market accessibility of the new product. In the final presentation extensive communication skills are required in order to prepare students for efficient and cohesive presentation of their achievements.

Information Security

This unit introduces the field of information security as an important area of advanced computer science and provides a broad overview of information security. The course will provide a solid theoretical foundation, as well as real-world examples, for understanding computer security. Fundamental theoretical results, foundational models, and salient examples will be covered. Security in computer data, operating systems, and networks will be covered, with emphasis on applied cryptography and program security. Students can expect to leave the class with an understanding of the theoretical underpinnings for information and computer security, an appreciation of the strengths, weaknesses, and limitations of the major theories, and an understanding of the application of computer security theory to real-world systems. Students will also gain experience and insight into the application of theory to practical systems.

TWO COURSES FROM THE FOLLOWING

Social Media & Networks

The advancements of social media and social networking websites are revolutionizing and facilitating the way people communicate, interact, generate and share information. Drawing upon technological, social, cultural, psychological and organizational perspectives, this unit presents underlying concepts and critical issues of social media and social networks and examines contemporary and emerging platforms, applications and technologies that enable and facilitate social communication.

Knowledge Technologies for Innovation

In a rapidly changing world where the trend is that almost every aspect of our lives becomes infused with smart/intelligent products and services, innovation is a goal in itself. This unit offers an overview of various scientific fields and knowledge technologies (a lot of them belonging to or intersecting with the wider artificial intelligence area), together with a series of examples and case studies, to clearly demonstrate their applicability and potential for innovation.

E-Commerce and Digital Market

E-commerce is nowadays a fact. Its sharp usage increase, along with the systematic progress of Information and Communication Technology (ICT) has greatly influenced every aspect of our daily lives. This unit provides balanced coverage of both technology and business aspects of e-commerce and digital markets. The current e-business and revenue models, as well as, the ICT technologies required for e-commerce activity are discussed. In addition, marketing and advertising concepts that play a vital role in contemporary e-commerce and how these impact on online consumer behavior are deeply analyzed. The Unit, also, presents the importance of customer relationship management and supply chain management systems in online purchasing and emphasizes the importance of B2B e-commerce in current enterprising world. Last but not least, topics such as m-commerce, security in online transactions and e-commerce payment systems are discussed.

IT Strategy in Business

In the emerging Digital Economy, information is a vital organizational resource that needs to be managed like other important business assets. Powerful technologies allow vast amounts of data to be stored, organized and analyzed in order to provide accurate, consistent and complete information which can be used to develop new businesses, achieve operational excellence and guide decision making. This module examines the managerial and organizational requirements, as well as, the technologies and applications for managing data and information. It addresses the opportunities and the competitive advantage of information technology utilisation to support the organizational processes and provides insight in the decision making process by introducing tools such as CRM, SCM, ERP, and BI.

Mobile Computing

This unit will cover various aspects of mobile networking in all layers of the Internet protocol stack. The unit will also present contemporary techniques employed in ad-hoc wireless networks, such as self-adaptation, routing, and mobility models. Moreover, state-of-the-art WPAN, WLAN, and WMAN technologies will be studied. Among the unit aims is also discussing the fundamentals of cutting-edge access technologies, localization techniques, and cell networking schemes. The principles of designing applications for mobile devices will be provided, taking into consideration resources constraints and special human-computer-interaction issues.

Games & Media Technology

This unit provides an introduction to the underlying concepts underpinning the theory and practice of game development, design and production. Specifically, this unit will provide an overview of the design of videogames, how games are produced, languages and architectures involved in game design, important theoretical issues in game development like graphics, physics and 3D modelling and animation. It will also tie up with issues discussed in Artificial Intelligence units.

Distributed Systems & Cloud Computing

This unit is an introduction to distributed and cloud computing. It provides students with knowledge concerning the main principles and technologies underpinning distributed and cloud systems, the benefits that are derived from these systems, and the challenges involved. The unit also provides students with the basic skills for developing cloud applications and deploying them to cloud platforms.

Agents and Robotics

This course introduces the students to the notion of agents and agent-based software development. The students will learn about single and multi-agent environments, and the issues and problems associated. In addition the students will be introduced to robotics as a field of science from a computer science perspective, with a focus on mobile robots. This focus will help to tie up the two subjects. The students will have to apply what they learn to a realistic scenario that will be solved with mobile robots (in a simulated environment).

Intelligent Systems

Intelligent Systems aim at mimicking aspects of human intelligence when performing complex tasks, through the use of artificial Intelligence techniques This unit (following the AI Techniques unit which presented search algorithms and data representation issues), provides a study of important and more advanced application areas such as fuzzy rule-based systems, planning, knowledge-based systems, machine learning, neural networks and other non-symbolic problem solving methods, allowing the student to acquire knowledge of the main concepts of the AI field, be able to identify possible application areas of the technology and apply the presented techniques to solve related problems.

Computer Science

INFORMATION + PREREQUISITES
START

1st semester (October)
2nd semester (February)

DURATION

4 years

LANGUAGE OF INSTRUCTION

The language of instruction over the first two years is Greek and over the last two is English

SCHEDULE

Morning courses and Noon courses

PREREQUISITES FOR ENROLLING

Candidates should hold one of the following:

– Highschool Diploma
– IB Diploma
– Apolytirion

Good knowledge of English is required.

Candidates who have completed their high school studies through the medium of the English Language are not required to hold an English language qualification.

Computer Science

FORM OF INTEREST

Complete the following form and we will get in touch with you to discuss all the details concerning BSc (Hons) in Computer Science.

I have read and accept the Terms of Use and Privacy Policy