Computer Science (Web Technologies) - BSc (Hons) - CITY College, University of York Europe Campus
Κολέγιο CITY College
Main Campus, Thessaloniki, Greece

Computer Science (Web Technologies) - BSc (Hons)

BSc (Hons) in Computer Science (Web Technologies)

BSc (Hons) in Computer Science (Web Technologies)

Course duration: 3 years

Degree Title: Successful graduates are awarded the undergraduate degree of the University of York.
Bachelor of Science (Honours) in Computer Science (Web Technologies)
The title is awarded directly by the University of York.
The degree is recognised by UK ENIC.

I need more information about this programme

I agree to receive information relating to the programme of my interest via email.

Industry Collaborations:
(in alphabetical order)

Industry Collaborations

The Computer Science Department of CITY College, University of York Europe Campus has established strong links with the industry, which include collaborations and partnerships with many companies and organisations. Students benefit from the department's links to the industry in multiple ways (i.e. opportunities for job placements, internships, real-life projects and more).


Fees (Early Bird Scholarships)

We encourage you to take advantage of our Early Bird Scholarships scheme to save on tuition fees and secure your spot.

For more information, please fill in the form above or call us at (+30) 2310-224026.

 

The programme

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.

Accredited by:

British Computer Society (BCS)

 

Why choose this course?

  • Degree from one of the world’s top universities, the University of York.
     
  • Accredited by BCS. It is one of the few courses in the region with accreditation from the British Computer Society (BCS).
     
  • Specialised programme of studies  combining the latest computer science theory and practice with an emphasis on the development of software systems to support today’s businesses.
     
  • Opportunities for potential placements and internships in IT companies and/or in-house IT departments, assisting students to embark their career even while studying and gain exposure to the practical industry dimension.
     
  •  ‘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.
    The projects are featured on INVENT created by the Computer Science department and managed entirely by students.
     
  • Computer Science Learning Communities. Students have the opportunity to get involved in learning communities of the department, depending on their special interest(s) such as: the ACM Student Chapter, the ACM-W Muses, the Robotics Club, the Java Cafe and many more.
     
  • Experienced academics and professionals teaching the programme.
     
  • Company visits to successful IT companies helping students to gain insight into the real world.

More reasons why:

CITY College LibraryCITY College LibraryCITY College LibraryCITY College LibraryCITY College SportsCITY College SportsPaintball event by CITY College Students’ Union (CSU)Boat trip to ChalkidikiCITY College Running Team at the 11th ‘Alexander the Great’ International MarathonCITY College Gaming ClubCITY College students strolling around ThessalonikiCITY College students strolling around ThessalonikiAlterlife WH7 fitness centreAlterlife WH7 fitness centreAlterlife WH7 fitness centre

 

Recognition of degress Accreditation and recognition The Department

Stage 1

 

Stage 2

One module from the following:

 

Stage 3

Three modules from the following:

 

 

 

Stage 1

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

Academic and Transferable Skills
The support tutorial class provides the means to enhance student skills and abilities not necessarily based on the context of specific units taught but which prove to be very useful throughout their studies as well as their careers afterward.
The idea is to split a cohort of students into several small groups, which are assigned a member of the academic staff, called the Tutor. Each group meets with the Tutor once every two weeks and discusses a specific topic.
The aims of the Tutorial System are:
Study Skills: to develop the students discussion, presentation and general communication skills.
Context: to broaden the students understanding of the degree subject, putting it into the context of the discipline of science as a whole.
Integration: to help students with the development of and integration between the units they are studying.
Planning: to help the students to plan their work and the academic staff to chart the students progress.
Pastoral: to give students a personal contact and guidance with a member of the academic staff. Back to top

 

Stage 2

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

Research Skills in the IT Profession
This unit intends to introduce students to research-related issues and techniques that are commonly employed in Computer Science. Students will be exposed to methods for searching, identifying and evaluating scientific sources, report writing techniques, and principles and approaches to writing a literature reviewing. The unit will additionally cover research approaches for designing data collection strategies, and selecting appropriate analysis methods, as well as methods for the representation and interpretation of the results. Finally, the unit acts as a preparation for the 3rd year project, providing practical guidelines on how to write a successful dissertation. Back to top

Green Computing
Although the global adoption of ICT has resulted in a significant negative environmental impact, ICT forms part of the solution to many environmental issues. Green Computing is the study and practice of developing and using computer systems and telecommunications with minimal impact on the environment and at the same time maximizing the positive environmental impacts. This unit discusses the environmental impact of ICT, investigates available green technologies and tools and how they are utilised for developing Green ICT strategies towards sustainable computing, presents ways on revising business processes and ICT operations and all these within the available European and international legislation. Back to top

 

Stage 3

Professional Development Seminar Series
The aim of this non-credit unit is to enhance the students' learning experience and employability skills by organising a series of seminars on practical, contemporary and emerging issues essential for students’ professional career. Back to top

Individual Project
The project ia 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. Back to top

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. Back to top

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. Back to top

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. This unit aims to underpin previous introductory knowledge, to examine advanced issues related to computer networking, to introduce the architecture and functionality of current communication technologies and to investigate the current state-of-the-art achievements and trends worldwide. Back to top

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. Back to top

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. Back to top

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. Back to top

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. Back to top

Front-end Application Development
This module will enable the student to acquire the knowledge and develop the skills they need in order to be able to make front-end websites from scratch. They will learn to use contemporary frameworks (such as HTML5, CSS3, JavaScript, jQuery and Angular) in building modern, high-quality, aesthetically pleasing, and fully functional websites. Back to top

Back-end Application Development
This module will enable students to acquire the knowledge and develop the skills they need in order to be able to develop back-end applications. They will learn to use contemporary frameworks (such as ASP.Net Core) in building modern, high-quality, and efficient back-end applications. Back to top

 

Entry requirements

View the application and admission requirements of the programme.


How to apply

If you wish to apply for this programme you may view details of the application process.

 

Any questions?

If you'd like to know more about this programme, contact our Admissions Team at
admissions@york.citycollege.eu

 

The Computer Science Department of CITY College, University of York Europe Campus provides excellent quality education driven by research and industrial needs, by developing and maintaining high standards in the provision of education and by deploying quality assurance procedures, with major aim to produce high calibre graduates, well-equipped to pursue successful careers in a wide range of contexts.

Students do not only acquire a sound theoretical understanding but they also gain practical experience, by applying their knowledge on real life projects. Students benefit from the research-led environment, since they are exposed to not only the well-established fundamentals in their courses, but also to the most advanced theories and techniques currently under consideration and they are encouraged to be involved in academic research activities. Students are taught by academic staff members who are passionate about developing and delivering high quality innovative and inspirational learning and teaching methods. Students benefit from the provision of personal support, which ensures their successful learning development. 
More about the Computer Science Department

 

Research at the Computer Science Department

The academic staff of the Computer Science Department

Contact the Computer Science Department

Recognition and Careers

Accreditation and Recognition
CITY College is strongly committed to quality education and academic excellence. It is officially accredited and recognised by top international accreditation bodies. Read more

Degree and formal qualifications
The degree and formal qualifications our graduates receive.

For Greek graduates only: Recognition of degrees

 

Career opportunities

The BSc (Hons) in Computer Science (Web Technologies) programme prepares students for rewarding and challenging careers in IT and advanced web technologies. Graduates will be qualified to succeed as professionals in internet programming, front-end and back-end web development, software engineering, system administration and management, computer architecture, software systems, high-performance computing and research.

 

Career, Employability and Enterprise Centre

The Career, Employability and Enterprise Centre, focuses on helping students to set attainable career goals. It offers advice on CVs and cover letters, and on how to effectively handle job interviews. Through career fairs, and different internship programmes, the department aims at constantly bringing students in contact with prospective employers. 

Every spring we organize the Annual Career Fair presenting with an opportunity to get a first feel of job seeking. During the event students and alumni have interview opportunities with corporate recruiters and present their skills and abilities to potential employers. Large companies, organisations and multinationals from different industries across S.E. Europe participate every year in our Career Fair and offer employment and internship opportunities to our students and graduates.
More about our Career Services.

Contact the Career, Employability and Enterprise Centre at careers@york.citycollege.eu

 

Your Career Journey

Career Journey

Career Journey

A journey to personal and professional development designed to maximise university experience and prepare students for a fulfilling career.

View the career journey

 

BCS

BCSThe Computer Science department is proud of the fact that our Bachelor's programmes are accredited by the BCS (British Computer Society), The Chartered Institute for IT. The accreditation is a confirmation of the department's continuous efforts to provide high quality education to its students. It also provides a competitive advantage to our graduates as a demonstration of their competence in the profession.

Full CITP Accreditation
Accredited by BCS, The Chartered Institute for IT for the purposes of fully meeting the academic requirement for registration as a Chartered IT Professional.

Partial Ceng Accreditation*
Accredited by BCS, The Chartered Institute for IT on behalf of the Engineering Council for the purposes of fully meeting the academic requirement for Incorporated Engineer and partially meeting the academic requirement for a Chartered Engineer.

*Dual Accreditation: All Honours degrees accredited for CEng (partial fulfilment) registration from intake year 1999 meet the requirements for standard route IEng registration and Sydney Accord recognition.

Visit BSC's official website.

The programme is taught by academic staff members who have extensive teaching and professional experience. The administration staff fully supports all processes of the department and provides a wide range of services to our students.

The academic staff & administration staff of the Computer Science Department

 

back
Accreditation and Recognition by:
Change your Cookies Preferences