
Data Types Course
Data types are the foundation of every program you write, and mastering them means writing faster, safer, and more reliable software. This course takes you from core type-system concepts all the way to advanced user-defined types, serialisation, and security implications. Whether you are designing APIs, optimising performance, or modelling complex domains, you will have the type knowledge to do it right.
What you will learn:
You will build a complete understanding of how data types work across programming languages, from primitive integers and booleans to composite collections and user-defined algebraic types. You will learn how type systems enforce safety, prevent runtime errors, and influence memory layout and performance. The course covers numeric precision, string processing, type conversion rules, and type-safe design patterns. You will also explore how types apply to database schemas, serialisation formats, data science pipelines, and security vulnerabilities. By the end, you will be able to evaluate type-system trade-offs, design expressive APIs, and communicate type decisions clearly to any audience.
How you study in practice Data Types Course
How you practise Data Types 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 Data Types
Foundations of Data Types
Lesson 1 • What Data Types Represent
Defines data types as contracts between values and operations. Establishes vocabulary used throughout the course.
Lesson 2 • Why Type Systems Exist
Explains the safety and efficiency motivations behind type systems. Connects type discipline to fewer runtime errors.
Lesson 3 • Strong vs. Weak Typing
Distinguishes strict type enforcement from permissive coercion. Clarifies common misconceptions about type strength.
Lesson 4 • Primitive vs. Composite Types
Contrasts atomic primitive types with structured composite types. Prepares students to categorise any type they encounter.
Lesson 5 • Static vs. Dynamic Typing
Compares type-checking at compile time versus runtime. Students map language examples to each paradigm.
Chapter 2HideHide detailsSee detailsNumeric Data Types in Depth
Numeric Data Types in Depth
Lesson 1 • Numeric Type Promotion and Coercion
Describes automatic widening and narrowing conversions between numeric types. Students predict coercion outcomes in mixed-type expressions.
Lesson 2 • Integer Types and Ranges
Covers signed and unsigned integers across common bit widths. Students calculate value ranges from bit width formulas.
Lesson 3 • Choosing the Right Numeric Type
Applies selection criteria based on range, precision, and performance needs. Reinforces all numeric concepts through decision exercises.
Lesson 4 • Floating-Point Representation
Explains IEEE 754 binary representation of real numbers. Students identify precision loss and rounding artefacts.
Lesson 5 • Decimal and Arbitrary-Precision Types
Introduces decimal types that avoid binary rounding errors. Connects these types to financial and scientific use cases.
Chapter 3HideHide detailsSee detailsBoolean and Character Types
Boolean and Character Types
Lesson 1 • Truthy and Falsy Values
Explains how non-Boolean values are coerced to Boolean in dynamic languages. Students avoid common truthiness bugs.
Lesson 2 • Null and Undefined as Special Values
Examines null and undefined as distinct absence-of-value markers. Students apply null-safety patterns to prevent null-reference errors.
Lesson 3 • Character Encoding Basics
Introduces ASCII and Unicode as the basis for character types. Students map characters to code points and byte sequences.
Lesson 4 • The Character Type in Practice
Covers how languages represent a single character and its operations. Bridges character types to string construction.
Lesson 5 • Boolean Type Fundamentals
Defines the Boolean type and its two-value domain. Connects Boolean values to control flow and conditional expressions.
Chapter 4HideHide detailsSee detailsString Types and Text Processing
String Types and Text Processing
Lesson 1 • String Validation and Normalisation
Applies regex and Unicode normalisation to validate and clean input strings. Connects to data quality and security requirements.
Lesson 2 • String Formatting and Interpolation
Teaches format strings, template literals, and interpolation syntax. Students produce readable, injection-safe formatted output.
Lesson 3 • String Internals and Memory Layout
Reveals how strings are stored in memory as sequences of characters. Connects internal layout to performance implications.
Lesson 4 • Core String Operations
Covers slicing, searching, replacing, and splitting strings. Builds the manipulation toolkit used in all subsequent text work.
Lesson 5 • Immutability and Mutability in Strings
Contrasts immutable string types with mutable string builders. Students choose the right approach for performance-sensitive code.
Chapter 5HideHide detailsSee detailsCollection and Composite Types
Collection and Composite Types
Lesson 1 • Dynamic Lists and Resizable Arrays
Explains how dynamic lists grow by reallocating backing arrays. Students understand amortised cost and capacity management.
Lesson 2 • Choosing the Right Collection Type
Applies selection criteria based on ordering, uniqueness, and access patterns. Synthesises all collection types through comparative exercises.
Lesson 3 • Sets: Unique Element Collections
Introduces sets as unordered collections with uniqueness guarantees. Students apply set operations to deduplication and membership testing.
Lesson 4 • Arrays: Fixed-Size Sequences
Covers contiguous memory arrays, indexing, and bounds checking. Establishes arrays as the baseline for all collection types.
Lesson 5 • Maps and Key-Value Stores
Covers hash maps and tree maps as associative data structures. Students implement lookup, insertion, and iteration patterns.
Lesson 6 • Tuples and Immutable Sequences
Defines tuples as fixed-length, heterogeneous, immutable sequences. Connects tuples to multiple-return-value patterns.
Chapter 6HideHide detailsSee detailsType Conversion and Type Safety
Type Conversion and Type Safety
Lesson 1 • Designing for Type Safety
Applies type-safe design patterns to prevent conversion errors by construction. Reinforces safety principles across all previously studied types.
Lesson 2 • Type Errors and Debugging
Catalogues common type errors and their root causes. Students use error messages and stack traces to locate and fix type bugs.
Lesson 3 • Explicit Casting Techniques
Covers safe and unsafe casting syntax across paradigms. Students apply the least-privilege casting principle to minimise data loss.
Lesson 4 • Type Guards and Runtime Checks
Introduces runtime type inspection to validate types before use. Connects type guards to defensive programming patterns.
Lesson 5 • Implicit Conversion Rules
Maps the automatic conversion rules applied by compilers and interpreters. Students predict outcomes of mixed-type expressions without running code.
Chapter 7HideHide detailsSee detailsAdvanced and User-Defined Types
Advanced and User-Defined Types
Lesson 1 • Type Aliases and Newtype Wrappers
Distinguishes transparent aliases from opaque newtype wrappers. Students improve code clarity and prevent unit-confusion bugs.
Lesson 2 • Enumerations and Named Constants
Defines enums as closed sets of named values. Students replace magic numbers and strings with type-safe enumerations.
Lesson 3 • Recursive and Recursive-Variant Types
Models self-referential structures such as trees and linked lists. Connects recursive types to data structure implementation.
Lesson 4 • Union and Sum Types
Introduces types that hold one of several alternative types at runtime. Students use exhaustive pattern matching to handle all variants safely.
Lesson 5 • Structs and Record Types
Covers value-semantic composite types that group related fields. Connects structs to data-transfer and configuration modeling.
Chapter 8HideHide detailsSee detailsType Systems in Practice
Type Systems in Practice
Lesson 1 • Type Inference and Annotation
Explains how compilers deduce types automatically and when explicit annotations are required. Students balance inference convenience with annotation clarity.
Lesson 2 • Types in API and Schema Design
Applies type thinking to API contracts, serialisation schemas, and data interchange formats. Students design APIs that communicate intent through types.
Lesson 3 • Evaluating Type Systems Across Languages
Compares type systems of several mainstream languages using consistent criteria. Students select the right language type system for a given project context.
Lesson 4 • Generics and Parametric Types
Introduces type parameters that enable reusable, type-safe abstractions. Students write generic functions and containers without sacrificing safety.
Lesson 5 • Types and Performance Optimisation
Connects type choices to memory layout, cache efficiency, and runtime speed. Students profile and optimise type-related performance bottlenecks.
Your valid completion certificate
This course is for you:
Junior developer: wants to move beyond trial-and-error into deliberate, principled coding decisions.
Data engineer: needs to manage type fidelity across pipelines, schemas, and serialisation boundaries.
Career changer: brings domain expertise and now wants to deepen core programming fundamentals.
Backend engineer: encounters subtle type bugs in production and wants systematic tools to prevent them.
Data scientist: handles messy datasets and needs a rigorous vocabulary for type-related cleaning decisions.
Technical lead: must evaluate language and framework choices and communicate those trade-offs clearly.
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




















