Computer Science is the study of computation, information, and automation. It explores how data is represented, processed, and communicated through algorithms and software, and how these systems are implemented in hardware and networks. The field spans both theoretical foundations (like logic, complexity, and computability) and practical applications (such as programming, data systems, AI, and cybersecurity), enabling the creation of efficient, secure, and scalable technological solutions.

Theory

  • Automata & Formal Languages
  • Turing Machines
  • Computational Complexity
  • Logic & Set Theory

Programming

Languages

  • Python
  • JavaScript
  • C/C++
  • Java

Paradigms

  • OOP
  • Functional
  • Procedural

Algorithms & Data Structures

  • Sorting Algorithms
  • Graph Algorithms
  • Trees, Hash Tables, Stacks, Queues
  • Big-O Analysis

Systems

Operating Systems

Computer Architecture

Networking

Software Engineering

Testing & QA

Levels of Testing

  • Unit Testing (PyTest, JUnit, Jest)
  • Integration Testing
  • System & E2E Testing (Selenium, Cypress, Playwright)

Methodologies

  • TDD (Test Driven Development)
  • BDD (Behavior Driven Development)

Cloud

Providers

Core Services

  • Virtual Machines
  • Serverless (Lambda, Cloud Functions)
  • Load Balancing & Auto Scaling

Databases

Data

Data Fundamentals

Big Data

  • Volume, Velocity, Variety
  • Batch vs Stream Processing
  • Distributed Computing

Data Platforms

Data Engineering

  • ETL / ELT
  • Data Lakes vs Warehouses
  • Data Quality & Validation

Data Orchestration

  • Airflow
  • DAGs, Schedulers, Triggers

Data Applications

Business Intelligence

Workflow Orchestration

Security

  • Secure Coding Practices
  • Key Management & Secrets
  • Data Security (PET)

Access Control

  • Identity & Access Management (IAM)
  • Authentication (MFA, SSO)
  • Authorization (RBAC, ABAC, DAC)

Cybersecurity

Infrastructure & Operations

DevOps

Infrastructure as Code (IaC)

Containers

MLOps

Artificial Intelligence

Web Development