
Programming Foundations Course
Learn the core programming concepts every developer relies on daily, from variables and data structures to object-oriented design and file I/O. This course gives you a structured, hands-on path from zero experience to writing real, working programs. You'll also cover professional practices like Git, testing, and REST APIs so you graduate job-ready.
What you will learn:
You will learn how computers execute code, how to set up a professional development environment, and how to write clean, structured programs using variables, control flow, and functions. You will master essential data structures, apply object-oriented principles, and handle errors so your programs fail gracefully. The course also covers file I/O, SQL and NoSQL databases, Git version control, automated testing, and consuming web APIs. By the end, you will have the practical skills and professional habits needed to build real software and contribute to a development team.
How you study in a practical way Programming Foundations Course
How you practice Programming Foundations 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.
Course content
8 Chapters • 39 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsIntroduction to Programming Concepts
Introduction to Programming Concepts
Lesson 1 • How Computers Process Instructions
Covers the relationship between hardware, operating systems, and programs. Establishes the foundation for understanding why code must be precise and structured.
Lesson 2 • Programming Languages Overview
Surveys compiled vs. interpreted languages and high-level vs. low-level distinctions. Helps learners choose appropriate tools for different problem types.
Lesson 3 • Problem-Solving Before Coding
Introduces decomposition, pseudocode, and flowcharts as pre-coding tools. Learners practice translating real problems into structured logical steps.
Lesson 4 • Setting Up a Development Environment
Guides learners through installing a code editor, runtime, and version control client. A working local environment is required for all subsequent hands-on exercises.
Chapter 2HideHide detailsSee detailsVariables, Data Types, and Operators
Variables, Data Types, and Operators
Lesson 1 • Type Conversion and Casting
Distinguishes implicit coercion from explicit casting and identifies when each occurs. Prevents data-loss bugs that arise from unintended type conversions.
Lesson 2 • Primitive Data Types
Covers integers, floats, booleans, characters, and strings at the language level. Understanding types prevents common runtime errors caused by type mismatches.
Lesson 3 • Arithmetic and Comparison Operators
Teaches arithmetic, comparison, and logical operators with operator precedence rules. Learners build expressions used in every subsequent control-flow construct.
Lesson 4 • Working with Strings
Explores string creation, concatenation, interpolation, and common built-in methods. Strings are the most frequent data type in real-world programs.
Lesson 5 • Declaring and Using Variables
Explains variable declaration, assignment, and naming conventions. Connects directly to writing readable, maintainable code from the start.
Chapter 3HideHide detailsSee detailsControl Flow and Decision Making
Control Flow and Decision Making
Lesson 1 • For Loops and Iteration
Teaches counted iteration with for loops, including loop variables and range expressions. Iteration is the primary mechanism for processing collections and repeating tasks.
Lesson 2 • Conditional Statements
Covers if, else-if, and else constructs for branching program paths. Builds directly on comparison and logical operators from the previous chapter.
Lesson 3 • Switch and Pattern Matching
Introduces multi-branch selection using switch statements and modern pattern matching. Provides cleaner alternatives to long else-if chains for discrete value checks.
Lesson 4 • Loop Control Statements
Explains break, continue, and return within loops to alter iteration flow. Mastery of these statements enables precise control over complex loop logic.
Lesson 5 • While and Do-While Loops
Covers condition-driven loops for scenarios where iteration count is unknown in advance. Learners distinguish pre-check from post-check loop semantics.
Chapter 4HideHide detailsSee detailsFunctions and Code Reusability
Functions and Code Reusability
Lesson 1 • Scope and Variable Lifetime
Defines local, enclosing, and global scope and explains variable shadowing. Scope rules determine which data a function can read or modify.
Lesson 2 • Return Values and Output
Teaches how functions produce output through return statements and multiple return values. Learners connect function output to variable assignment and expression evaluation.
Lesson 3 • Parameters and Arguments
Explains positional, default, and keyword arguments and how data flows into functions. Proper parameter design makes functions flexible and reusable across contexts.
Lesson 4 • Recursion Fundamentals
Introduces recursive function design with base cases and recursive cases. Recursion enables elegant solutions to problems with self-similar structure.
Lesson 5 • Defining and Calling Functions
Covers function declaration syntax, naming, and invocation patterns. Functions are the primary unit of code organization in every programming paradigm.
Chapter 5HideHide detailsSee detailsData Structures: Collections and Storage
Data Structures: Collections and Storage
Lesson 1 • Multidimensional Arrays
Extends single-dimension arrays to grids and matrices for tabular data. Learners implement row-column traversal patterns used in data and image processing.
Lesson 2 • Dictionaries and Key-Value Stores
Teaches hash-map structures for fast lookup by key rather than position. Key-value stores are essential for configuration, caching, and data modeling.
Lesson 3 • Sets and Unique Collections
Introduces sets for storing unique elements and performing membership tests. Set operations like union and intersection solve deduplication and comparison problems.
Lesson 4 • Arrays and Lists
Covers indexed sequential collections, including creation, access, and mutation. Arrays and lists underpin nearly every data-processing algorithm.
Lesson 5 • Choosing the Right Data Structure
Compares time and space complexity of common structures for typical operations. Learners apply selection criteria to real scenarios to justify their choices.
Chapter 6HideHide detailsSee detailsObject-Oriented Programming Principles
Object-Oriented Programming Principles
Lesson 1 • Encapsulation and Access Control
Teaches public, protected, and private access levels and getter/setter patterns. Encapsulation protects internal state and defines clear object interfaces.
Lesson 2 • Classes and Objects
Defines classes as blueprints and objects as instances with state and behavior. This section establishes the vocabulary for all subsequent OOP concepts.
Lesson 3 • Polymorphism and Interfaces
Demonstrates how objects of different types respond to the same method call. Polymorphism enables flexible, extensible code that works with future types.
Lesson 4 • Inheritance and Code Reuse
Explains single and multilevel inheritance for sharing behavior across related classes. Inheritance reduces duplication and establishes is-a relationships between types.
Lesson 5 • Constructors and Initialization
Covers constructor methods for setting up object state at creation time. Proper initialization prevents uninitialized-attribute errors in complex programs.
Chapter 7HideHide detailsSee detailsError Handling and Debugging
Error Handling and Debugging
Lesson 1 • Debugging Techniques and Tools
Introduces print-based debugging, interactive debuggers, and breakpoint usage. Systematic debugging reduces time spent diagnosing defects in complex programs.
Lesson 2 • Logging and Defensive Programming
Covers logging levels, log formatting, and input validation as preventive measures. Logging and validation reduce the frequency and severity of production failures.
Lesson 3 • Exception Handling Constructs
Covers try, except, finally, and else blocks for structured error management. These constructs prevent crashes and allow programs to recover or report failures cleanly.
Lesson 4 • Raising and Creating Exceptions
Teaches how to raise built-in exceptions and define custom exception classes. Custom exceptions communicate domain-specific error conditions clearly to callers.
Lesson 5 • Types of Programming Errors
Distinguishes syntax, runtime, and logic errors and their detection points. Classifying errors correctly accelerates diagnosis and resolution.
Chapter 8HideHide detailsSee detailsFile I/O, Modules, and Project Structure
File I/O, Modules, and Project Structure
Lesson 1 • Using Standard Library Packages
Surveys commonly used standard library modules for math, dates, paths, and utilities. Leveraging built-in packages avoids reinventing well-tested functionality.
Lesson 2 • Structuring a Multi-File Project
Covers directory layout, package initialization, and dependency management basics. A clear project structure enables team collaboration and reliable builds.
Lesson 3 • Reading and Writing Text Files
Covers file open modes, reading methods, and safe file closing with context managers. File I/O is the foundation for data persistence in non-database applications.
Lesson 4 • Working with Structured File Formats
Teaches parsing and writing CSV, JSON, and similar structured formats. Structured formats are the standard interchange medium for data between programs and services.
Lesson 5 • Modules and Imports
Explains how to split code into modules and import them selectively. Modular code is easier to test, maintain, and reuse across multiple projects.
Your valid completion certificate
This course is for you:
Career changers: seeking a structured entry point into software development from unrelated fields.
College students: looking to reinforce classroom theory with practical, hands-on programming skills.
Entrepreneurs: wanting to prototype ideas without depending entirely on outside developers.
Analysts and researchers: aiming to automate repetitive tasks and manipulate data programmatically.
Hobbyists: ready to move beyond tutorials and build complete, functional programs independently.
IT professionals: expanding their skill set from infrastructure and support into application development.
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 switch 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 really help with learning.

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




















