Imparte:
Harbour.Space - Harbour.SpaceOur 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.
You will learn how to:
Apply knowledge of computing and mathematics appropriate to the discipline
Analyze a problem, and identify and define the computing requirements appropriate to its solution
Design, implement, and evaluate a computer-based system, process, component, or programme to meet desired needs
Function effectively on teams to accomplish a common goal
Understand professional, ethical, legal, security and social issues and responsibilities
Analyze the local and global impact of computing on individuals, organizations, and society
Recognize the need for and an ability to engage in continuing professional development
Use current techniques, skills, and tools necessary for computing practice
Apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
Apply design and development principles in the construction of software systems of varying complexity.
YEAR 1
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.
Topics
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
YEAR 2
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.
Topics
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
YEAR 3
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.
Topics
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
JUNIOR SOFTWARE ENGINEER
SOFTWARE ENGINEER
SENIOR SOFTWARE ENGINEER
SYSTEMS ARCHITECT
DIRECTOR OF DEVELOPMENT