
Computer Science Course
This Computer Science course provides a complete, rigorous foundation across every core discipline — from hardware architecture and algorithms to databases, networks, and AI. You will build real programming skills, understand how systems work at every level, and graduate ready to tackle complex technical challenges with confidence.
What you will learn:
You will master the full spectrum of computer science, starting with number systems, Boolean logic, and computer architecture, then advancing through programming fundamentals, data structures, and algorithm analysis. You will design object-oriented software systems using proven design patterns and SOLID principles. You will build and query relational databases, understand distributed systems, and configure secure networks. The course also covers artificial intelligence, compiler design, web development, and data science. You will finish with practical skills in software engineering, version control, and professional technical communication.
How you study in practice Computer Science Course
How you practise Computer Science Course
For companies looking to train their team
With Dedika for businesses, the course includes exercises and examples tailored to your own business and the specific needs of your company.
Course content
8 Chapters • 41 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsFoundations of Computer Science
Foundations of Computer Science
Lesson 1 • Computer Architecture Basics
Explains CPU components, memory hierarchy, and the fetch-decode-execute cycle. Connects hardware structure to software execution behaviour.
Lesson 2 • Introduction to Operating Systems
Describes OS roles in resource management, process scheduling, and user interaction. Sets the stage for understanding how programmes run on hardware.
Lesson 3 • Boolean Logic and Logic Gates
Introduces Boolean algebra and its physical implementation in circuits. Provides the logical foundation for understanding processors and digital systems.
Lesson 4 • Number Systems and Data Representation
Covers binary, octal, and hexadecimal systems and how data is encoded. Directly supports understanding of memory, logic gates, and low-level programming.
Lesson 5 • History and Scope of Computing
Traces computing from mechanical calculators to modern processors. Establishes context for why foundational concepts remain relevant across all CS disciplines.
Chapter 2HideHide detailsSee detailsProgramming Fundamentals
Programming Fundamentals
Lesson 1 • Control Flow and Decision Making
Covers conditional statements and loop constructs for directing programme execution. Enables students to write programmes that respond to varying inputs.
Lesson 2 • Arrays and Basic Data Structures
Introduces arrays, strings, and simple collections for storing multiple values. Bridges procedural programming to the data structures chapter ahead.
Lesson 3 • Variables, Types, and Expressions
Introduces data types, variable declaration, and expression evaluation. Forms the syntactic and semantic base for all subsequent programming tasks.
Lesson 4 • Functions and Modular Design
Teaches function definition, parameters, return values, and scope. Promotes code reuse and prepares students for object-oriented and functional paradigms.
Lesson 5 • Debugging and Testing Basics
Covers error types, debugging strategies, and basic unit testing. Instils disciplined development habits essential for all future programming work.
Chapter 3HideHide detailsSee detailsData Structures and Algorithms
Data Structures and Algorithms
Lesson 1 • Queues and Priority Queues
Covers FIFO queues, circular queues, and heap-based priority queues. Prepares students for scheduling algorithms and graph traversal strategies.
Lesson 2 • Linked Lists and Stacks
Builds singly and doubly linked lists, then derives stack behaviour from them. Establishes pointer-based thinking critical for trees and graphs later.
Lesson 3 • Trees and Binary Search Trees
Introduces tree terminology, traversals, and BST insertion and search. Lays groundwork for balanced trees, heaps, and graph algorithms.
Lesson 4 • Algorithm Complexity and Big-O Notation
Formalises time and space complexity analysis using Big-O, Omega, and Theta. Enables students to evaluate and compare algorithm efficiency rigorously.
Lesson 5 • Hash Tables and Graphs
Covers hashing, collision resolution, and graph representations with BFS and DFS. Completes the core data structure toolkit for applied problem solving.
Lesson 6 • Sorting and Searching Algorithms
Analyses bubble, merge, quick, and binary search algorithms with complexity proofs. Develops the analytical mindset needed for algorithm design.
Chapter 4HideHide detailsSee detailsObject-Oriented Programming
Object-Oriented Programming
Lesson 1 • Abstraction and Interfaces
Teaches abstraction through abstract classes and interface contracts. Reinforces separation of interface from implementation for scalable design.
Lesson 2 • Inheritance and Polymorphism
Covers single and multiple inheritance, method overriding, and runtime polymorphism. Enables flexible, extensible class hierarchies in real applications.
Lesson 3 • Classes, Objects, and Encapsulation
Defines classes, instantiation, and access control through encapsulation. Establishes the structural unit of OOP used throughout the chapter.
Lesson 4 • SOLID Principles and Clean Code
Applies SOLID principles to evaluate and refactor class designs. Bridges OOP theory to professional software engineering standards.
Lesson 5 • Design Patterns in OOP
Introduces creational, structural, and behavioural design patterns with examples. Equips students to solve recurring design problems with proven solutions.
Chapter 5HideHide detailsSee detailsDatabases and Data Management
Databases and Data Management
Lesson 1 • Database Normalisation
Applies first through third normal forms to eliminate redundancy and anomalies. Ensures students can design efficient, consistent database schemas.
Lesson 2 • NoSQL and Non-Relational Databases
Compares document, key-value, column-family, and graph databases to relational models. Enables informed selection of storage technology for diverse data needs.
Lesson 3 • SQL Querying and Manipulation
Covers SELECT, INSERT, UPDATE, DELETE, and JOIN operations in SQL. Develops practical query-writing skills applicable to any relational database system.
Lesson 4 • Transactions and Concurrency Control
Explains ACID properties, transaction management, and locking strategies. Prepares students to handle concurrent data access safely in production systems.
Lesson 5 • Relational Database Concepts
Introduces tables, keys, relationships, and the relational model. Provides the conceptual framework for all subsequent database design and querying.
Chapter 6HideHide detailsSee detailsComputer Networks and Communication
Computer Networks and Communication
Lesson 1 • Network Security Fundamentals
Introduces firewalls, encryption, VPNs, and common attack vectors. Builds security awareness essential for designing safe networked applications.
Lesson 2 • IP Addressing and Routing
Covers IPv4 and IPv6 addressing, subnetting, and routing protocols. Enables students to design and analyse network addressing schemes.
Lesson 3 • Wireless and Cloud Networking
Covers wireless standards, cloud networking models, and virtual networks. Prepares students for modern distributed and cloud-based infrastructure.
Lesson 4 • Transport and Application Layer Protocols
Examines TCP, UDP, HTTP, DNS, and SMTP for end-to-end communication. Connects protocol behaviour to real application performance and reliability.
Lesson 5 • Network Models and Layered Architecture
Introduces the OSI and TCP/IP models and the role of each layer. Provides a structured framework for analysing all network protocols and devices.
Chapter 7HideHide detailsSee detailsSoftware Engineering Principles
Software Engineering Principles
Lesson 1 • Software Design and Architecture
Introduces architectural styles, UML diagrams, and component design. Connects high-level structure to implementation decisions made in later phases.
Lesson 2 • Version Control and Collaboration
Applies branching, merging, and pull request workflows using version control systems. Prepares students for collaborative development in professional team environments.
Lesson 3 • Software Development Life Cycle
Covers requirements, design, implementation, testing, and maintenance phases. Frames all engineering activities within a structured, repeatable process.
Lesson 4 • Requirements Engineering
Teaches elicitation, specification, and validation of functional and non-functional requirements. Ensures students can translate stakeholder needs into actionable specifications.
Lesson 5 • Software Testing and Quality Assurance
Covers unit, integration, system, and acceptance testing with QA metrics. Equips students to build verification strategies for complex software systems.
Chapter 8HideHide detailsSee detailsAdvanced Topics in Computer Science
Advanced Topics in Computer Science
Lesson 1 • Compiler Design and Language Theory
Explains lexing, parsing, semantic analysis, and code generation phases. Deepens understanding of how high-level code is transformed into machine instructions.
Lesson 2 • Artificial Intelligence and Machine Learning
Introduces supervised, unsupervised learning, and neural network architectures. Connects AI fundamentals to practical applications in data-driven software systems.
Lesson 3 • Parallel and High-Performance Computing
Covers multithreading, GPU computing, and parallel algorithm design. Equips students to optimise computation-intensive applications for modern hardware.
Lesson 4 • Distributed Systems and Cloud Computing
Covers consistency models, distributed consensus, and cloud service tiers. Prepares students to architect scalable, fault-tolerant distributed applications.
Lesson 5 • Cybersecurity Engineering
Applies threat modelling, secure coding, and cryptographic protocols to system design. Enables students to build security into software from the ground up.
Your valid completion certificate
This course is for you:
Career changer: wants structured CS knowledge to break into the tech industry.
Self-taught developer: needs to fill critical gaps left by informal learning.
STEM graduate: studied a related field and now pivoting towards software roles.
Hobbyist programmer: ready to move beyond tutorials into real technical depth.
IT professional: seeks to advance from support or admin work into development.
College student: supplements coursework with a broader, more integrated CS overview.
What our students say
Your classes are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of my interest without needing to change platforms... I thank you for everything you do, I've already recommended you to other people...

I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.

I like the content and the way videos are presented and transcribed, which speeds up the process!

The platform is fast, simple to use. The diversity of content and complementary videos help a lot with learning.

Top trainings
FAQ
Who is Dedika?
Is the certificate valid in Nigeria?
Are the courses free?
What is the course workload?
What are the courses like?
How do the courses work?
What is the duration of the courses?
What is the cost or price of the courses?
What is an EAD or online course and how does it work?
PDF Course




















