Choose your language
Computer Programming Course
More than 2 million students worldwide

Computer Programming Course

4.7

Learn to write real software from the ground up, starting with core programming concepts and advancing to object-oriented design, algorithms, and professional workflows. This course covers everything a beginner needs to build functional, well-structured programs and everything an intermediate developer needs to level up. By the end, you'll have the skills, the portfolio, and the confidence to pursue a career in software development.

Dedika for businesses

What you will learn:

You will start by understanding how computers execute code, then move through variables, control flow, and functions before tackling data structures and object-oriented programming. You will learn to handle files, parse JSON and CSV data, and consume REST APIs. The course covers fundamental algorithms, Big-O complexity analysis, and both elementary and efficient sorting methods. You will also apply professional practices including unit testing, Git version control, debugging, and code refactoring. Supplementary modules introduce SQL databases, data visualization, security fundamentals, and career development strategies. Every concept builds directly on the last, giving you a complete and practical foundation in computer programming.

How you study in practice Computer Programming Course

How you practice Computer Programming Course

For companies that want to train their team

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

Click here

Course content

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

Chapter 1See details

Foundations of Programming and Computation

  • Lesson 1 • Input, Output, and Basic Formatting

    Teaches reading user input and printing formatted output. Connects abstract data concepts to visible, interactive program behavior.

  • Lesson 2 • Setting Up a Development Environment

    Installs and configures a code editor, runtime, and terminal. Ensures every student can write, run, and debug code from day one.

  • Lesson 3 • Operators and Expressions

    Covers arithmetic, relational, logical, and assignment operators. Students can construct and evaluate compound expressions correctly.

  • Lesson 4 • Variables, Data Types, and Literals

    Introduces named storage, primitive types, and literal syntax. Establishes the vocabulary used throughout every subsequent chapter.

  • Lesson 5 • How Computers Execute Programs

    Covers CPU cycles, memory hierarchy, and the fetch-decode-execute model. Grounds all later coding concepts in physical machine behavior.

Chapter 2See details

Control Flow and Decision Making

  • Lesson 1 • Comparison and Logical Conditions

    Deepens understanding of compound Boolean expressions and short-circuit evaluation. Prevents common logic errors in branching code.

  • Lesson 2 • Loop Control and Iteration Patterns

    Teaches break, continue, and common loop idioms such as accumulator and sentinel patterns. Refines loop design for clarity and correctness.

  • Lesson 3 • Condition-Controlled Loops

    Covers while and do-while loops for repetition driven by a condition. Students handle input validation and event-driven repetition.

  • Lesson 4 • Count-Controlled Loops

    Introduces for loops and range-based iteration for a known number of repetitions. Builds the foundation for all iterative algorithms.

  • Lesson 5 • Conditional Statements

    Covers if, else-if, and else blocks with Boolean conditions. Enables programs to choose different execution paths based on data.

Chapter 3See details

Functions and Modular Code Design

  • Lesson 1 • Defining and Calling Functions

    Covers function declaration, parameter lists, and return values. Establishes the basic unit of code reuse used in every later chapter.

  • Lesson 2 • Default, Keyword, and Variable Arguments

    Introduces flexible parameter signatures including defaults and variadic arguments. Enables functions that adapt to different calling contexts.

  • Lesson 3 • Scope and Variable Lifetime

    Explains local, enclosing, and global scope rules and variable shadowing. Prevents subtle bugs caused by unintended variable sharing.

  • Lesson 4 • Higher-Order Functions and Lambdas

    Covers passing functions as arguments, returning functions, and anonymous lambda syntax. Prepares students for functional programming patterns.

  • Lesson 5 • Recursion and the Call Stack

    Teaches recursive problem decomposition and base-case design. Students solve problems like factorial and tree traversal using recursion.

Chapter 4See details

Data Structures: Collections and Sequences

  • Lesson 1 • Sets and Tuples

    Covers unordered unique collections and immutable sequences. Students apply set operations and use tuples for fixed-structure data.

  • Lesson 2 • Strings as Sequences

    Treats strings as indexed character sequences and covers common string operations. Bridges primitive types and collection behavior.

  • Lesson 3 • Arrays and Lists

    Covers indexed sequential storage, element access, and mutation. Provides the most fundamental collection type for ordered data.

  • Lesson 4 • Choosing and Combining Data Structures

    Analyzes time and space trade-offs across collection types. Students design composite structures for realistic data modeling tasks.

  • Lesson 5 • Dictionaries and Hash Maps

    Introduces key-value storage, hashing, and lookup efficiency. Students model real-world entities and build frequency tables.

Chapter 5See details

Object-Oriented Programming Principles

  • Lesson 1 • Inheritance and Method Overriding

    Teaches subclass creation, parent-class reuse, and method overriding. Enables hierarchical modeling and code reuse across related types.

  • Lesson 2 • Composition and Design Principles

    Introduces composition over inheritance, single responsibility, and open-closed principles. Students refactor class designs for flexibility.

  • Lesson 3 • Methods and Encapsulation

    Covers instance methods, access modifiers, and data hiding. Students protect internal state and expose clean public interfaces.

  • Lesson 4 • Polymorphism and Interfaces

    Covers duck typing, abstract classes, and interface contracts. Students write code that operates on multiple types through a common interface.

  • Lesson 5 • Classes, Objects, and Attributes

    Defines classes as blueprints and objects as instances with state. Introduces the core OOP abstraction used throughout software development.

Chapter 6See details

File I/O, Error Handling, and Exceptions

  • Lesson 1 • Reading and Writing Text Files

    Covers opening, reading, writing, and closing files with context managers. Connects in-memory data to persistent storage on disk.

  • Lesson 2 • Exception Types and the Error Hierarchy

    Maps common exception categories and their inheritance hierarchy. Students identify the right exception type for each failure scenario.

  • Lesson 3 • Try, Except, and Finally Blocks

    Covers structured exception handling, multiple except clauses, and cleanup code. Students prevent crashes and release resources reliably.

  • Lesson 4 • Custom Exceptions and Defensive Programming

    Teaches defining custom exception classes and validating inputs proactively. Students design APIs that communicate errors clearly.

  • Lesson 5 • Structured Data Formats

    Teaches parsing and serializing CSV and JSON data. Prepares students to exchange data with external systems and APIs.

Chapter 7See details

Algorithms, Searching, and Sorting

  • Lesson 1 • Algorithm Analysis and Big-O Notation

    Introduces time and space complexity and Big-O classification. Gives students a framework for comparing algorithm efficiency objectively.

  • Lesson 2 • Linear and Binary Search

    Implements and compares sequential and binary search algorithms. Students understand the preconditions and performance of each approach.

  • Lesson 3 • Recursion-Based Problem Solving

    Applies recursive thinking to classic problems like binary search trees and permutations. Reinforces recursion from chapter three in algorithmic contexts.

  • Lesson 4 • Efficient Sorting Algorithms

    Implements merge sort and quicksort using divide-and-conquer. Students analyze O(n log n) performance and partition strategies.

  • Lesson 5 • Elementary Sorting Algorithms

    Covers bubble, selection, and insertion sort with step-by-step traces. Builds intuition for sorting mechanics before advanced algorithms.

Chapter 8See details

Software Engineering Practices and Project Workflow

  • Lesson 1 • Code Quality and Refactoring

    Covers naming conventions, code smells, and systematic refactoring techniques. Students improve existing code without changing its external behavior.

  • Lesson 2 • Version Control with Git

    Covers repository initialization, commits, branching, and merging. Enables collaborative and solo development with a full change history.

  • Lesson 3 • Unit Testing and Test-Driven Development

    Teaches writing unit tests, assertions, and the red-green-refactor cycle. Students verify correctness and prevent regressions automatically.

  • Lesson 4 • Documentation and Code Readability

    Teaches inline comments, docstrings, and README authoring. Students produce code that teammates can understand and maintain.

  • Lesson 5 • Capstone Project Planning and Delivery

    Guides students through requirements gathering, iterative development, and final delivery. Integrates all prior skills into a complete software artifact.

Certification

Your valid completion certificate

This course is for you:

  • Career changer: wants a structured path into software development from a non-tech field.

  • Recent graduate: seeks practical coding skills that academic coursework didn't fully provide.

  • Entrepreneur: needs to prototype ideas and communicate effectively with a development team.

  • Data professional: aims to automate workflows and move beyond spreadsheet-based analysis tools.

  • Hobbyist: has experimented with tutorials but wants to build complete, functional applications.

  • IT professional: looks to expand from infrastructure support into software development responsibilities.

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 switch 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 presentation style and video transcription, 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

FAQ

Who is Dedika?

Is the certificate valid in the United States?

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