Computer Science learning hub

Explore computer science, one topic at a time.

Discover computer science from first-year programming and fundamentals to advanced core subjects, specializations, and master’s level AI, cybersecurity, cloud, and research topics. Choose a topic to explore its course outline and lessons as they become available.

Browse all topics ↓Text-first learning · Clear degree levels · Learn at your own pace
60 topics to explore1st Year to Master’s levelsBeginner to research coverage
Course directory

Computer Science topics and courses

Search the directory or filter by degree level to find a subject.

💻1st Year

Computer Fundamentals and Architecture

Learn basic computer organisation, hardware components, and system architecture.

Explore topic↗
⌨1st Year

Programming Fundamentals

Build a strong foundation in programming logic, flowcharts, and problem-solving.

Explore topic↗
C1st Year

C Programming

Master C language syntax, pointers, arrays, structures, and memory concepts.

Explore topic↗
🐍1st Year

Python Programming

Learn Python syntax, data structures, and practical scripting applications.

Explore topic↗
◎1st Year

Object-Oriented Programming (OOP)

Understand classes, objects, inheritance, encapsulation, and polymorphism.

Explore topic↗
𝑥1st Year

Data Types, Variables and Operators

Explore primitive types, variables, operators, and expression evaluation.

Explore topic↗
↻1st Year

Control Statements and Loops

Master decision-making and iterative constructs used in every program.

Explore topic↗
ƒ1st Year

Functions and Recursion

Learn modular programming, parameter passing, and recursive problem solving.

Explore topic↗
011st Year

Number Systems and Boolean Algebra

Convert between number systems and apply Boolean logic and simplification.

Explore topic↗
⬡1st Year

Digital Logic Design

Study logic gates, combinational circuits, flip-flops, and sequential design.

Explore topic↗
▤2nd Year

Data Structures

Implement and analyse arrays, linked lists, stacks, queues, trees, and graphs.

Explore topic↗
⚡2nd Year

Algorithms and Problem Solving

Develop algorithmic thinking and analyse time and space complexity.

Explore topic↗
⌁2nd Year

Design and Analysis of Algorithms

Study divide-and-conquer, greedy, dynamic programming, and graph algorithms.

Explore topic↗
🗄2nd Year

Database Management Systems (DBMS)

Understand relational databases, ER modelling, and transaction management.

Explore topic↗
SQL2nd Year

SQL and Database Design

Write SQL queries, design schemas, and apply normalisation techniques.

Explore topic↗
⚙2nd Year

Operating Systems

Explore processes, threads, scheduling, memory, and file systems.

Explore topic↗
🖥2nd Year

Computer Organization and Architecture

Study CPU design, instruction sets, pipelining, and memory hierarchy.

Explore topic↗
🌐2nd Year

Computer Networks

Learn network layers, protocols, routing, switching, and the Internet model.

Explore topic↗
◇2nd Year

Object-Oriented Analysis and Design

Apply UML, use cases, and object-oriented design principles to systems.

Explore topic↗
📋2nd Year

Software Engineering

Understand the software development life cycle, requirements, and process models.

Explore topic↗
∞3rd Year

Theory of Computation

Study automata, formal languages, computability, and complexity theory.

Explore topic↗
⚙3rd Year

Compiler Design

Learn the phases of a compiler: lexical analysis, parsing, and code generation.

Explore topic↗
Σ3rd Year

Formal Languages and Automata Theory

Explore regular expressions, finite automata, and context-free grammars.

Explore topic↗
🌐3rd Year

Web Development Fundamentals

Build modern web pages with HTML, CSS, and core JavaScript concepts.

Explore topic↗
⊞3rd Year

Full-Stack Web Development

Develop complete web applications covering both front-end and back-end.

Explore topic↗
☕3rd Year

Java Programming

Master Java language features, collections, multithreading, and the JVM.

Explore topic↗
🎨3rd Year

Computer Graphics

Study 2D/3D transformations, rendering pipelines, and graphics algorithms.

Explore topic↗
☁3rd Year

Distributed Systems

Understand concurrency, consistency models, consensus, and fault tolerance.

Explore topic↗
🔒3rd Year

Information Security

Learn principles of confidentiality, integrity, authentication, and access control.

Explore topic↗
🐧3rd Year

Linux and Unix Operating Systems

Work with Linux commands, shell scripting, and system administration basics.

Explore topic↗
🤖Final Year

Artificial Intelligence

Explore search algorithms, knowledge representation, and intelligent agents.

Explore topic↗
📈Final Year

Machine Learning

Study supervised and unsupervised learning, model evaluation, and applications.

Explore topic↗
📊Final Year

Data Science

Apply statistical methods, data cleaning, and visualization for insights.

Explore topic↗
⛏Final Year

Data Mining and Warehousing

Learn data warehouse design, ETL, association rules, and clustering.

Explore topic↗
☁Final Year

Cloud Computing

Understand cloud models, virtualization, and major cloud platforms.

Explore topic↗
📡Final Year

Internet of Things (IoT)

Explore sensors, embedded systems, communication protocols, and IoT architectures.

Explore topic↗
📱Final Year

Mobile Application Development

Build mobile apps using native and cross-platform frameworks.

Explore topic↗
🛡Final Year

Cybersecurity and Ethical Hacking

Learn threat models, penetration testing, and defensive security practices.

Explore topic↗
🗂Final Year

Big Data Technologies

Work with Hadoop, Spark, MapReduce, and large-scale data processing tools.

Explore topic↗
✓Final Year

Software Testing and Quality Assurance

Apply testing techniques, test automation, and quality assurance processes.

Explore topic↗
▤Master’s

Advanced Data Structures and Algorithms

Study advanced structures, amortized analysis, and complex graph algorithms.

Explore topic↗
🗄Master’s

Advanced Database Systems

Explore query optimization, distributed databases, and modern storage engines.

Explore topic↗
⚙Master’s

Advanced Operating Systems

Dive into kernel design, virtualization, and advanced concurrency control.

Explore topic↗
🌐Master’s

Advanced Computer Networks

Study SDN, network function virtualization, and advanced protocol design.

Explore topic↗
⚡Master’s

Parallel and Distributed Computing

Design parallel programs and distributed algorithms for multi-core and cluster systems.

Explore topic↗
🏛Master’s

Advanced Software Architecture

Learn architectural styles, microservices, and large-scale system design patterns.

Explore topic↗
🔐Master’s

Cryptography and Network Security

Study modern cryptographic primitives and secure network protocol design.

Explore topic↗
🔍Master’s

Information Retrieval and Search Engines

Understand indexing, ranking models, and the architecture of search engines.

Explore topic↗
💬Master’s

Natural Language Processing (NLP)

Process and analyse human language using statistical and neural techniques.

Explore topic↗
🧠Master’s

Deep Learning

Build and train deep neural networks including CNNs, RNNs, and transformers.

Explore topic↗
👁Master’s

Computer Vision

Extract meaning from images and video using classical and deep learning methods.

Explore topic↗
🎯Master’s

Reinforcement Learning

Train agents that learn optimal behaviour through interaction and rewards.

Explore topic↗
☁Master’s

Advanced Cloud and Edge Computing

Design scalable cloud-native and edge-deployed applications and services.

Explore topic↗
🚀Master’s

High-Performance Computing

Optimise scientific and engineering applications for parallel and GPU hardware.

Explore topic↗
∞Master’s

Advanced Theory of Computation

Examine complexity classes, NP-completeness, and advanced computability results.

Explore topic↗
📖Research

Research Methodology in Computer Science

Learn how to design experiments, review literature, and report research findings.

Explore topic↗
⛓Research

Advanced Topics in Blockchain

Explore consensus mechanisms, smart contracts, and blockchain system design.

Explore topic↗
⚛Research

Quantum Computing Fundamentals

Understand qubits, quantum gates, and basic quantum algorithms.

Explore topic↗
⚙Research

MLOps and AI Engineering

Build reliable pipelines for training, deploying, and monitoring ML models.

Explore topic↗
📝Research

Research Project, Thesis and Dissertation

Plan, execute, and present a substantial independent research project.

Explore topic↗
No topics match your search. Try another word or choose “All topics”.
Your learning path

Choose a level. Build your knowledge step by step.

This directory organises computer science from first-year fundamentals through master’s research topics. Each topic can have its own course overview, chapter pages, examples, and practice questions. Some course pages still need to be created.

01 · Choose a topicPick the computer science area that matches your year and goal.
02 · Follow chaptersStudy lessons in a logical order.
03 · Practise examplesApply concepts to realistic problems and code.
04 · Review progressRevisit important ideas and questions.