EDeeU Education


Computer science is the study of software. It is both theoretical, as it studies the structure of algorithms and programs, and practical, in its effort to apply algorithms and programs to solve technological problems; it is at once analytical, diagnostic, and creative, as it attempts not only to solve these problems but to understand them better. As such, it requires deep familiarity with mathematics, proof theory, and logic. It also involves the learning of a range of different programming languages, and the ability to acquire such languages quickly. The aim of computer science is to understand and apply formal systems, to create new, safe, and useful technologies.

Course Details

Duration: Three to four years (full-time study); six to eight years (part-time study)

Difficulty: Advanced

Entry Requirements: Undergraduate degree or equivalent general education

Course Description

Core Curriculum

The core topics introduce the field of computer science and give students the skills and understanding to choose and pursue their interests in the specialized topics. The Director of Studies will make adaptations based on student ability and schedule. On completing the core, students will be able to independently read the historical and academic literature. The core topics are:

  • Calculus
  • Algorithms
  • Digital Systems
  • Discrete Mathematics
  • Functional Programming
  • Imperative Programming
  • Formal Logic and Proof Theory
  • Linear Algebra
  • Probability
  • Compilers
  • Concurrent Programming
  • Models of Computation
  • Ethics


Specializations should be discussed with the Director of Studies. On completing specializations, students will be able to independently read advanced literature and conduct a final project in that topic. Some suggested specializations are:

  • Computer Architecture
  • Computer Graphics
  • Computational Game Theory
  • Computer Networks
  • Databases
  • Lambda Calculus
  • Computational Learning Theory
  • Artificial Intelligence
  • Computational Complexity
  • Machine Learning
  • Computer Security
  • Formal Verification
  • Geometric Modeling
  • Fundamentals of Programming Languages
  • Category Theory
  • Quantum Computing
  • Information Theory
  • Probability Theory
  • Robotics
  • Cryptography
  • Blockchain and Cryptocurrency
  • User Interface Design
  • Embedded Systems
  • Natural Language Processing

Final Project

The final project in computer science consists in an original program and an original paper written on an area of specialization. All final projects should be discussed with the Director of Studies, who will assist in choosing an appropriate focus and method. Advanced students may be advised to submit their paper for publication in an appropriate academic journal.

Apply now to study Computer Science