PROGProgramming Foundation
All Courses
track 01

Python Basics

Variables, data types, control flow, functions, and file I/O. The universal starting point for AI, data science, and automation.

What it is & When to Use

Python is the primary language for data science, ML, automation, and AI development. Its readable syntax and extensive library ecosystem make it the right starting point for almost every technical learner today.

Essential Patterns

python_basics.py
# Variables and types
name = "Arjun"
score = 87.5
passed = score >= 60

# List comprehension
squares = [x**2 for x in range(10)]

# Function with default arg
def greet(name, prefix="Hello"):
    return f"{prefix}, {name}!"

# File I/O
with open("data.txt", "r") as f:
    lines = f.readlines()

# Error handling
try:
    result = int("abc")
except ValueError as e:
    print(f"Error: {e}")

# Dictionary operations
student = {"name": "Priya", "cgpa": 8.4}
student["branch"] = "CSE"
keys = list(student.keys())

10 AI Learning Prompts

// Copy into ChatGPT or Claude to learn faster

  1. "Explain Python list comprehensions with 5 real examples."
  2. "What's the difference between a list and a tuple in Python?"
  3. "Show me Python file I/O patterns for reading CSV, JSON, and text files."
  4. "What are Python decorators and when should I use them?"
  5. "Explain Python generators vs. regular functions with memory usage examples."
  6. "What's the difference between *args and **kwargs? Show examples."
  7. "How does Python's GIL affect multi-threading?"
  8. "Show me how to use Python dataclasses with validation."
  9. "What are common Python anti-patterns I should avoid?"
  10. "How do I write Python unit tests with pytest for a simple function?"

Interactive Notebook

โšก
Notebook: Python Basics
Variables, loops, functions, list comprehensions, exception handling
First load ~30-60s ยท Saves automatically
Open Notebook

Quiz

Test your understanding -- 10 questions, 70% to pass.

Take Quiz
track 02

Python for Data

Pandas, NumPy, and Matplotlib โ€” the core data manipulation and visualization stack every ML engineer uses daily.

Essential Operations

data_operations.py
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Load and inspect
df = pd.read_csv("students.csv")
print(df.shape, df.dtypes, df.head())

# Filter, group, aggregate
top = df[df["cgpa"] > 8.0]
avg_by_branch = df.groupby("branch")["cgpa"].mean()

# Handle missing values
df["salary"].fillna(df["salary"].median(), inplace=True)
df.dropna(subset=["name"], inplace=True)

# NumPy operations
X = np.array([[1, 2], [3, 4]])
mean = X.mean(axis=0)   # column means
norm = (X - mean) / X.std(axis=0)

# Plot
df["cgpa"].hist(bins=20, color="#00d4aa")
plt.title("CGPA Distribution")
plt.savefig("cgpa.png", dpi=150)

10 AI Learning Prompts

// Copy into ChatGPT or Claude

  1. "Show me the top 10 Pandas operations I need for EDA."
  2. "How do I handle missing values in a DataFrame โ€” compare fillna, dropna, and interpolate."
  3. "Explain the difference between apply, map, and applymap in Pandas."
  4. "How do I merge and join DataFrames? Show inner, left, outer joins."
  5. "What is vectorization in NumPy and why is it faster than Python loops?"
  6. "How do I create a multi-panel figure in Matplotlib with subplots?"
  7. "Show me how to use Seaborn for correlation heatmaps and distribution plots."
  8. "How do I profile Pandas performance on a 1M row DataFrame?"
  9. "Explain Pandas groupby with multiple aggregation functions."
  10. "What's the best way to read and write Parquet files in Python?"

Interactive Notebook

โšก
Notebook: Python for Data
Pandas groupby, NumPy, matplotlib -- student grade analysis
First load ~30-60s ยท Saves automatically
Open Notebook

Quiz

Test your understanding -- 10 questions, 70% to pass.

Take Quiz
๐Ÿ“„ Python for Data Cheatsheet
track 03

Shell / Bash

Command-line power for developers, data engineers, and ML engineers. Navigate files, automate tasks, write scripts, and chain tools with pipes.

Essential Commands

shell_essentials.sh
# Navigation and files
ls -la           # list with details
cd ~/projects    # change directory
find . -name "*.py" -mtime -7   # files modified last 7d
grep -r "TODO" src/              # search in files

# Text processing
cat data.csv | head -20
sort file.txt | uniq -c | sort -rn
awk -F, '{print $1, $3}' data.csv

# Variables and loops
for f in *.csv; do
    echo "Processing $f"
    python process.py "$f"
done

# Environment and processes
export API_KEY="abc123"
ps aux | grep python
kill -9 12345

# Cron job (run script daily at 9am)
# 0 9 * * * /path/to/run.sh >> /var/log/run.log 2>&1

10 AI Learning Prompts

// Copy into ChatGPT or Claude

  1. "Explain pipes and redirects in Bash with 5 practical examples."
  2. "How do I write a Bash script that processes all CSV files in a directory?"
  3. "What does set -euo pipefail do and why should I use it?"
  4. "Show me how to parse command-line arguments in a Bash script."
  5. "How do I use grep, awk, and sed together to transform log files?"
  6. "What's the difference between single quotes and double quotes in Bash?"
  7. "How do I schedule a Python script to run every hour with cron?"
  8. "Explain SSH key setup and how to scp files to a remote server."
  9. "How do I create a .env file and source it safely in a Bash script?"
  10. "Show me how to use tmux for running long ML training jobs."

Interactive Notebook

โšก
Notebook: Shell / Bash
Python equivalents of grep, find, chmod, pipe, redirection
First load ~30-60s ยท Saves automatically
Open Notebook

Quiz

Test your understanding -- 10 questions, 70% to pass.

Take Quiz
๐Ÿ“„ Shell/Bash Cheatsheet
track 04

SQL

The universal language of data. Every analyst, data scientist, and backend developer needs solid SQL โ€” especially for placement interviews.

Essential Patterns

sql_patterns.sql
-- Basic SELECT
SELECT name, cgpa, branch
FROM students
WHERE cgpa > 8.0 AND branch = 'CSE'
ORDER BY cgpa DESC
LIMIT 10;

-- JOIN
SELECT s.name, p.company, p.salary
FROM students s
INNER JOIN placements p ON s.id = p.student_id;

-- GROUP BY with aggregates
SELECT branch,
       COUNT(*) AS total,
       AVG(cgpa) AS avg_cgpa,
       MAX(salary) AS top_salary
FROM students s
JOIN placements p ON s.id = p.student_id
GROUP BY branch
HAVING COUNT(*) > 5;

-- Window function
SELECT name, salary,
       RANK() OVER (PARTITION BY branch ORDER BY salary DESC) AS rank_in_branch
FROM students;

10 AI Learning Prompts

// Copy into ChatGPT or Claude

  1. "Explain the difference between WHERE and HAVING in SQL."
  2. "Show me 10 common SQL interview questions for data roles."
  3. "What is the difference between INNER JOIN, LEFT JOIN, and FULL OUTER JOIN?"
  4. "How do window functions like ROW_NUMBER, RANK, and LAG work?"
  5. "How do I write a SQL query to find the second highest salary?"
  6. "Explain CTEs (Common Table Expressions) with a real example."
  7. "What are subqueries vs. CTEs โ€” when do I use each?"
  8. "How do I optimize a slow SQL query? What are indexes?"
  9. "Show me how to pivot rows to columns in SQL."
  10. "What's the difference between UNION and UNION ALL?"

Interactive Notebook

โšก
Notebook: SQL
SQLite in-memory DB -- SELECT, JOIN, GROUP BY, HAVING, window functions
First load ~30-60s ยท Saves automatically
Open Notebook

Quiz

Test your understanding -- 10 questions, 70% to pass.

Take Quiz
๐Ÿ“„ SQL Cheatsheet
track 05

Excel Formulas

High-value Excel and Google Sheets formulas for analysis, reporting, and data prep. Still the #1 tool in most Indian offices.

High-Value Formulas

FormulaWhat it doesExample
VLOOKUPLookup value in first column, return from another=VLOOKUP(A2, Sheet2!A:C, 3, FALSE)
XLOOKUPModern replacement for VLOOKUP, searches any direction=XLOOKUP(A2, D:D, E:E)
INDEX+MATCHFlexible lookup, works with any column order=INDEX(C:C, MATCH(A2, B:B, 0))
SUMIF / SUMIFSSum with single/multiple conditions=SUMIFS(D:D, B:B, "CSE", C:C, ">8")
COUNTIFCount rows matching a condition=COUNTIF(B:B, "Placed")
IF / IFSConditional logic=IF(C2>=8, "Merit", "Normal")
TEXTFormat numbers as text=TEXT(A2, "DD-MMM-YYYY")
PIVOT TABLESummarize large datasets interactivelyInsert โ†’ PivotTable

10 AI Learning Prompts

// Copy into ChatGPT or Claude

  1. "Show me how XLOOKUP differs from VLOOKUP with examples."
  2. "How do I use INDEX+MATCH to look up values in any direction?"
  3. "Explain SUMIFS with multiple criteria on date ranges."
  4. "How do I build a dynamic pivot table that auto-updates?"
  5. "What's the best formula to remove duplicates and extract unique values?"
  6. "How do I use conditional formatting to highlight rows based on cell values?"
  7. "Show me how to build a simple dashboard in Excel with charts and slicers."
  8. "How do I use TEXTJOIN and CONCAT to merge text from multiple cells?"
  9. "What is POWER QUERY and when should I use it over formulas?"
  10. "How do I write a macro to automate repetitive Excel tasks?"

Interactive Notebook

โšก
Notebook: Excel Formulas
VLOOKUP, SUMIFS, COUNTIFS, pivot tables via Python/Pandas
First load ~30-60s ยท Saves automatically
Open Notebook

Quiz

Test your understanding -- 10 questions, 70% to pass.

Take Quiz
๐Ÿ“„ Excel Formula Cheatsheet
track 06

C / C++

Pointers, memory management, structs, and core systems programming. Required for many engineering viva exams and embedded/systems roles.

Essential Patterns

c_essentials.c
// Pointers
int x = 42;
int* ptr = &x;
printf("%d\n", *ptr);  // dereference: 42
*ptr = 100;              // x is now 100

// Dynamic memory
int* arr = (int*) malloc(5 * sizeof(int));
if (!arr) { perror("malloc failed"); return 1; }
arr[0] = 10;
free(arr);   // always free

// Struct
typedef struct {
    char name[50];
    float cgpa;
} Student;

Student s = {"Arjun", 8.7};
printf("%s: %.1f\n", s.name, s.cgpa);

10 AI Learning Prompts

// Copy into ChatGPT or Claude

  1. "Explain the difference between stack and heap memory allocation in C."
  2. "What is a dangling pointer and how do I avoid it?"
  3. "Show me how to implement a linked list in C with insert and delete."
  4. "What is the difference between struct and union in C?"
  5. "How does pass-by-reference work in C++ vs. pass-by-pointer?"
  6. "Explain malloc, calloc, realloc โ€” when to use each."
  7. "What are common memory leak patterns in C and how to detect them?"
  8. "Explain virtual functions and polymorphism in C++."
  9. "Show me how to use C++ STL vector, map, and set."
  10. "What is RAII and how does it prevent resource leaks in C++?"

Interactive Notebook

โšก
Notebook: C / C++
Pointer concepts, malloc/free, structs -- Python side-by-side
First load ~30-60s ยท Saves automatically
Open Notebook

Quiz

Test your understanding -- 10 questions, 70% to pass.

Take Quiz
๐Ÿ“„ C/C++ Memory Cheatsheet
track 07

Perl

Regular expressions, file processing, and text transformation. Still used in bioinformatics, legacy enterprise systems, and ops scripting.

Essential Patterns

perl_basics.pl
#!/usr/bin/perl
use strict; use warnings;

# Regex match and substitution
my $line = "Score: 87.5";
if ($line =~ /Score:\s+(\d+\.\d+)/) {
    print "Found: $1\n";
}
(my $clean = $line) =~ s/\d+\.\d+/"XX"/;

# File processing
open(my $fh, '<', 'data.txt') or die $!;
while (my $l = <$fh>) {
    chomp $l;
    print "$l\n" if $l =~ /error/i;
}
close($fh);

10 AI Learning Prompts

// Copy into ChatGPT or Claude

  1. "Show me Perl regex patterns for extracting emails, IPs, and dates."
  2. "How do I process a large log file line by line in Perl?"
  3. "What is the difference between chomp and chop in Perl?"
  4. "How do I use Perl hashes and arrays for data aggregation?"
  5. "Show me how to write a Perl one-liner to transform CSV columns."
  6. "What are Perl references and how do they enable complex data structures?"
  7. "When would you use Perl in 2026 instead of Python?"
  8. "How do I install and use CPAN modules in Perl?"
  9. "Show me a Perl script to batch rename files with regex."
  10. "How does Perl's special variable $_ work?"

Interactive Notebook

โšก
Notebook: Perl
Regex, split, chomp -- Python equivalents for legacy engineers
First load ~30-60s ยท Saves automatically
Open Notebook

Quiz

Test your understanding -- 10 questions, 70% to pass.

Take Quiz
track 08

JavaScript

DOM manipulation, fetch API, async/await, and Node.js basics. Essential for frontend development, APIs, and full-stack AI apps.

Essential Patterns

js_patterns.js
// async/await with fetch
async function getModels() {
  const res = await fetch('/api/models');
  if (!res.ok) throw new Error(res.status);
  const data = await res.json();
  return data.models;
}

// Array methods
const scores = [87, 92, 78, 65];
const passing = scores.filter(s => s >= 70);
const avg = scores.reduce((a, b) => a + b, 0) / scores.length;

// DOM manipulation
document.querySelector('.btn')
        .addEventListener('click', async () => {
  const models = await getModels();
  renderList(models);
});

// Destructuring
const { name, score, ...rest } = student;
const [first, ...others] = scores;

10 AI Learning Prompts

// Copy into ChatGPT or Claude

  1. "Explain JavaScript Promises vs. async/await with error handling examples."
  2. "What is the event loop in JavaScript and how does it handle async code?"
  3. "Show me how to fetch data from an API and update the DOM without a framework."
  4. "What's the difference between let, const, and var?"
  5. "Explain closure in JavaScript with a practical example."
  6. "How do I use localStorage and sessionStorage in the browser?"
  7. "Show me how to build a simple Node.js Express REST API."
  8. "What are JavaScript modules (import/export) vs. CommonJS (require)?"
  9. "How does the Array.prototype.reduce method work? Show complex examples."
  10. "What are Web Workers and when should I use them for heavy computation?"

Interactive Notebook

โšก
Notebook: JavaScript
Arrow functions, map/filter, async/await -- Python parallels
First load ~30-60s ยท Saves automatically
Open Notebook

Quiz

Test your understanding -- 10 questions, 70% to pass.

Take Quiz