ATH/TECH | BSc (Hons) in Computer Science - 3year course
Bachelors

BSc in 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 Computer Science as well as to award them with hands-on experience in the development of IT applications and integrated Information Systems and solutions (web, mobile and others).

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.

Athens Tech College students become familiar with the exciting, challenging and dynamic Computer Science, gain experience in a number of programming languages and technologies (C, Python, Java, HTML, CSS, Javascript, SQL, etc.) and formulate a complete academic and professional character.

BSc in Computer Science

WHY CHOOSE THIS COURSE

Because the degree received is issued directly by the University of York, one of the world’s premier institutions for inspirational teaching and life-changing research and a member of the prestigious Russell Group in UK.

Because it provides high-quality higher education based on research and the needs of the current labor market in the IT sector. This course’s students will be trained to identify problems, think analytically, suggest effective solutions, create software systems, work in teams, and will undertake projects that will promote their creativity and talent.

Because ICT (Information and Communications Technologies) is the biggest and fastest growing sector in the European Union and the United States, creating a constantly increasing need for knowledgeable and highly adaptive professionals.

Because it provides modern facilities and specialized computer labs for hands-on training in information systems and coding.

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 fully aligned with the new labor market that emerged due to the financial crisis and provides knowledge and skills that are actively sought after by companies. The course prepares all students for a successful career as tech professionals by setting the theoretical foundations of programming, effective planning and development of information systems.

Because through a wide variety of effective teaching methods, frequent seminars with guest speakers from the tech industry and the academic world, as well as hands-on practice, experimentation and real-life projects, students acquire essential knowledge and skills so that they can become highly-competitive professionals in any business environment.

Because students will work on a hands-on, final year project for real companies/clients. Divided in groups, students are assigned an external client and develop innovative and high quality software solutions to address their client’s need(s) while building skills and applying knowledge.

Because this Bachelor’s Degree provides a variety of options for career and employability, since there is a great demand for graduates who combine comprehensive knowledge of ICT with the socio-economic context in which it is applied. The program provides the necessary knowledge and skills for graduates to work in various sectors of the economy from telecommunications and software development companies, to consulting agencies or technology startups. Graduates of the BSc in Computer Science can pursue rewarding and challenging careers in different specialties such as software engineering, system administration and management, computer architecture, software systems, business informatics and high-performance computing, among others.

Because Athens Tech College employs scientific and academic personnel of experienced lecturers and researchers that hold extended experience at the IT/ Tech industry. The professors of  Athens Tech College have been long teaching in academic environments and have been involved in research groups, scientific studies and development projects. 

Because the Career & Employability Office (powered by Code.Hub) helps ATH/TECH students and graduates, both fulfill their career aspirations as an immediate return on their investment in education, and also in terms of future career growth.

Because 90% of the graduates find employment right after their graduation.

BSc in Computer Science

GOALS OF THE COURSE
  • To be in perfect alignment with the current needs of the labour market.
  • To provide knowledge and experience in creating and utilizing high-quality and effective information systems which are in accordance with the constant changes and evolution of technology.
  • To enable students to choose their ideal specialization, out of the three unique Educational Pathways offered by ATH/TECH (Computer Science | Business Informatics | Internet Computing)
  • 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.
  • To create an environment of lifelong education on cutting-edge technologies, and an alumni that will lead in the field of technology through personal and group effort and excellence.
  • To create experts who stand out for their competence in understanding, utilizing and developing information systems, and who will master the skills of effective programming. Students will be trained in analyzing, designing, developing and inspecting software systems, and all other functions related to the field of innovation and technology.
  • To provide students with up-to-date knowledge of the technological advancements in the field, the newest and most effective business practices, and a solid comprehension of software development techniques.
  • To teach students on how to apply their knowledge on real life projects.

BSc in Computer Science

PATHWAYS
COMPUTER SCIENCE

 

Computer Science is an exciting, challenging and dynamic discipline. Computers form an integral part of every aspect of society and modern life. New computing technologies are introduced at an enormous rate and the Computer Science field develops and changes continually and rapidly. Consequently Computer Science has evolved into a dynamic and challenging field of study.

Students in the course of their degree are exposed to the theoretical foundations in all areas of the field, gain an understanding of the principles that underlie development of systems, apply their knowledge on real life projects and acquire the necessary knowledge and skills to cope with the astonishing rate of change of the specific discipline.

BUSINESS INFORMATICS

 

Modern organizations are confronted with the challenges brought by the global market, the digital economy, the knowledge society and the rapid growth of information technologies. Business environments in any sector are adopting computer technologies for all business processes and operational tasks, towards increasing productivity and promoting innovation and entrepreneurship.

Students of this programme acquire a mixture of technical and contextual knowledge and skills, appropriate both for the development of software systems and for the strategic deployment of current and emerging technologies, for promoting innovation and entrepreneurial activities within a modern organization. Students are also exposed to the theoretical foundations of the Computer Science field, gain an understanding of the principles that underlie development of systems, apply their knowledge on real life projects and acquire the necessary knowledge and skills to cope with the astonishing rate of change of the specific discipline.

WEB TECHNOLOGIES

 

The Web penetrates every aspect of today’s economic and social life. It provides a unique access to an immense wealth of knowledge and information, and its uses are virtually unlimited. The advancement of the Internet has revolutionised the way in which globally distributed, rapidly changing and collaborative industries such as banking, entertainment, healthcare, and manufacturing, to name a few, operate. This has created a great demand for specialists with an in depth knowledge and skills on the development of Web applications.

Students of this programme are exposed to the theoretical foundations of the Computer Science field, gain an understanding of the principles that underlie development of systems, apply their knowledge on real life projects and acquire the necessary knowledge and skills to cope with the astonishing rate of change of the specific discipline, with a main focus on internet based applications and the enabling Internet, mobile and web development technologies.

ARTIFICIAL INTELLIGENCE & DATA SCIENCE

 

The past decade has seen an explosion of advancements in Artificial Intelligence and Data Science. These advancements have come in a time when (and some would argue are because of) we are now producing and storing online information with an exponential growth. This has had a great impact in all aspects of businesses, from trading, to production and industry. The fourth industrial revolution is based on the availability and organisation of information, and in a world where information has become too much to handle, Artificial Intelligence has found fertile ground on which to grow. As a result, AI and Data Science are both in great demand.

Students of this programme are exposed to the theoretical foundations of the Computer Science field, gain an understanding of the principles that underlie development of systems, apply their knowledge on real life projects and acquire the necessary knowledge and skills to cope with the astonishing rate of change of the specific discipline, with a main focus on Artificial Intelligence and Data Science techniques and applications.

BSc in Computer Science

CURRICULUM
1st Year / Stage 1

MODULES PER YEAR

Programming Principles and Algorithms

This course is an introduction to computer programming, basic problem analysis and algorithmic thinking. Emphasis is placed on developing strong basic software development practices (especially in programming). Design practices such as incremental code writing, code enhancement, and programming per pair are introduced and practiced in laboratories.

Programming Methodology & Design

This unit is an introductory course in computer programming intending to offer insides 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.

Computer Systems Architecture

This course is an introductory course in Computer Architecture. Its aims are to provide an appreciation of computer hardware technology at a novice level, introduce students to the terminology and components of computer systems, discuss storage mechanisms and their organisation, to introduce students to the structure and operation of digital circuits and to familiarise students with digital arithmetic and digital logic. By the end of the course students should: be able to comfortably deal with computer terminology, have a basic understanding of computer architecture, have an overview of computer systems components, have a good understanding of computer number representation and conversion and have a basic understanding of digital circuits.

Mathematical Foundations

This course is intended to introduce the students to the fundamental concepts of Calculus. It presents the students with the notions of functions, limits of functions, derivatives and integration with a particular emphasis on the application of those topics in science and especially in Computer Science. By the end of the course students should know how to apply derivatives in calculating rates of change and in solving optimization problems, know how to draw reliable graphs and how to find the largest and smallest values of a differentiable function, be able to calculate with integrals the areas between curves, understand the relationship of calculus with science, acquire and develop general evaluative and communication skills such as being able to analyse information, interpret it and draw conclusions, to consider a problem from a number of different perspectives, to contribute constructively to class discussions, to request clarification, to challenge arguments, and to defend their own point of view.

Introduction to Web Technologies

The aims of this unit are to provide a working knowledge of the Internet, to develop individual and group communication skills, and to provide essential information technology (IT) skills. By the end of the unit the students should understand and be able to explain the principles of Internet communication, be able to use the Internet as a practical tool for information gathering, understand the World Wide Web, and be able to write a hypertext document using HyperText Markup Language (HTML), be able to communicate their ideas more effectively, both orally and in writing, be able to use standard software packages (word processor, spreadsheet and presentation tools), and have a greater understanding of group dynamics, both as a group member and a group leader

Academic English Skills

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. The unit also provides space for students to consider how technology is used in the academic communication process. 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. Computer Science, Business or Psychology. 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.

Introduction to Object Orientation

This course is an introduction to the basic concepts of object-oriented programming, offering knowledge of basic techniques for analyzing, designing and implementing object-oriented solutions, using the Java programming language. Emphasis is placed on identifying and implementing classes (user-defined types) that are necessary for effective and powerful problem solving, the exploitation of Java features, such as the use of the classes provided and heredity.

Object Oriented Programming

This unit is an introductory course in computer programming intending to offer insides 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 impoving, error handling and pair programming are introduced and practiced in the labs. The aim of this unit is to introduce computer science student to the object oriented approach to computer programming, object oriented analysis and design techniques and Java sytax for object oriented programming.

Systems Analysis and Design

The aims of the course are to provide an overview of Information Systems in a global, information-based economy, to explore the roles of information system users, to introduce the basic techniques of systems analysis, and their application to problem analysis and software systems design, to introduce the principles of project management, to present design features common to all applications. By the end of this course, the students should be able to define the system analysis role and responsibilities in a typical organization, describe the building blocks of an information system – people, data, activities, networks and technology, describe systems planning, analysis, design, implementation and support, describe a phased approach to information systems development and describe cross-life activities.

Logic and Automata

This unit aims to introduce discrete mathematics and provides the mathematical background to first year CS students. Many areas of Computer Science rely heavily on mathematical concepts and techniques. This introductory unit covers Logic, Set Theory, Languages, Relations, Induction, Turing Machines and Graphs. It explores the relationship between mathematics and computer science units which are taught at higher levels, e.g. Logic Programming, Formal Methods, Databases, etc. The unit also aims, through practical work, to improve the analytical as well as the written communication skills of the students. At the end of this course the student should be able to comfortably deal with problems in logic, set theory and graphs, understand the relationship between mathematics and computer science, express solutions to problems in an analytical way, use mathematical background knowledge to deal easily with the computer concepts as they occur in the more advanced courses.

Networks Architecture

This unit provides an introduction to modern communication systems. It offers a comprehensive overview of the fundamental principles, theories and practices employed in computer networks and aims to develop a foundation that can be used as the basis for further study or research in the field. The unit aims to examine the structure of communication systems, to introduce fundamental computer network architectures and technologies, to present hardware components used in computer networks, to discuss the OSI model as a reference for understanding and designing a network architecture and to investigate the internet model (TCP/IP) and internetworking principles.

Database Systems

The aims of this course are to introduce fundamental concepts of database technology, to present the stages of database development with particular emphasis on design, to present the existing implementation methods (hierarchical, network, relational), to analyse the theoretical background of the relational model, to demonstrate the merits and the techniques of good database design, to introduce Structured Query Language. Upon completion of the course the students should be able to demonstrate a thorough understanding of the technical and theoretical issues involved in database technology, appreciate the importance of the initial stages of the database development, develop Entity-Relationship diagrams based on narrative descriptions as well as other informational material, transform Entity-Relationship diagrams into well-designed relations, identify functional dependencies and normalize relations and write queries in SQL.

2nd Year / Stage 2

MODULES PER YEAR

Logic Programming

The main aim of this module is to introduce Logic Programming through the Prolog language as a methodology for basic understanding of programming language concepts. A brief introduction to Predicate Calculus, Horn-Clause Logic and Logic Programming is made. Logic Programs are then defined and their Resolution Principle is discussed. The material taught also aims to provide an in depth study of Prolog, since Prolog will be widely used in future courses, like Artificial Intelligence, Expert Systems, Programming Language Concepts and 3rd year Projects. Emphasis will be given to the basic constructs of Prolog, avoiding the non-standard characteristics of any particular version used. However, possible extensions of Prolog towards parallelism, constraint satisfaction and declarativeness are discussed. By the end of the course the students are expected to have acquired good knowledge of the Prolog language, be able to comprehend the advantages of declarative programming as well as shortcomings in comparison with imperative languages, have acquired the basic background on principles of programming languages, like procedural abstraction, program design and development, parameter passing, variable binding etc.

Data Structures & Algorithms

This course provides the programming skills and knowledge of using an appropriate data structure for a software application. Students are introduced to the concept of data abstraction and learn how to treat data structures as ADT’s. The C++ class structure provides the power in building well reusable and maintainable code. The course covers the efficient usage of data structures using the class member functions. The efficient usage and the analysis of algorithms is another component examined in this course. This course provides all the programming skills that will be used in the course Object Oriented Design to implement the designed solutions. By the end of this module the students should be able: to implement the concept of data abstraction, to build the ADT for the basic data structures, to teach the major sorting and searching algorithms and their computational complexity, to apply the appropriate data structure in each application and to emphasise design issues as cohesion and coupling.

Web Programming

Students study issues related to the architecture, design and development of contemporary dynamic web applications. Topics cover technologies associated with web applications including html/css, dynamic server-side pages, dynamic client-side scripts, personalisation (cookies and sessions) and client-side techniques for interactive web applications. Other issues presented and discussed include the current and future state of the web, web 2.0, semantic web and web services.

Data Analysis: Statistics and Probabilities

Data science is nowadays one of the highest-paying graduate jobs. This module aims at introducing students to the fundamental mathematical concepts pertaining to data science. It is conceptually divided in two parts. The first part is devoted to probability – a cornerstone of Data Science – and includes such topics as discrete and continuous random variables, and probability distributions. The second part is devoted to sample statistics and includes such topics as regression, estimation, confidence and hypotheses, and random processes.

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.

Information Systems Applications

Information Systems (IS) as a field of academic study encompasses the concepts, principles, and processes for two broad areas of activity within organizations: (a) acquisition, deployment, management, and strategy for information technology resources and services and (b) packaged system acquisition or system development, operation, and evolution of infrastructure and systems for use in organizational processes.
The purpose of this course is to explore the characteristics of the Information Systems and the different categories of IS, introduce the most important components of the Information Systems, and depict the differences between old and new (digital) Information Systems and their importance in the new digital economy era.

Professional Issues in IT

Since students need to be aware of the wider social, legal and ethical issues of computing, this half-module aims to provide an understanding of the relationship between technological change, society and the law, emphasizing 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.), and aims to provide an understanding of ethical concepts that are important to computer professionals and experience consideration of ethical dilemmas.

Operating Systems

This course offers an introduction to the fundamental principles and techniques employed in the design of operating systems; the concepts 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. By the end of the course students should be able to understand the basic concepts of operating systems, be familiar with the theory behind their design, realise the concepts of multi-tasking and time-sharing, comfortably cope with the UNIX operating system, comprehend the differences between various types of operating systems, be able to perform systems programming (processes) related tasks.

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. The connection is made with the use of a case study as a vehicle to integrate and enhance the already existing taught knowledge.

Functional Programming

This module introduces students to the principles of the functional programming paradigm. The module introduces types, functions, as first-class language constructs, list comprehension, recursion, and immutability.

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 module provides an in-depth introduction to artificial intelligence problem solving techniques by presenting blind and heuristic state space search algorithms and knowledge representation 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.

Formal Methods and Software Reliability

This course is an introductory course in Formal Methods and particularly in Formal Specification. Its aims are to discuss the reasons that led to the need for Formal Specification of software systems, to introduce the basic concepts for the design of mathematical models of software systems using Discrete Mathematics. By the end of the course students should understand what is meant by Formal Specification, appreciate the significance of Formal Specification for the design of good quality software, be able to design a complete, easy to understand and well structured mathematical model of a system in the formal specification language Z.

3rd Year / Stage 3

MODULES PER YEAR

Core Modules

Individual Project Preparation

The aim of this non-credit unit is to support students in the development of their third year project. It includes seminars on dissertation writing, project management, dissertation structure, evaluation, etc.

Individual Project

The project is an extended piece of individual work throughout the third year of studies. students are expected to work on a topic of their interest and to have regular meetings with their supervisor to discuss their work. The individual project is equivalent to two full units. the project will develop students’ ability to construct a project from initial, unstructured ideas, through a thorough analysis of the problem area, to plan, schedule, monitor and control own work, to defend their ideas in discussions and presentations and apply tools and techniques from taught courses.

Industrial Software Project

The purpose of this unit is to provide students with the opportunity to integrate and apply skills and knowledge they 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-life projects that are provided by companies from the software industry. This unit aims to create an environment where students can apply their knowledge, to provide students with the experience of working in real-life project development circumstances, to  enable students to operate as a software development team and to integrate skills and knowledge of students

Software Engineering

This course covers systematic production testing and maintenance of software products that are developed and modified under timing constraints and takes into consideration cost estimation issues. The emphasis of the course is on project management, planning and monitoring since the design and analysis part has been covered in the corresponding second level course. The objectives of this module are to conceptualise the management process of large computer systems, to understand basic concepts of software engineering, to understand the management issues involved in building large computer systems, to understand the importance and the techniques and strategies of adequate testing.

Computer Science Pathway

Data Science

This module introduces students to the fundamental elements, concepts and techniques involved in Data Science applications. Students will learn how to further use their previously acquired knowledge of database systems, probabilities, and statistics concepts, and further expand on the linear algebra required in data science. They will also gain experience in cleaning, transformation, data analysis as well as data visualisation. The module has a practical dimension through the use of an appropriate programming language.

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.

Cloud Computing

This unit aims to introduce students to the fundamental concepts of distributed systems and to the contemporary field of cloud computing. The emphasis of the course is placed on Internet-Scale computing, grid computing, cloud services, virtualisation and shared data management. Related issues such as trust, reliability, cost management are going to be introduced and discussed.

The Department appoints two modules from the following:

Innovation and Entrepreneurship 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.

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.

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.

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.

Mobile Application Development

This unit will cover various aspects of mobile networking in all layers of the Internet protocol stack. The principals of designing applications for mobile devices will be provided, taking into consideration resources constraints and special human-computer-interaction issues. The unit will also present contemporary techniques employed in ad-hoc wireless networks, such as self-adaptation methods. Moreover, the cognitive networking paradigm will be introduced, along with the fundamentals of wireless sensor networks. Among the unit aims is also the study of state of the art access technologies adopted in latest generation cell networks.

Game Design and Development

This unit provides an introduction to the underlying concepts underpinning the development of computer games and a practical experience of the software engineering issues associated with computer games development.

Machine Learning

Machine learning is the part of Artificial Intelligence that studies how computers build experience and autonomously learn from data. The module will follow the standard machine learning taxonomy for organising problems and applying solution techniques, and will provide a thorough grounding in the theory and application of machine learning.

Deep Learning

Deep learning is a hot topic that has found multiple areas of application in the industry and business. Deep learning is the extension of Neural Networks (NN) that includes some new developments in training algorithms and uses the versatility of the computing power and data storage of the cloud. The module briefly introduces neural networks, explains how they work, how they are trained, and how they are deployed. Furthermore, it discusses the recent developments in training algorithms, NN structures, and cloud deployment, to conclude with the practical application of Artificial Intelligence solutions that we now call Deep Learning.

Nature-Inspired Computing

Many of the successful algorithms we use today for AI and optimisation are inspired by nature. This module explores the algorithms that were inspired by nature and provides a solid foundation for the broader field of AI-inspired computing, by investigating intelligent agents, evolutionary computing, and artificial life. All these concepts are not only discussed in theory but are also implemented as software solutions.

 

Business Informatics Pathway

Data Science

This module introduces students to the fundamental elements, concepts and techniques involved in Data Science applications. Students will learn how to further use their previously acquired knowledge of database systems, probabilities, and statistics concepts, and further expand on the linear algebra required in data science. They will also gain experience in cleaning, transformation, data analysis as well as data visualisation. The module has a practical dimension through the use of an appropriate programming language.

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.

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 behaviors 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.

Innovation and Entrepreneurship 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.

 

Web Technologies Pathway

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.

Cloud Computing

This unit aims to introduce students to the fundamental concepts of distributed systems and to the contemporary field of cloud computing. The emphasis of the course is placed on Internet-Scale computing, grid computing, cloud services, virtualisation and shared data management. Related issues such as trust, reliability, cost management are going to be introduced and discussed.

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.

Mobile Application Development

This unit will cover various aspects of mobile networking in all layers of the Internet protocol stack. The principals of designing applications for mobile devices will be provided, taking into consideration resources constraints and special human-computer-interaction issues. The unit will also present contemporary techniques employed in ad-hoc wireless networks, such as self-adaptation methods. Moreover, the cognitive networking paradigm will be introduced, along with the fundamentals of wireless sensor networks. Among the unit aims is also the study of state of the art access technologies adopted in latest generation cell networks.

Game Design and Development

This unit provides an introduction to the underlying concepts underpinning the development of computer games and a practical experience of the software engineering issues associated with computer games development.

 

AI and Data Science Pathway

Data Science

This module introduces students to the fundamental elements, concepts and techniques involved in Data Science applications. Students will learn how to further use their previously acquired knowledge of database systems, probabilities, and statistics concepts, and further expand on the linear algebra required in data science. They will also gain experience in cleaning, transformation, data analysis as well as data visualisation. The module has a practical dimension through the use of an appropriate programming language.

Cloud Computing

This unit aims to introduce students to the fundamental concepts of distributed systems and to the contemporary field of cloud computing. The emphasis of the course is placed on Internet-Scale computing, grid computing, cloud services, virtualisation and shared data management. Related issues such as trust, reliability, cost management are going to be introduced and discussed.

Machine Learning

Machine learning is the part of Artificial Intelligence that studies how computers build experience and autonomously learn from data. The module will follow the standard machine learning taxonomy for organising problems and applying solution techniques, and will provide a thorough grounding in the theory and application of machine learning.

Deep Learning

Deep learning is a hot topic that has found multiple areas of application in the industry and business. Deep learning is the extension of Neural Networks (NN) that includes some new developments in training algorithms and uses the versatility of the computing power and data storage of the cloud. The module briefly introduces neural networks, explains how they work, how they are trained, and how they are deployed. Furthermore, it discusses the recent developments in training algorithms, NN structures, and cloud deployment, to conclude with the practical application of Artificial Intelligence solutions that we now call Deep Learning.

Nature-Inspired Computing

Many of the successful algorithms we use today for AI and optimisation are inspired by nature. This module explores the algorithms that were inspired by nature and provides a solid foundation for the broader field of AI-inspired computing, by investigating intelligent agents, evolutionary computing, and artificial life. All these concepts are not only discussed in theory but are also implemented as software solutions.

BSc in Computer Science

INFORMATION + PREREQUISITES
START

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

DURATION

3 Years

LANGUAGE OF INSTRUCTION

English

SCHEDULE

Morning and Noon courses

PREREQUISITES FOR ENROLLING

Candidates should hold one of the following:

A High School Leaving Certificate with good performance and the High School Diploma, or the International Baccalaureate (IB) Diploma or at least six IB Subject Certificates (including at least three at the higher level) with a minimum total of 30 points, or A Levels obtained locally.

Overseas students should confirm the entry requirements with the Admissions Office.

Good knowledge of English is required. One of the following Certificates in the English Language should be submitted, acquired within two years before admission to the programme:

        • International English Language Testing System (IELTS Academic) with overall score of 6.0 or above, with at   least 5.5 in each component.
        • Pearson – PTE Academic with overall score 55 or above, with no less than 51 in each component.
        • Cambridge Certificate in Advanced English (CAE) with overall score of 169 or above, with no less than 162 in each component.
        • Cambridge Certificate of Proficiency in English (CPE) with an overall score of 169 or above, with no less than 162 in each component.
        • Test of English as a Foreign Language (TOEFL) internet-based test (iBT) and special home edition, with overall score 79 or above, with a minimum of 17 in Listening, 18 in Reading, 20 in Speaking and 17 in Writing.
        • Michigan State University – Certificate of English Language Proficiency (MSU – CELP): CEFR C2
        • GCSE English Language with minimum Grade C / Grade 4.
        • iGCSE English Language with minimum Grade C.
        • Trinity ISE Level 3 with Pass in all components.
        • Duolingo with overall score 100, minimum 90 in all other components.
        • Examination for the Certificate of Proficiency in English (ECPE).
        • Michigan English Test (MET): overall score 230 and above with a minimum of 53 in each component.

       

      Applicants who have completed their higher secondary education entirely through the medium of English Language are not required to hold an English language qualification.

      If a candidate does not fulfill the English Language requirement and achieves a mark higher than 6.0 in the ATH/TECH placement test, they will be allowed to proceed with their enrollment on the condition that the required certificate will be submitted by the end of the first year of studies.

DOCUMENTATION

In the Rules & Regulations section, you may find all the files, applications and entry requirements needed.

BSc in 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