Wildcats Tech Logo

Wildcats Tech

FPHS Computer Science

← Back to ECS
HTML CSS JavaScript Python Java SQL PC Building

🌐 HTML - HyperText Markup Language

HTML is the backbone of every website. It defines the structure and content of web pages using tags.

📝 HTML Basics

+
Essential Tags:
<!DOCTYPE html>
<html>
  <head>
    <title>My First Page</title>
  </head>
  <body>
    <h1>Welcome to My Website</h1>
    <p>This is a paragraph.</p>
    <a href="page2.html">Click here</a>
  </body>
</html>
💡 Key Concepts:
  • Tags: Most tags come in pairs: opening <tag> and closing </tag>
  • Attributes: Extra info in tags like href="url" or class="name"
  • Nesting: Tags inside tags must close in reverse order
  • Semantic HTML: Use <header>, <nav>, <main>, <footer> for better structure
🎯 Try It: Create an HTML page about yourself with a heading, paragraph, image, and link to your favorite website.

🏗️ Common HTML Elements

+
<div>

Container for grouping content

<img>

Display images: <img src="pic.jpg" alt="description">

<ul> <li>

Unordered (bullet) lists

<ol> <li>

Ordered (numbered) lists

<table>

Data tables with rows and columns

<form>

User input forms with inputs and buttons

🎯 Try It: Create a page with a table showing your class schedule and a list of your favorite foods.

🎨 CSS - Cascading Style Sheets

CSS makes websites beautiful by controlling colors, layouts, fonts, and animations.

🖌️ CSS Basics

+
Three Ways to Add CSS:
/* 1. External CSS file (best practice) */
<link rel="stylesheet" href="style.css">

/* 2. Internal CSS in <head> */
<style>
  h1 { color: blue; }
</style>

/* 3. Inline CSS (avoid when possible) */
<h1 style="color: blue;">Hello</h1>
CSS Syntax:
selector {
  property: value;
  another-property: value;
}

/* Example */
h1 {
  color: #b19977;
  font-size: 32px;
  text-align: center;
}
💡 Key Concepts:
  • Selectors: Target elements by tag (h1), class (.my-class), or id (#my-id)
  • Colors: Use names (red), hex (#ff0000), or rgb(255, 0, 0)
  • Box Model: margin (outside) → border → padding (inside) → content
  • Cascading: Later rules override earlier ones, more specific rules win

📐 Layout & Positioning

+
Flexbox (Easy Layouts!):
.container {
  display: flex;
  justify-content: center; /* horizontal */
  align-items: center;     /* vertical */
  gap: 20px;               /* space between items */
}

/* Common flexbox values */
justify-content: flex-start | center | flex-end | space-between;
flex-direction: row | column;
Grid (Advanced Layouts):
.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* 3 equal columns */
  gap: 20px;
}

/* Responsive grid */
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
🎯 Try It: Create a photo gallery with 3 columns using CSS Grid that becomes 1 column on mobile.

✨ Animations & Effects

+
Transitions (Smooth Changes):
.button {
  background: #b19977;
  transition: all 0.3s ease;
}

.button:hover {
  background: #86745c;
  transform: scale(1.1);
}
Animations:
@keyframes slide-in {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.element {
  animation: slide-in 0.5s ease-out;
}

⚡ JavaScript - Making Websites Interactive

JavaScript adds behavior to websites - responding to clicks, updating content, and creating dynamic experiences.

🎯 JavaScript Basics

+
Variables & Data Types:
// Variables (use let or const, not var)
let name = "Alex";           // String
let age = 16;                // Number
let isStudent = true;        // Boolean
let grades = [85, 92, 78];   // Array
const PI = 3.14159;          // Constant (can't change)

// Output to console
console.log("Hello, " + name);
Functions:
// Function declaration
function greet(name) {
  return "Hello, " + name + "!";
}

// Arrow function (modern syntax)
const add = (a, b) => a + b;

// Using functions
let message = greet("Jordan");
let sum = add(5, 3);
💡 Common Mistakes to Avoid:
  • ❌ Forgetting semicolons at end of statements
  • ❌ Using = (assignment) instead of == or === (comparison)
  • ❌ Not checking if variables exist before using them
  • ❌ Forgetting to return a value from functions

🎨 DOM Manipulation

+
Selecting Elements:
// Get element by ID
let header = document.getElementById('main-header');

// Get elements by class (returns array)
let buttons = document.getElementsByClassName('btn');

// Modern way (CSS selectors)
let element = document.querySelector('.my-class');
let elements = document.querySelectorAll('div');
Changing Content & Style:
// Change text
element.textContent = "New text";
element.innerHTML = "<strong>Bold text</strong>";

// Change styles
element.style.color = "blue";
element.style.fontSize = "20px";

// Add/remove classes
element.classList.add('active');
element.classList.remove('hidden');
element.classList.toggle('highlighted');
Event Handling:
// Click event
button.addEventListener('click', function() {
  alert('Button clicked!');
});

// Modern arrow function syntax
button.addEventListener('click', () => {
  console.log('Clicked!');
});
🎯 Try It: Create a button that changes the background color of the page when clicked.

🚀 Project Ideas

+
  • To-Do List: Add, remove, and mark tasks as complete
  • Calculator: Basic arithmetic operations with buttons
  • Color Picker: Change background color with sliders
  • Quiz Game: Multiple choice questions with score tracking
  • Image Gallery: Click thumbnails to show larger version

🐍 Python - Easy & Powerful Programming

Python is perfect for beginners - clear syntax, powerful capabilities, used everywhere from web dev to AI.

🎯 Python Fundamentals

+
Variables & Data Types:
# Python doesn't need type declarations!
name = "Alex"
age = 16
height = 5.9
is_student = True

# Lists (like arrays)
grades = [85, 92, 78, 95]
names = ["Alice", "Bob", "Charlie"]

# Dictionaries (key-value pairs)
student = {
    "name": "Alex",
    "age": 16,
    "grade": "Junior"
}

# Print to console
print("Hello, " + name)
print(f"Age: {age}")  # f-string (modern way)
Control Flow:
# If statements (notice the indentation!)
if age >= 16:
    print("Can drive!")
elif age >= 13:
    print("Teenager")
else:
    print("Kid")

# For loops
for grade in grades:
    print(grade)

for i in range(5):  # 0, 1, 2, 3, 4
    print(i)

# While loops
count = 0
while count < 5:
    print(count)
    count += 1
Functions:
def greet(name):
    return f"Hello, {name}!"

def add(a, b):
    return a + b

# Using functions
message = greet("Jordan")
sum = add(5, 3)

🎮 Python Project Ideas

+
🎲 Dice Roller

Use random.randint(1, 6) to simulate dice rolls

🔢 Number Guessing Game

Computer picks random number, you guess (with hints)

💰 Tip Calculator

Calculate tip and split bill among friends

📝 Mad Libs

Ask for words, plug them into a story template

🎵 Text Adventure Game

Create a choose-your-own-adventure story

☕ Java - Professional Programming

Java is used by millions of developers worldwide. It's powerful, object-oriented, and runs everywhere.

🎯 Java Fundamentals

+
Basic Structure:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
Variables & Data Types:
// Primitive types
int age = 16;
double height = 5.9;
boolean isStudent = true;
char grade = 'A';
String name = "Alex";  // String is a class, not primitive

// Arrays
int[] grades = {85, 92, 78, 95};
String[] names = new String[5];
💡 Java vs Python:
  • Type Declaration: Java needs int x = 5; Python just x = 5
  • Semicolons: Java requires ; at end of statements
  • Braces: Java uses { } for blocks, Python uses indentation
  • Classes: Everything in Java must be in a class

🏗️ Object-Oriented Programming

+
Creating Classes:
public class Student {
    // Instance variables
    private String name;
    private int age;
    private double gpa;
    
    // Constructor
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
        this.gpa = 0.0;
    }
    
    // Methods
    public void setGPA(double gpa) {
        this.gpa = gpa;
    }
    
    public String getName() {
        return name;
    }
}

// Using the class
Student student = new Student("Alex", 16);
student.setGPA(3.8);
System.out.println(student.getName());

🗄️ SQL - Database Management

SQL (Structured Query Language) lets you store, retrieve, and manage data in databases.

📊 SQL Fundamentals

+
Basic Commands:
-- SELECT: Get data from database
SELECT name, age FROM students;
SELECT * FROM students WHERE age >= 16;

-- INSERT: Add new data
INSERT INTO students (name, age, grade)
VALUES ('Alex', 16, 'Junior');

-- UPDATE: Change existing data
UPDATE students
SET grade = 'Senior'
WHERE name = 'Alex';

-- DELETE: Remove data
DELETE FROM students WHERE age < 14;
Creating Tables:
CREATE TABLE students (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER,
    grade TEXT,
    gpa REAL
);
💡 SQL Tips:
  • Keywords: SQL keywords (SELECT, WHERE) are usually written in CAPS
  • Semicolons: End each query with ;
  • WHERE: Filter results with conditions
  • ORDER BY: Sort results (ASC or DESC)

🖥️ Building a PC & Installing Linux Mint

Learn to assemble a computer from components and install an operating system.

🔧 PC Components

+
1️⃣ CPU (Processor)

The "brain" - handles calculations. Intel or AMD.

2️⃣ Motherboard

Connects everything. Must match CPU socket type.

3️⃣ RAM (Memory)

Temporary storage while PC is on. 8GB minimum, 16GB recommended.

4️⃣ Storage (SSD)

Permanent storage. SSD much faster than HDD.

5️⃣ GPU (Graphics Card)

Optional for basic use, required for gaming.

6️⃣ Power Supply (PSU)

Provides electricity. Calculate wattage needed.

7️⃣ Chassis (Case)

Holds everything. Ensure motherboard size fits.

8️⃣ CPU Cooler

Keeps CPU from overheating. Some CPUs include one.

🔨 Build Steps

+
Step 1: Prepare
  • Clear workspace, anti-static wrist strap
  • Organize all components and tools
  • Read motherboard manual!
Step 2: Install CPU & RAM
  • Install CPU on motherboard (outside case)
  • Apply thermal paste, attach cooler
  • Install RAM in correct slots (check manual)
Step 3: Install I/O Shield & Motherboard
  • Install I/O shield in case first
  • Screw standoffs into case
  • Carefully place motherboard, screw it down
Step 4: Install Storage & GPU
  • Install SSD in M.2 slot or drive bay
  • If using GPU, install in top PCIe slot
  • Screw GPU bracket to case
Step 5: Connect Cables
  • 24-pin motherboard power
  • 8-pin CPU power
  • GPU power (if needed)
  • SATA cables for storage
  • Front panel connectors (power button, USB, audio)
Step 6: Cable Management
  • Route cables behind motherboard tray
  • Use cable ties to keep organized
  • Improves airflow and looks professional
Step 7: First Boot
  • Double-check all connections
  • Plug in power cable, turn on PSU switch
  • Press power button - fans should spin!
  • Enter BIOS (usually Delete or F2 key)

🐧 Installing Linux Mint

+
Preparation:
  1. Download Linux Mint ISO from linuxmint.com
  2. Create bootable USB with Rufus (Windows) or Etcher (Mac/Linux)
  3. Insert USB into new PC
Installation Steps:
  1. Boot from USB: Enter BIOS, set USB as first boot device
  2. Try Linux Mint: Test it out without installing (optional)
  3. Start Installation: Double-click "Install Linux Mint" icon
  4. Choose Language: Select your preferred language
  5. Keyboard Layout: Select your keyboard layout
  6. Multimedia Codecs: Check "Install multimedia codecs"
  7. Installation Type: "Erase disk and install" (if new PC)
  8. Time Zone: Select your location
  9. User Account: Create username and password
  10. Wait: Installation takes 10-20 minutes
  11. Restart: Remove USB when prompted, restart computer
Post-Installation:
  • Update system: sudo apt update && sudo apt upgrade
  • Install additional software from Software Manager
  • Customize desktop appearance
  • Set up backups with Timeshift

📚 Additional Resources

🌐 Web Development

🐍 Python

☕ Java

🗄️ SQL