All Coding Tutorials
Every lesson on Codevra, in learning order. 890 lessons across 15 languages.
Web development
Basics
Basics
- 1CSS Introduction
- 2CSS Syntax
- 3Adding CSS to HTML
- 4Selectors
- 5Combinators & Attributes
- 6Colors
- 7Backgrounds
- 8Borders & Radius
- 9Text
- 10Fonts
Show all 49 lessonsShow fewer
Basics
Intermediate
- 14Box Model
- 15Margin & Padding
- 16Display
- 17Position & z-index
- 18Float & Clear
- 19Flexbox
- 20Grid
- 21Centering
- 22Pseudo-classes
- 23Pseudo-elements
- 24Links & Buttons
- 25Lists & Navbars
- 26Dropdowns & Tooltips
- 27Forms
- 28Tables
- 29Images & Filters
- 30Specificity & Cascade
- 31Inheritance & !important
- 32calc() & clamp()
Advanced
- 33CSS Variables
- 34Media Queries
- 35Responsive Design
- 36Responsive Images
- 37Responsive Typography
- 38Responsive Layouts
- 39Responsive Navbar
- 40Container Queries
- 41:has(), :is() & :where()
- 42Nesting & Logical Props
- 43Dark Mode & Colours
- 44Transitions
- 45Transforms
- 46Animations
- 47Shadows & Gradients
- 48clip-path & Blend Modes
- 49Scroll Snap & Columns
Basics
- 1JS Introduction
- 2Where to Put JS
- 3Output & Console
- 4Variables (let, const)
- 5Data Types
- 6Operators
- 7Strings & Template Literals
- 8String Methods
- 9Numbers & Math
- 10Booleans & Comparisons
Show all 56 lessonsShow fewer
Basics
Logic & Functions
- 12if / else
- 13switch
- 14for Loops
- 15while Loops
- 16for...of & break
- 17Functions
- 18Arrow Functions
- 19Scope & Closures
- 20Hoisting & var vs let
- 21Callbacks
- 22Recursion
Data Structures
- 23Arrays
- 24Array Methods (map, filter…)
- 25Sort & Search Arrays
- 26Objects
- 27Object Methods
- 28this & bind()
- 29Destructuring & Spread
- 30Sets & Maps
- 31Dates & Intl
- 32Regular Expressions
DOM & Browser
- 33DOM: Selecting Elements
- 34DOM: Changing Elements
- 35Create & Remove Elements
- 36Events
- 37Event Delegation
- 38Forms & Validation
- 39Timers (setTimeout)
- 40Debounce & Throttle
- 41localStorage
- 42JSON
- 43Window & Browser APIs
- 44Responsive JavaScript
- 45Canvas & Animation
Advanced
Programming
Beginner
- 1Introduction
- 2Syntax and Statements
- 3Comments
- 4The print() Function
- 5Variables & Data Types
- 6Naming and Multiple Assignment
- 7Numbers & Math
- 8Type Casting
- 9The None Value
- 10Strings
Show all 107 lessonsShow fewer
Beginner
- 11String Formatting
- 12User Input with input()
- 13Boolean Values and Expressions
- 14Operators and Precedence
- 15if / elif / else
- 16The match Statement
- 17The pass Statement
- 18Loops (for & while)
- 19Lists
Intermediate
- 20Dictionaries
- 21Tuples & Sets
- 22range() in Depth
- 23Arrays in Python
- 24Advanced Collection Methods
- 25Copying and Joining Collections
- 26Functions
- 27Arguments & Scope
- 28Recursion
- 29Comprehensions & Lambda
- 30Errors & Exceptions
- 31Files (Text, CSV, JSON)
- 32Modules, pip & venv
- 33Dates & Times
Advanced
- 34Classes & Objects
- 35Inheritance
- 36Python Magic Methods
- 37Class Methods and Properties
- 38Polymorphism and Inner Classes
- 39Type Hints & Dataclasses
- 40Iterators & Generators
- 41Iterators vs. Iterables
- 42Context Managers
- 43Decorators
- 44Regular Expressions
- 45Testing
- 46Web APIs & requests
Files and Standard Library
- 47Read, Write, Create and Delete Files
- 48JSON Handling
- 49CSV Handling in Depth
- 50File and Directory Operations
- 51Built-in Functions Reference
- 52String and Collection Methods Reference
- 53Exception Types Reference
- 54Python Keywords and Glossary
- 55Standard Library Essentials
- 56Environment Variables and Configuration
- 57pip and Virtual Environments
Professional Development
- 58Debugging Python Programs
- 59Logging
- 60Unit Testing and pytest
- 61Mocking and Test Fixtures
- 62Code Style and PEP 8
- 63Type Checking and Type Hinting
- 64Virtual Environments and Dependencies
- 65Git and Python Projects
- 66Interview Questions and Answers
Database and Web Track
- 67Database Connections and Queries
- 68SQL CRUD with Python
- 69Python MySQL Tutorial
- 70Python MongoDB Tutorial
- 71HTTP Requests and REST APIs
- 72API Authentication and Errors
- 73A Simple Python Web Server
- 74Introduction to Flask
Data Science Track
- 75NumPy Tutorial
- 76Pandas Tutorial
- 77Matplotlib Tutorial
- 78Data Cleaning and Analysis
- 79Statistics with Python
- 80Line, Bar, Scatter and Histogram Charts
DSA Track
- 81Time and Space Complexity
- 82Linear and Binary Search
- 83Sorting Algorithms
- 84Stacks and Queues
- 85Linked Lists
- 86Hash Tables
- 87Trees and Binary Search Trees
- 88Graphs and Graph Traversal
- 89Recursive Problem Solving
Machine Learning Track
- 90Introduction to Machine Learning
- 91Mean, Median, Mode and Deviation
- 92Data Distribution and Percentiles
- 93Linear and Multiple Regression
- 94Logistic Regression
- 95Decision Trees and K-Nearest Neighbors
- 96Training and Testing Datasets
- 97Cross-Validation and Evaluation
- 98Clustering and K-Means
Practice and Projects
Beginner
- 1Introduction
- 2Syntax and Statements
- 3Output: print() vs. println()
- 4Comments and Code Structure
- 5Variables & Data Types
- 6Variables, Identifiers and Constants
- 7Primitive Data Types
- 8Type Casting and var
- 9Boolean Expressions
- 10Operators & Math
Show all 127 lessonsShow fewer
Beginner
- 11Operators and Precedence
- 12User Input (Scanner)
- 13User Input with Scanner
- 14Command-Line Arguments
- 15Strings
- 16Strings, Concatenation and Escapes
- 17Formatting & StringBuilder
- 18if / else
- 19if, else if and Nested Conditions
- 20switch & Switch Expressions
- 21switch Expressions and Statements
- 22Loops
- 23for, while and do-while Loops
- 24Nested and Enhanced for Loops
- 25break and continue
- 26Methods
- 27Methods and Parameters
- 28Return Values and Method Overloading
- 29Variable Scope
- 30Recursion: Base Cases and Calls
Intermediate
- 31Arrays
- 32Single and Multidimensional Arrays
- 33Array Operations and Sorting
- 34Classes & Objects
- 35Classes and Objects Explained
- 36Fields, Attributes and Methods
- 37Constructors and Constructor Overloading
- 38this Keyword
- 39Access and Non-Access Modifiers
- 40Encapsulation and Validation
- 41Inner and Anonymous Classes
- 42Packages and Imports
- 43String Methods Reference
- 44StringBuilder and StringBuffer
- 45Wrapper Classes and Autoboxing
- 46ArrayList
- 47List, ArrayList and LinkedList
- 48HashMap & HashSet
- 49HashMap, TreeMap and LinkedHashMap
- 50Collections
- 51Collections Framework Explained
- 52HashSet, TreeSet and LinkedHashSet
- 53Iterators and the Iterable Interface
- 54Collections Sorting and Comparators
- 55Inheritance
- 56Inheritance and the super Keyword
- 57Polymorphism and Method Overriding
- 58Interfaces & Abstract
- 59Abstraction and Interfaces
- 60Enums
- 61Enums and Enum Constructors
- 62Generics
- 63Generics and Generic Classes
Files and I/O
- 64Exceptions
- 65Exception Types and Hierarchy
- 66try, catch, finally, throw and throws
- 67Custom Exceptions and Multi-Catch
- 68Try-with-Resources
- 69File Handling: Create, Read, Write, Delete
- 70Path and Files APIs
- 71Byte Streams and Character Streams
- 72FileInputStream and FileOutputStream
- 73BufferedReader and BufferedWriter
- 74Serialization and Deserialization
- 75JSON Processing in Java
- 76Files & I/O
Advanced
- 77Dates & Times
- 78Date and Time API: java.time
- 79Lambdas & Streams
- 80Lambda Expressions
- 81Functional Interfaces
- 82Method References
- 83Stream API: map, filter and reduce
- 84Optional: Handling Missing Values
- 85Regular Expressions
- 86Annotations Explained
- 87Reflection API
- 88Multithreading and Thread Lifecycle
- 89Synchronization and Race Conditions
- 90ExecutorService and Thread Pools
- 91Concurrency Utilities
- 92Debugging and Logging Basics
Developer Tools
- 93Records
- 94Unit Testing (JUnit)
- 95JDK, JRE and JVM Explained
- 96Installing Java and Setting Up the JDK
- 97Compiling and Running Java Programs
- 98Classpath and Package Layout
- 99Maven and Gradle Basics
- 100Unit Testing with JUnit
- 101Debugging Java Applications Step by Step
- 102Git Basics for Java Projects
- 103Modern Java: Records, Sealed Classes and Patterns
- 104Modules and module-info.java
Java DSA
- 105Time and Space Complexity
- 106Linear Search and Binary Search
- 107Sorting Algorithms Explained
- 108Stacks and Queues with ArrayDeque
- 109Linked Lists: Nodes and Links
- 110Hashing and Hash Tables
- 111Trees and Binary Search Trees
- 112Heaps and Priority Queues
- 113Graphs, BFS and DFS
- 114Recursion and Backtracking
- 115Dynamic Programming Basics
Practice and Projects
- 116Examples Library for Beginners
- 117Exercises by Topic
- 118Quizzes by Chapter
- 119Coding Challenges with Test Cases
- 120Keywords Reference and Glossary
- 121String, Math and Collections Methods
- 122Common Java Errors and Solutions
- 123Interview Questions and Answers
- 124Beginner Java Projects with Practice Steps
- 125Intermediate Java Projects: Collections and Files
- 126Advanced Java Projects: Testing and Concurrency
- 127Learning Roadmap and Study Plan
Beginner
- 1Introduction
- 2Variables & Types
- 3Numbers & Operators
- 4Strings
- 5Null Safety
- 6if & when
- 7Loops & Ranges
- 8Functions
Intermediate
Show all 43 lessonsShow fewer
Intermediate
- 11Collection Operations
- 12Lambdas
- 13Classes & Objects
- 14Data Classes
- 15Inheritance & Interfaces
- 16Objects & Companions
- 17Enums & Sealed Classes
Advanced
- 18Exceptions
- 19Extension Functions
- 20Generics
- 21Scope Functions
- 22Coroutines
- 23Flows
- 24Files & I/O
- 25Testing
Language reference
- 26Arrays and primitive arrays
- 27Packages and visibility
- 28Type checks and casts
- 29Delegated properties
- 30Interface delegation
- 31Nested and inner classes
- 32Inline functions and returns
- 33Operator overloading
- 34Sequences
- 35Equality and hashing
- 36Regex parsing
Tooling and interoperability
Coroutine reference
Beginner
- 1Introduction
- 2Variables & Constants
- 3Numbers & Operators
- 4Strings
- 5Optionals
- 6if & switch
- 7Loops
- 8Functions
Intermediate
Show all 43 lessonsShow fewer
Intermediate
Advanced
- 18Generics
- 19Memory & ARC
- 20Concurrency
- 21Codable & JSON
- 22SwiftUI Basics
- 23SwiftUI State
- 24Lists & Navigation
- 25Testing
Language reference
- 26Access control
- 27Initialization rules
- 28Lazy properties and wrappers
- 29Subscripts and key paths
- 30Type casting
- 31some and any
- 32Collection protocols and lazy
- 33Unicode and text indices
- 34Native Regex
Tools and data
Concurrency and app development
Beginner
Intermediate
Show all 43 lessonsShow fewer
Intermediate
- 11Classes & Objects
- 12Properties & Constructors
- 13Inheritance & Polymorphism
- 14Interfaces
- 15Structs & Records
- 16Enums
- 17Exceptions
Advanced
- 18Generics
- 19LINQ
- 20Delegates & Lambdas
- 21async & await
- 22Files & JSON
- 23Nullable & Patterns
- 24Unit Testing
- 25Minimal APIs
Language and library reference
- 26Conversions and Culture
- 27Dates and Times
- 28Regular Expressions
- 29Unicode and Encoding
- 30Projects and NuGet
- 31Equality and Hashing
- 32Extension Methods
- 33Iterators and Yield
- 34Disposal and Ownership
- 35Generic Variance
- 36Attributes and Reflection
Application development
Beginner
Intermediate
Show all 44 lessonsShow fewer
Intermediate
- 11Structs & Enums
- 12Pointers
- 13Classes & Objects
- 14Maps & Sets (STL)
- 15Algorithms & Lambdas
- 16Exceptions
- 17Files (fstream)
Advanced
- 18Inheritance & Polymorphism
- 19Operator Overloading
- 20Headers, Files & CMake
- 21Smart Pointers
- 22Move Semantics
- 23Templates
- 24optional & variant
- 25Threads & Concurrency
Language and standard library
- 26Scope and Linkage
- 27Const Correctness
- 28Casts and Numeric Safety
- 29Array and Span
- 30String View Lifetimes
- 31Iterator Invalidation
- 32List and Deque
- 33Container Adaptors
- 34Unordered Containers
- 35Chrono and Dates
- 36Random Generation
- 37Friend Access
- 38Multiple Inheritance
- 39Special Members and Guarantees
Templates and ranges
Build and quality tools
Beginner
- 1Introduction
- 2Variables & Strings
- 3String Functions
- 4if / else / match
- 5Loops
- 6Arrays
- 7Array Functions
- 8Functions
Intermediate
Show all 86 lessonsShow fewer
Intermediate
- 11Form Validation
- 12Sessions & Cookies
- 13Dates & Times
- 14Regular Expressions
- 15Files & Uploads
- 16JSON & APIs
- 17Databases (PDO)
Advanced
- 18Classes & OOP
- 19Interfaces, Traits & Enums
- 20Exceptions & Errors
- 21Namespaces & Composer
- 22CRUD App
- 23Login & Passwords
- 24Web Security
- 25REST API
Fundamentals reference
- 26Constants and define()
- 27Magic constants
- 28Numbers and math
- 29Increment and decrement
- 30Shorthand if and ternary
- 31switch versus match
- 32Scope and $GLOBALS
- 33Request superglobals
- 34isset, empty and unset
- 35Built-in functions
Arrays and functions reference
- 36Indexed and associative arrays
- 37Multidimensional arrays
- 38Array sorting reference
- 39Callbacks and closures
- 40Arrow functions
- 41Variadic and named arguments
- 42Iterables and generators
- 43Type declarations
- 44Null coalescing and nullsafe
- 45Enums and readonly
OOP reference
- 46Abstract classes
- 47Class constants
- 48Static methods and properties
- 49Constructors and destructors
- 50Traits and conflicts
- 51Late static binding
- 52Magic methods
- 53Object iteration
- 54Namespaces and aliases
- 55Object cloning and comparison
Web requests and data reference
- 56PHP Filters and Validation Filters
- 57Advanced File Handling and File Permissions
- 58File Upload Security and MIME-Type Validation
- 59CSV Processing
- 60XML Processing with SimpleXML
- 61XML Processing with DOM
- 62XML Parsing with Expat
- 63AJAX with PHP
- 64PHP Live Search with AJAX
- 65HTTP Headers, Redirects and Response Codes
- 66Email Sending and Mail Configuration
Database reference
- 67MySQLi vs. PDO
- 68Connecting PHP to MySQL
- 69Creating Databases and Tables with PHP
- 70Insert, Select, Update and Delete with MySQLi
- 71Prepared Statements with MySQLi
- 72Last Insert ID and Multiple Inserts
- 73Transactions with PDO
- 74Database Error Handling
- 75Pagination and Search with SQL
- 76PHP Database Connection Best Practices
Professional PHP
- 77PHP Configuration and php.ini
- 78Error Reporting and Logging
- 79Composer Dependencies and Version Constraints
- 80PSR Standards and Autoloading
- 81Environment Variables and .env Configuration
- 82Unit Testing with PHPUnit
- 83PHP Performance and OPcache Basics
- 84Deployment and Production Configuration
- 85PHP Security Checklist
- 86PHP Interview Questions and Coding Exercises
Beginner
Intermediate
Show all 43 lessonsShow fewer
Intermediate
- 11Express Routing
- 12Middleware
- 13REST API
- 14Validation
- 15Static Files & Templates
- 16Error Handling
- 17Streams
Advanced
- 18Databases
- 19Authentication
- 20Security
- 21Testing
- 22WebSockets
- 23Processes & Workers
- 24Debugging & Performance
- 25Deployment
Runtime and network references
- 26Buffers and UTF-8
- 27URL and URLSearchParams
- 28Integrity and Webhook HMAC
- 29HTTPS and TLS Verification
- 30DNS Resolution
- 31TCP Message Framing
- 32Compression Formats and HTTP
- 33Timers and Microtasks
- 34Fetch Bodies and Cancellation
Tools and application boundaries
Data & tools
Beginner
- 1Introduction
- 2SELECT
- 3WHERE (Filtering)
- 4NULL Values
- 5ORDER BY & GROUP BY
- 6Functions
- 7CASE Expressions
- 8INSERT, UPDATE, DELETE
Intermediate
Show all 102 lessonsShow fewer
Intermediate
- 11Constraints & Keys
- 12JOIN
- 13More Joins
- 14UNION & Set Operations
- 15Subqueries & CTEs
- 16Data Cleaning
- 17Table Relationships
Advanced
- 18Normalization
- 19Views
- 20CTEs & Recursive Queries
- 21Indexes & Performance
- 22Transactions
- 23Window Functions
- 24Triggers & Procedures
- 25Security & Permissions
Syntax and commands reference
- 26SQL syntax and comments
- 27SQL operators and precedence
- 28SELECT DISTINCT
- 29SQL aliases
- 30LIKE and wildcard patterns
- 31IN, BETWEEN, ANY and ALL
- 32EXISTS and NOT EXISTS
- 33IS NULL and IS NOT NULL
- 34LIMIT, TOP and FETCH FIRST
- 35SQL keywords and commands
Functions and querying reference
- 36MIN()
- 37MAX()
- 38COUNT()
- 39SUM()
- 40AVG()
- 41Aggregate vs window functions
- 42GROUP BY and HAVING
- 43SQL string functions
- 44SQL numeric and mathematical functions
- 45SQL date and time functions
- 46COALESCE and NULLIF
- 47Conditional aggregation
- 48CAST() and CONVERT()
- 49Multiple-column and NULL sorting
Database and table reference
- 50CREATE DATABASE and DROP DATABASE
- 51CREATE, ALTER and DROP TABLE
- 52SQL data types
- 53INSERT INTO SELECT
- 54SELECT INTO
- 55DEFAULT, CHECK and UNIQUE constraints
- 56AUTO_INCREMENT and identity columns
- 57Primary keys and composite keys
- 58Foreign keys and referential actions
- 59Temporary tables
- 60Database schema and metadata
Joins and advanced queries reference
- 61INNER JOIN
- 62LEFT, RIGHT and FULL OUTER JOIN
- 63Self joins and cross joins
- 64Anti-joins and unmatched records
- 65UNION vs UNION ALL
- 66INTERSECT and EXCEPT
- 67Correlated subqueries
- 68Derived tables
- 69Common table expressions
- 70Recursive queries
- 71Pivoting and conditional aggregation
Windows and performance reference
- 72Ranking Functions
- 73LAG and LEAD
- 74Running Totals and Averages
- 75Window Frames and Partitions
- 76Index Types and Composite Indexes
- 77EXPLAIN and Execution Plans
- 78Query Optimization
- 79ACID and Isolation Levels
- 80Deadlocks and Locking
- 81Procedures vs Functions
- 82Trigger Use Cases
Practical SQL
- 83Database Design from Requirements
- 84Entity-Relationship (ER) Diagrams
- 85One-to-One, One-to-Many and Many-to-Many Relationships
- 86Normalization: 1NF, 2NF, 3NF and BCNF
- 87Data Integrity and Referential Integrity
- 88SQL Data Cleaning and Deduplication
- 89Importing and Exporting CSV Data
- 90Database Backup and Restore Basics
- 91SQL Security, Roles and Permissions
- 92Parameterized Queries and SQL Injection Prevention
Dialects and SQL practice
Beginner
Intermediate
Show all 43 lessonsShow fewer
Intermediate
- 11Indexes
- 12Aggregation Basics
- 13Aggregation Stages
- 14$lookup Joins
- 15Schema Design
- 16Validation
- 17Text Search
Advanced
- 18Transactions
- 19Node.js Driver
- 20Mongoose
- 21Performance & explain
- 22Replication
- 23Sharding
- 24Security & Users
- 25Backup & Monitoring
Query and write references
- 26Null and Missing Fields
- 27Cursor Iteration and Cleanup
- 28Compound Keyset Pagination
- 29Bulk Writes and Partial Errors
- 30Optimistic Concurrency Control
Data processing and storage
- 31Window Functions
- 32Dates and Timezone Buckets
- 33Densify and Fill
- 34Read-Only Collection Views
- 35Materialized Summary Refresh
- 36Change Streams and Resume Tokens
- 37Time Series Collections
- 38GridFS File Streaming
- 39Geospatial Queries
- 40Multikey Index Limits
Indexes and connection management
Beginner
Intermediate
Show all 30 lessonsShow fewer
Intermediate
Advanced
- 13Rebase
- 14Cherry-Pick
- 15Reflog & Recovery
- 16Bisect & Blame
- 17Git Hooks
- 18Submodules
- 19Worktrees
- 20Team Workflows
Precision and repository data
- 21Git Partial Staging and the Index
- 22Git HEAD, Detached HEAD and Revision Syntax
- 23Git .gitattributes and Line Ending Normalization
- 24Git Large File Storage and Binary Asset Workflows
- 25Sign and Verify Git Commits and Tags
Team tooling and recovery
Beginner
- 1Introduction
- 2Repositories
- 3Markdown & README
- 4Profile & Portfolio
- 5SSH & Authentication
- 6Push, Pull & Clone
Intermediate
Show all 30 lessonsShow fewer
Intermediate
Advanced
Review and repository rules
- 21GitHub CODEOWNERS Patterns and Review Requirements
- 22GitHub Repository Rulesets and Merge Queue Checks
Workflow reference
- 23GitHub Actions Contexts, Expressions and Job Outputs
- 24GitHub Reusable Workflows with Typed Inputs and Outputs
- 25GitHub Actions Dependency Caches and Workflow Artifacts
- 26GitHub Actions Permissions and Untrusted Pull Requests
- 27GitHub Environments and OIDC Deployment Identity
Project management and services