Computer Science Foundations
16 courses·EN
Explore how computers represent information, execute programs, organize memory, and process data.
Follow the mechanism that interests you, from algorithms and operating systems to graphics or parallel computing. Software Engineering focuses on applying such concepts to software projects.
A route through the topic
Choose from these lessons according to the question or task you want to explore.
Courses in this topic

Computing Information Representation
This training introduces the fundamental concepts of how computers represent information, including binary data and data encoding.
16 slides·32 min

Computer Architecture Fundamentals
A foundational course for beginners exploring the core components of a computer system, including CPU, memory, and I/O.
13 slides·26 min

Introduction to Operating Systems
This training introduces the fundamental concepts of operating systems, including their functions and components, for beginners in computer science.
12 slides·24 min

Computer Memory Fundamentals
This training introduces the fundamentals of computer memory, helping learners understand how data is stored and accessed in computing systems.
12 slides·24 min

Algorithms Fundamentals
This training introduces the fundamental concepts of algorithms, aimed at beginners seeking to understand how algorithms work and their role in problem-solving.
16 slides·32 min

Data Structures in Code
Learn to organize code efficiently using key data structures like arrays, lists, stacks, and queues for clearer, more effective programming.
17 slides·34 min

Computer Graphics Fundamentals
This training introduces computer graphics fundamentals, including rendering and image generation, for beginners seeking a foundational understanding of visual computing.
13 slides·26 min

Distributed Systems Fundamentals
An introduction to distributed systems, teaching core concepts, architecture, and challenges for beginners in software engineering.
15 slides·30 min

Introduction to File Systems
Learn to navigate file systems by understanding files, folders, and paths, ideal for beginners.
14 slides·28 min

Introduction to Quantum Computing
This training introduces the fundamentals of quantum computing for beginners, covering key concepts like qubits, superposition, and quantum gates.
15 slides·30 min

Parallel Computing Fundamentals
This training introduces the fundamentals of parallel computing, helping learners understand how to design and implement parallel algorithms for improved performance.
13 slides·26 min

Structured Data Fundamentals
Learn to work with structured data by understanding objects, arrays, and JSON for efficient data organization and exchange in programming.
14 slides·28 min

Data Compression Patterns
Learn how data compression identifies patterns to reduce file sizes, exploring lossless and lossy techniques for efficient storage.
15 slides·30 min

How Compilers Work
An introduction to how compilers transform source code into executable programs, exploring key stages like lexical analysis, parsing, and code generation.
12 slides·24 min

How Operating Systems Run Programs
This training explains how operating systems manage and execute programs, covering key processes like memory allocation and CPU scheduling.
15 slides·30 min

How Search Engines Work
This training explains how search engines discover, index, and rank web content for users seeking information.
16 slides·32 min