This website stores cookies on your computer. These cookies are used to improve your website and provide more personalized services to you,
both on this website and through other media. To find out more about the cookies we use, see our Privacy Policy

ComputerScience

Programme

Our Computer Science programme has solid roots in mathematics and engineering, while our innovative department optimises the relevance of the programme by including disciplines such as linguistics, psychology, economics, physics and music.

Computer Science BSc programme offers students with basic analytic skills and a strong aptitude for mathematics, programming, and logical reasoning the best in the world opportunity for in-depth study of Computer science concepts and theories in highly practical and cutting edge educational environment. Core computer science skills such as software development, object orientated programming (OOP) and database engineering form the basis of the curriculum, with advanced exploratory courses such as data mining to follow.

Throughout the study students will continuously acquire an understanding of real-world computing needs, as demonstrated by their ability to address technical issues involving computing problems encountered in industry, government and graduate programs.

In the first year, students obtain the foundational knowledge in mathematics and the basics of programming upon which students will develop understanding of programming and computer science during following years. The courses are mostly given in a form of lectures and takeaway coursework. By the end of this year, students will be able to write programmes and use primary computer science tools.

Modules

Combinatorics and Graphs

Foundations of Programming: C/C++

Calculus – 1

Practical Unix

Linear Algebra - 1

Algorithms and Data Structures – 1

Combinatorics and Graphs – 2

Object Oriented Programming: Python

Calculus – 2

Algorithms and Data Structures – 2

Linear Algebra – 2

Computer Organisation and Systems

Combinatorics and Graphs – 3

Operating Systems

Calculus – 3

Capstone Project - 1

Seminars & Workshops - 1

More

2

year

In the second year the students will be offered both math courses in the field of discrete mathematics and courses in the field of software development and programming languages. Most courses require practical coursework and a course project enabling students to get a feel for the challenges and approaches used in this field. The students will also begin developing software for the Capstone project.

By the end of this year, students will be able to write programmes and use primary computer science tools.

Modules

Introduction to Probability

Introduction to Statistics

Java Programming

Foundations of Mathematical Logic

Functional Programming

Introduction to Optimization

Machine Learning – 1

Formal Language Theory

Compilers

Introduction to Computer Networking

Database Systems Principles

Computational Complexity Theory

Introduction to Cryptography

Extremal Problems

Web Applications

Capstone Project - 2

Seminars & Workshops - 2

More

3

year

In the third year, students will primarily focus on key computer science subjects including computational theory and cryptography. The practical side of the programme is focused on in-depth understanding of parallel computing, databases, compilers.

At the end of the third year, students will have sufficient theoretical and programming background to tackle computer science problems in professional real world scenarios. A significant amount of time will be dedicated to the development of the Capstone project. The courses are taught by researchers and professionals who practice the courses they teach either academically or by sharing their professional experiences in their field. The goal of the final year is to expose students to a range of real-world applications of the material that they've learned to ensure seamless transition into a professional roles.

Modules

Information Theory

Software Engineering

Computational Geometry

Machine Learning – 2

Parallel and Distributed Computing

Bioinformatics

Computer Graphics

Computer Vision

Introduction to Robotics

Software Development Process

Computational Genomics

Mobile Application Development

Technical Project Management

Algorithms in Bioinformatics

Data Visualization

Software Testing, Verification and Validation

Leadership and Group Dynamics

Writing, Documentation, TeX, JavaDoc, Academic

Numerical Methods

Capstone Project - 3

Seminars & Workshops - 3

More

2years

Full-timeDuration

22 900 EURTuition Fee/Year

120 ECTSECTS

EnglishLanguage of Instruction

All year roundApplication Period

The MSc programme is designed for those who desire to deepen their
comprehension of all aspects of the computer sciences. Applicants could be
graduates from other degrees with a strong mathematical core, or those
continuing their academic pursuit after achieving a BSc in computer science.

The programme is heavily geared towards developing students’ professional skills needed for employment, while being able to adapt to rapidly changing technology, to work effectively, professionally and ethically in computing-related professions, as demonstrated by their communications, teamwork and leadership skills. It also motivates and engages students in life-long learning, including entering graduate programmes in Computer Science and related fields.

Students begin the programme already having foundational
knowledge of programming and mathematics including data
structures and algorithms, statistics and machine learning.
During the first year their knowledge of mathematics,
programming and data analysis will be significantly extended.
The programme also offers opportunity to learn the key soft skills for
the professional world including technical project management,
writing and presenting.

Finally during the first year students are
expected to attend many of the talks and workshops offered by
the university and being work on the capstone project.

Modules

Combinatorics and Graph Theory

Object-Oriented Programming (C++)

Data Structures and Algorithms

Functional Programming

Theory of Probability and Statistics

Practical Unix

Introduction to Interaction Design

Advanced Databases

Master's Machine Learning

Python

Networks

Java Programming

Operating Systems

R

Robotics

Leadership and Group Dynamics

Technical Writing and Presenting

Сomplexity Theory

Technical Project Management

Bioinformatics

Statistical Data Analysis

Capstone Project-1

Seminars & Workshops-1

More

2

year

During the second year of the programme students will primarily
focus on learning key applications of the computer science as well
as advanced methods in programming. A significant part of the
year will be allocated to the completion of the capstone project.

Modules

Parallel and Disrtibuted Computing

Automata Theory, Languages, and Computation

Software Design

Foundations of Cryptography

Computer Vision

Computational Geometry

Compilers

Software Engineering

Neural Networks and Deep Learning

Discrete Optimization

Virtualization and Java VM

Nonlinear Optimization

Computer Graphics

Information Technology Management

Big Data Analysis

Information Theory

Mobile Application Development

Software Testing, Verification and Validation

Data Visualization

Algorithms in Bioinformatics

Spectral Graph Analysis and Data Science Applications

Capstone Project-2

Seminars & Workshops-2

More

Faculty
Computer Science

We're delighted to introduce some of our excellent teachers. Keep
track of more news about who's coming to share their expertise at
Harbour.Space on our Twitter and Facebook.

Programmeleadership

Konstantin Mertsalov is European Director
of Development at Rational Enterprise, a
globally leading software development
company specialising in enterprise
information management.

Originally from Russia, he moved to New
York in 1998 to study Computer Science
and Applied Mathematics , and continued
his academic career with a Rensselaer
Polytechnic Institute PhD on large dynamic
social networks. He's an expert on
machine learning, information diffusion in
social network, semantic web search,
unstructured data, big data and data
analytics in general. He developed U Rank,
a search engine that allows people to
organise, edit and annotate search results
as well as share information.
Konstantin aims to lead the Harbour.Space
Data Science programme with unbridled
enthusiasm about the relatively new field,
and he’s determined to use his industry
knowledge to share, teach and create for
the future with his students.

More

Career path

Every career looks different: it depends on individual aspirations as a well as changes in the industry. We’ve selected some stories to illustrate and celebrate the diversity of the various career paths.

Junior SoftwareEngineer

As part of the development team,
junior software engineers learn to
apply the knowledge in Computer
Science obtained at the university to
practical problems at the workplace.
While handling entry level tasks, junior
software engineer quickly builds up
the experience necessary for taking on
more responsibility at the next step of
the career ladder.

SoftwareEngineer

Software engineer takes on the
responsibility for the development of
efficient and accurate software. The
key knowledge and skills at this level
include a deep understanding of the
key programming concepts, software
development experience, attention to
detail, and focus on the quality
and performance. The bulk of software
is developed at this level.

Senior SoftwareEngineer

The senior developer is an expert in
software engineering best practices
and the force driving software quality.
At this level, the engineer also takes on
coaching and mentoring
responsibilities to help other members
of the team to reach their highest
potential.

SystemsArchitect

As a guru of a technical team, the
systems architect possesses a deep
understanding of programming and
computer science in general as well as
a strategic vision of the technical
evolution of the software product. The
systems architect brings in the
expertise in system design and the
modelling skills as well as knowledge
of technical frameworks and
components. It is also often the
responsibility of the systems architect
to develop the technical component of
the requirements specification to
ensure a consistent and
coherent software product.

Director ofDevelopment

As a leader of the engineering team,
the director of development
orchestrates the range of talent and
abilities the team members possess to
ensure the timely and efficient
development of software product.
Director of development succeeds by
understanding the business
requirements, mastering technical
project management, learning to
accurately estimate work effort, and
demonstrating first-grade team
leadership.

Chief TechnologyOfficer

Chief technology officer is a business
leader with a big picture view of every
aspect of the technological side of the
organisation. The CTO understands
the current state of business as well as
the target benchmarks and is
responsible for enrolling technology to
advance business in the right
direction. The responsibilities of the
CTO often include leading the
development, information
technologies, support, technical
operations, and infrastructure
departments.

Software engineers develop the next-generation technologies that change how millions of users connect,
explore, and interact with information and one another.

Google and Facebook employees earn a base salary of ~$125K, not counting benefits, 401k matching,
stock options/grants, etc., and even Yahoo! developers pull in six figures.

We're looking for ideas and skills from every area of computer science, including information
retrieval, artificial intelligence, natural language processing, distributed computing, large-scale system
design, networking, security, data compression, and user interface design. The list goes on and is growing
every day.