Choose your language
Computer Science Course
More than 2 million learners worldwide

Computer Science Course

4.5

This Computer Science course gives you a complete, rigorous foundation across every core discipline — from hardware architecture and algorithms to databases, networks, and AI. You'll build real programming skills, understand how systems work at every level, and graduate ready to tackle complex technical challenges with confidence.

Dedika for businesses

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 a practical way Computer Science Course

How you practice Computer Science Course

For companies who want to train their team

With Dedika for businesses, the course includes exercises and examples tailored to your own business and the way your company needs.

Click here

Course content

8 Chapters • 41 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

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 behavior.

  • Lesson 2 • Introduction to Operating Systems

    Describes OS roles in resource management, process scheduling, and user interaction. Sets the stage for understanding how programs 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 2See details

Programming Fundamentals

  • Lesson 1 • Control Flow and Decision Making

    Covers conditional statements and loop constructs for directing program execution. Enables students to write programs 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. Instills disciplined development habits essential for all future programming work.

Chapter 3See details

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 behavior 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

    Formalizes 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

    Analyzes bubble, merge, quick, and binary search algorithms with complexity proofs. Develops the analytical mindset needed for algorithm design.

Chapter 4See details

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 behavioral design patterns with examples. Equips students to solve recurring design problems with proven solutions.

Chapter 5See details

Databases and Data Management

  • Lesson 1 • Database Normalization

    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 6See details

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 analyze 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 behavior 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 analyzing all network protocols and devices.

Chapter 7See details

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 8See details

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 optimize 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 modeling, secure coding, and cryptographic protocols to system design. Enables students to build security into software from the ground up.

Certification

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 toward 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...
Giulio Carlo
Giulio CarloDigital Marketing Student
I like how the lessons are straight to the point and how I can switch chapters and skip content I don't need.
Mariana Ferres
Mariana FerresPhotography Student
I like the content and the way videos are presented and transcribed, which speeds up the process!
Luciana Alvarenga
Luciana AlvarengaNail Design Student
The platform is fast, simple to use. The diversity of content and complementary videos really help with learning.
André Felipe
André FelipePrompt Engineering Student

Top trainings

FAQs

Who is Dedika?

Is the certificate valid in the Philippines?

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