BIT UCSC UoM BSc Software Projects Assignments: PHP Python mySQL Coding and Online ICT Tuition Class
ICT Project, Coding, and Digital Marketing Training!
Struggling with your MSc, BIT, BSc, or HND project? Get guaranteed success with our individual/group online classes taught in English, Sinhala, or Tamil.
✅ PHP & Python Software Development and Automation mySQL Oracle
✅ Digital Marketing & E-Commerce Website Development
✅ Freelancing, Database Design, and AI ML Application Training
✅ All Grade ICT Tutorials, Notes, and Exam Prep
๐ WhatsApp +94 729622034 | ๐ง Email: ITClassSL@gmail.com
Complete Guide to Adders and Flip-Flops (Sri Lankan Syllabus)
1. Adder Logic Circuits
In the Central Processing Unit (CPU), the Arithmetic Logic Unit (ALU) is responsible for performing mathematical calculations. The fundamental building block for addition in digital electronics is the Adder.
Purpose: Used to add binary numbers.
Types: There are 2 main types: Half Adder and Full Adder.
Main Difference: A Half Adder cannot handle a Carry-In from a previous addition, whereas a Full Adder can.
2. The Half Adder
A Half Adder is a combinational logic circuit that adds two single binary digits. It produces two outputs: the Sum (S) and the Carry-out (Cout).
Block Diagram
Input A & Input B → [ HALF ADDER ] → Output SUM, Output Cout
Truth Table
Input A
Input B
Sum (S)
Carry Out (Cout)
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
Logic Expressions & Circuit
By observing the Truth Table, we can derive the Boolean expressions:
SUM = A ⊕ B (XOR Gate)
Cout = A · B (AND Gate)
Circuit Construction: To build a Half Adder, you need exactly 1 XOR Gate and 1 AND Gate.
3. The Full Adder
A Full Adder overcomes the limitation of the Half Adder. It adds three inputs: Two operands (A, B) and a Carry-In (Cin) from a previous stage. This allows us to add multi-bit numbers (like 101 + 011).
Example Calculation: 101 + 011
When adding binary numbers, we start from the Least Significant Bit (LSB). If a column generates a carry, it becomes the Cin for the next column.
1 0 1 (Operand A)
+ 0 1 1 (Operand B)
-------
1 0 0 0 (Result)
To perform this, we need Full Adders for the middle and final bits to handle the Carry In.
Block Diagram
Inputs: A, B, Cin → [ FULL ADDER ] → Outputs: SUM, Cout
Truth Table
A
B
Cin
SUM
Cout
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Boolean Expressions (A/L Exam Focus)
Step 1: Write expression where SUM is 1 (Minterms)
SUM = A'B'Cin + A'BCin' + AB'Cin' + ABCin
Step 2: Write expression where Cout is 1 (Minterms)
Cout = A'BCin + AB'Cin + ABCin' + ABCin
Step-by-Step Simplification (For Cout)
In A/L ICT, you may be asked to simplify this using Boolean Algebra laws.
Group terms: We can replicate $ABC_{in}$ (Idempotent Law: $X + X = X$) to group with others.
$= (A'BC_{in} + ABC_{in}) + (AB'C_{in} + ABC_{in}) + (ABC_{in}' + ABC_{in})$
Factorize:
$= BC_{in}(A' + A) + AC_{in}(B' + B) + AB(C_{in}' + C_{in})$
Note: For SUM, the simplification results in the XOR relationship: $SUM = A \oplus B \oplus C_{in}$
4. Flip-Flops (Memory Elements)
Unlike Adders (Combinational Logic), Flip-Flops are Sequential Logic circuits. They have memory.
Function: Used to store a single bit (0 or 1) of data.
Usage: Used to build Registers, RAM, and Counters inside the CPU.
Clock: Most Flip-Flops change state only on the edge of a Clock signal (synchronous).
Type 1: SR Flip-Flop (Set-Reset)
Inputs: S, R, CLK → [ SR FLIP-FLOP ] → Outputs: Q, Q'
S (Set)
R (Reset)
Q (Next State)
Action
0
0
Q (No Change)
Memory
0
1
0
Reset
1
0
1
Set
1
1
Invalid
Forbidden
Type 2: D Flip-Flop (Data/Delay)
The D Flip-Flop solves the "Invalid" state problem of the SR Flip-Flop. It is the most common type used for data storage.
Input: D, CLK → [ D FLIP-FLOP ] → Output: Q
D (Data)
CLK (Edge)
Q (Next State)
0
↑
0
1
↑
1
Logic: Whatever value is at Input D, it appears at Output Q when the Clock pulse arrives.
5. A/L ICT Practice Questions
Q1: Which logic gates are required to construct a Half Adder?
Answer: 1 XOR Gate and 1 AND Gate.
Q2: In a Full Adder, if A=1, B=1, and Cin=0, what are the Sum and Carry Out?
Answer: Sum = 0, Carry Out = 1. (Because 1+1+0 = 10 in binary).
Q3: What is the main disadvantage of an SR Flip-Flop when S=1 and R=1?
Answer: It creates an Invalid or Indeterminate state (both Q and Q' become 0 or unstable).
Prepared based on Sri Lankan G.C.E. Advanced Level ICT Syllabus.
๐ Master GCE O/L A/L ICT | Your IT Degree with Expert Guidance!
Online Individual & Group Classes in English | Sinhala | Tamil
Struggling with assignments, projects, or exams? Get personalized support tailored for BIT (University of Moratuwa), UCSC, and other IT degree students in Sri Lanka.
Internal Storage: Computers store data in an internal hard disk drive (usually called the "C: drive").
External Storage: Used when data is too large for internal storage.
Common Storage Devices: Hard disk drive, CD / DVD, USB flash memory, Memory card.
๐พ Specific Storage Devices
๐น External Hard Disk
Most common data storage device
Biggest storage space available
Can store ~1,000 movies or 1 million songs
๐น CD / DVD
CD (Compact Disc): Store documents, music, photos (not enough space for movies)
DVD (Digital Versatile Disc): Evolution of CDs with much more space (~5 movies per disc)
⚠️ Warning: Be careful not to scratch the surface, or data will be lost!
๐น USB Flash Memory
Store/transfer data between computers or smartphones
Very cheap, damage-resistant, various sizes
Portable – carry on a keychain
Nickname: "Memory stick"
๐น Memory Card
Very thin and small
Used with smartphones, digital cameras, MP3 players, game consoles
Transfer data from devices to PC/laptop
๐ History Fact: In the 70s and 80s, the main storage device was the floppy disk – thin, flexible magnetic disks. They are now obsolete due to very small storage capacity.
๐จ️ TASK 2: PRINT – From Screen to Paper
๐ Printer Basics
Definition: A printer outputs text, numbers, images, or photos from your screen onto paper.
Connection: Usually connected via USB cable.
Requirements:
Computer must be connected to printer
Printer must be turned on
Materials: Print on various paper sizes, stickers, or envelopes.
๐จ️ Types of Printers
✨ Inkjet Printer
Most common type
Uses 4 inks: cyan, yellow, magenta, black
Sprays ink drops to create images
Very affordable printers
Needs special photo paper for perfect photos
⚡ Laser Printer
Uses laser rays for printing
Very high speed & print quality
Now available in color (was B&W only)
More expensive than inkjet
Prints hundreds of pages very fast
๐งพ Thermal Printer
Found in shops, supermarkets, restaurants
Prints receipts on special long, narrow paper
Usually prints black text only
๐️ Professional Printers
Dot Matrix: Oldest type; prints multiple copies simultaneously but low quality (rarely used now)
Plotter: Biggest printer type; used for architectural plans & large banners; evolved from pen-based to inkjet
๐ก Smart Tip: Recycle paper, ink, and toner cartridges to protect the planet. Refill empty ink cartridges to save money!
❓ Hands On! – Quick Quiz
✅ If you were an architect, you would use a plotter.
❌ An inkjet printer uses cyan, yellow, magenta, and black (not just black, white, red).
✅ You can print many copies at once using a dot matrix printer.
✅ A laser printer is more expensive than an inkjet printer.
✅ Shops print receipts using thermal printers.
❌ Inkjet printers are cheap to buy, but their ink can be expensive.
✅ High-quality printing is a feature of laser printers.
๐ฅ Video Camera
Definition: A recording device used to capture motion pictures.
Storage Evolution:
Past: Videotapes and optical discs
Present: Memory cards (easy transfer to computers)
Device Evolution:
First cameras: Big, heavy, low quality
Modern cameras: Small, easy to use, record hours on tiny cards, some support night recording
๐ History Fact: John Logie Baird created the first video cameras, and the BBC used them in experimental broadcasts in the 1930s.
๐️ TASK 3: CAPTURE – Capture the Present, Preserve for the Future
๐ค Microphone
Function: Captures sound waves (like your voice) and converts them to digital form
Usage: Recordings saved as audio files for later listening or emailing
Applications: Telephones, smartphones, video recorders, karaoke, movie production, radio/TV
Chatting: Use mic to speak + headphones to listen when video calling
๐น Web Camera (Webcam)
Function: Feeds live video/images into a computer in real time
Capabilities: Record clips, save, email, or upload to Internet
Features: Many have integrated mics; some wireless; built into many laptops/monitors
Advanced Uses:
"Magic Mirror" for virtual try-ons
Telecommuting / remote work
Security cameras
๐ Named after the World Wide Web – mostly used when online!
๐ท Digital Camera
Function: Image capture device for high-definition photos
Technology: No film – preview photos instantly on screen
Storage: Uses memory cards
Nickname: "Digicam"
Workflow: Transfer to computer via memory card for editing
Modern Integration: Built into smartphones & tablets for casual "snapshot" photography + video/audio
๐ฏ Hands On! – Activities & Matching
Device
Best Used For
๐ค Microphone
Recording your voice
๐ฅ Video Camera
Capturing events like a birthday party
๐น Webcam
Video calling a friend
๐ท Digital Camera
Taking photographs on your holiday
๐ญ Reflection Questions
Which of these capture devices do you have at home?
Which of these capture devices do you have at school?
๐ง Quick Storage Quiz
To transfer a game from computer to tablet → Memory card
DVDs are the evolution of → CDs
Easiest ways to store data → Memory cards, USB flash, or CDs
To store a movie → External hard disk drive (CDs lack space)
Inside a digital camera you'll find → Memory card
๐ Study Tip: Review each device's purpose, advantages, and real-world applications for better retention!
๐ Master GCE O/L A/L ICT | Your IT Degree with Expert Guidance!
Online Individual & Group Classes in English | Sinhala | Tamil
Struggling with assignments, projects, or exams? Get personalized support tailored for BIT (University of Moratuwa), UCSC, and other IT degree students in Sri Lanka.
AL ICT | Unit 4 | Boolean Logic and Digital Circuit | English Medium
๐ What is a K-Map?
A Karnaugh Map (K-Map) is a visual method to simplify Boolean algebra expressions. It helps you minimize logic circuits by grouping adjacent cells.
๐ก Key Concepts:
SOP (Sum of Products): Group all 1s in the K-map
POS (Product of Sums): Group all 0s in the K-map
Always group in powers of 2: 1, 2, 4, 8, 16...
Groups can wrap around edges!
Example 1: POS Method (Product of Sums)
F = (A + B' + C + D') · (C)
Step-by-Step Solution:
1Identify the Form: This is in POS (Product of Sums) form because we have products (·) of sum terms.
2Convert to Binary:
F = (0 1 0 1) · (0)
Where: A=0, B'=1, C=0, D'=1 for first term
C=0 for second term
3Fill the K-Map: For POS, we mark 0s where the function is false.
AB \ CD
00
01
11
10
00
0
0
0
0
01
0
0
0
0
11
0
0
1
0
10
0
0
0
0
4Group the 0s: We can group ALL zeros together because C=0 in all cases.
5Write Simplified Function:
Result: F = C Explanation: A, B, and D are changing in the group, but C remains constant (C=0), so F = C
๐ Note: In SOP method, we would group 1s instead, but we'd get the same result: F = C
Example 2: SOP Method (Sum of Products)
F = (A'C'D) + (A'BD) + (BCD) + (ABC) + (ACD')
Step-by-Step Solution:
1Convert to Binary Values:
F = (001) + (011) + (111) + (111) + (110)
Note: If variable not defined, check with 0 and 1
2Fill the K-Map with 1s:
AB \ CD
00
01
11
10
00
0
1
1
0
01
0
0
1
0
11
0
1
1
1
10
0
0
0
0
3Group the 1s (SOP Method):
Group 1: A'C'D (cells with A=0, C=0, D=1)
Group 2: BCD (cells with B=1, C=1, D=1)
Group 3: ACD' (cells with A=1, C=1, D=0)
4Final Simplified SOP:
F = A'C'D + BCD + ACD'
5POS Method (Group 0s):
F = (A' + C) · (A + D) · (B + C' + D')
Example 3: Special Cases - All 1s or All 0s
F = (A·B) + (AB') + (A'B) + (A'B')
1Convert to Binary:
F = (00) + (01) + (10) + (11)
This covers ALL possible combinations!
2Fill K-Map:
A \ B
0
1
0
1
1
1
1
1
Result: Since ALL cells are 1, F = 1 (always true) Rule: If all cells are 0, then F = 0 (always false)
๐ K-Map Don't Care Condition
Real-World Example: Street Light Control
Problem: Street light should be ON when it's Night OR when the environment gets darker.
Variables:
X = Night time (1 = night, 0 = day)
Y = Environment dark (1 = dark, 0 = bright)
Z = Light output (1 = ON, 0 = OFF)
1Create Truth Table:
X (Night)
Y (Dark)
Z (Light)
Remark
0
0
0
Day + Bright = OFF
0
1
1
Day + Dark = ON
1
0
1
Night + Bright = ON
1
1
1
Night + Dark = ON
2Initial Function:
Z = X + Y
Z is NOT dependent on certain conditions - this creates "Don't Care" situations.
3Don't Care Scenario:
Example: In Asian countries near the equator, it's always bright during the day.
So we can remove X (night variable) in some cases. Simplified: Z = Y (only depends on darkness)
4K-Map with Don't Care (X):
X \ Y
0
1
0
0
1
1
1
X
X = Don't Care (can be 0 or 1, whichever helps simplification)
✅ Advantages of Don't Care Conditions:
Greater Simplification: More flexibility in grouping
Reduced Circuit Cost: Fewer gates needed
Optimization: Can choose 0 or 1 to make larger groups
Original: F = (A'B') + (AB) + (B'C')
Alternative: F = (A'B') + (AB) + (AC')
Both are valid, but check which gives better simplification!
Issue 2: Matrix Size Problems
Example: 2×2 and 2×8 matrices
F = (A'D) + (A'B'C) + (BC'D) + (B'CD)
1Common Problems:
Difficulty visualizing 4-variable maps
Confusion with Gray code ordering (00, 01, 11, 10)
Missing wrap-around groupings
Not getting minimized simplification
๐ก Solution Tips:
Always use Gray code sequence for labeling
Remember: edges wrap around (top-bottom, left-right)
Make largest possible groups first
Allow overlapping groups if needed
Verify your answer with Boolean algebra
๐ Quick Reference Guide
SOP (Sum of Products)
Group all 1s
Result is OR of AND terms
Example: F = AB + CD + EF
Use when output is mostly 1
POS (Product of Sums)
Group all 0s
Result is AND of OR terms
Example: F = (A+B)(C+D)
Use when output is mostly 0
Grouping Rules:
Group Size
Variables Eliminated
Example
1 cell
0 variables
ABC (no simplification)
2 cells
1 variable
AB (C eliminated)
4 cells
2 variables
A (B,C eliminated)
8 cells
3 variables
1 (all eliminated)
๐ฏ Practice Tips for Beginners
1Start Simple: Begin with 2-variable K-maps before moving to 3 or 4 variables.
2Check Your Work: Always verify simplified expression with truth table.
3Look for Patterns: Practice recognizing common groupings quickly.
4Use Don't Cares: Mark X's clearly and use them strategically.
5Double-Check: Ensure all 1s (or 0s) are covered in your groups.
๐ You're Ready to Master K-Maps!
Practice with different examples and soon you'll simplify Boolean expressions like a pro!
๐ Master GCE O/L A/L ICT | Your IT Degree with Expert Guidance!
Online Individual & Group Classes in English | Sinhala | Tamil
Struggling with assignments, projects, or exams? Get personalized support tailored for BIT (University of Moratuwa), UCSC, and other IT degree students in Sri Lanka.
EduManage Pro is a modular, web-based Learning Management System (LMS) designed to manage users, courses, assignments, assessments, and communication. It utilizes an Object-Oriented Programming (OOP) approach with a Modular MVC-Lite architecture.
Core Philosophy
Modular Design: Features are self-contained within specific module folders (e.g., modules/course/, modules/user/).
Separation of Concerns:
UI (View): PHP files rendering HTML/Bootstrap.
Actions (Controller): Scripts handling data logic and form processing.
Classes (Model): Business logic and database interaction.
Security by Design: Implementation of PDO prepared statements, Bcrypt encryption, and Role-Based Access Control (RBAC).
Role-Based Access: System access is controlled based on user roles (Admin, Teacher, Student, Parent).
2. Architecture & Design Pattern
The system follows a Model-View-Controller (MVC) Lite pattern tailored for PHP.
Architectural Layers
The Data Layer (Model): Located in includes/classes/. Each file represents a real-world entity (e.g., User.php, Course.php).
The Logic Layer (Controller): Located in modules/[module]/actions/. These scripts process form submissions (POST requests) and interact with the Classes.
The Presentation Layer (View): Located in the module root folders. These are the PHP files rendered in the browser.
Fundamental Data Flow
Request: User interacts with a UI file (e.g., form.php).
Action: Form submits data to an action script (e.g., save_action.php).
Class: Action script instantiates a Class and calls a method (e.g., Course->update()).
Database: Class uses PDO to execute SQL on MySQL.
Response: User is redirected back to a UI file with a status message.
Diagram Note: The following Mermaid code represents the General Request Lifecycle. To visualize this, copy the code into a Mermaid live editor or ensure your Blogger theme supports Mermaid JS.
sequenceDiagram
participant User
participant UI as View (modules/course/form.php)
participant Action as Controller (actions/save_action.php)
participant Class as Model (includes/classes/Course.php)
participant DB as Database (MySQL)
User->>UI: Fills Form & Clicks Submit
UI->>Action: POST Data
Action->>Action: Validate Input & Check Permissions
Action->>Class: Instantiate Course($db) & Call create()/update()
Class->>DB: Execute PDO Prepared Statement
DB-->>Class: Return Result
Class-->>Action: Return Success/Failure
Action->>UI: Redirect (header("Location: ..."))
UI-->>User: Display Success Message
3. Global Directory Structure
The project is organized into four main directories:
Directory
Purpose
assets/
Static files: Global CSS (style.css), JavaScript libraries, and Icons.
includes/
The Core: Database connection, Header/Footer/Sidebar, and Core Classes (classes/).
modules/
The Features: Every system feature (Course, Student, User, etc.) has its own sub-directory here.
uploads/
Storage: Sub-folders for avatars, course materials, assignment submissions, and recordings.
Key Files in includes/
header.php: Included in every page. Initializes sessions, database connection ($db), and checks user permissions via the Role class.
sidebar.php: Generates the navigation menu dynamically based on $_SESSION['user_role_id'].
footer.php: Standardized page footer and JavaScript inclusions.
classes/: Contains PHP classes handling business logic.
4. Core Classes (includes/classes/)
These files contain the business logic. For every major feature, there is a corresponding class.
Class File
Purpose
Database.php
Singleton-style PDO connection management.
User.php
Authentication, registration, profile updates, and encryption.
Course.php
CRUD for courses, instructors, and module synchronization.
Assessment.php
Base class for quizzes and assignments.
Quiz.php
Handles quiz creation, questions, and attempt submissions.
Assignment.php
Manages assignment creation and file attachments.
Gradebook.php
Central logic for retrieving and saving student scores.
Enrollment.php
Connects students to courses; tracks status.
Analytics.php
Aggregates system-wide data for dashboard visualization.
LiveClass.php
Handles scheduling and recording links for live sessions.
Message.php
Logic for private messages and forum threads/posts.
Guardian.php
Manages the student-parent relationship.
Role.php
Manages permissions and feature access for user types.
5. Module Breakdown (Granular Guide)
Each module follows a consistent structure: UI Files (Views) and Action Files (Controllers).
A. User Management (modules/user/)
Responsible for accounts, authentication, and role-based access.
This section details the specific engineering behind user registration, highlighting security and data integrity.
Diagram Note: Copy the code below into a Mermaid renderer to visualize the User Registration Flow.
flowchart TD
A[User fills register.php] -->|POST Data| B[actions/user_register.php]
B --> C{Validation Check}
C -->|Fail| D[Return Error JSON]
C -->|Pass| E[Check Uniqueness]
E -->|Email Exists| D
E -->|Unique| F[Call User->register($data)]
F --> G[Begin SQL Transaction]
G --> H[Insert into 'users' table]
H --> I{Insert Success?}
I -->|No| J[Rollback Transaction]
I -->|Yes| K[Insert into 'user_profiles' table]
K --> L{Insert Success?}
L -->|No| J
L -->|Yes| M[Commit Transaction]
M --> N[Hash Password via Bcrypt]
N --> O[Redirect to Login]
Data Storage (uploads/)
Files uploaded by users are stored in specific sub-directories:
PDO Prepared Statements: Never write raw SQL in UI files. Always use :placeholder in Classes to prevent SQL Injection.
// Correct Usage in Class
$query = "SELECT * FROM users WHERE email = :email";
$stmt = $this->conn->prepare($query);
$stmt->bindParam(':email', $email);
Transactions: Use SQL transactions for multi-table operations (e.g., users and user_profiles) to prevent orphaned data.
2. Input/Output Security
XSS Prevention: Always wrap echoed user data with htmlspecialchars().
Lookup: Calls $user->emailExists() and $user->usernameExists() to ensure uniqueness.
File Handling: If a profile photo is uploaded, it is moved to uploads/profile/ and a record is created in the files table.
Class Layer (includes/classes/User.php):
The action script calls $user->register($data).
Transaction: The class uses $this->conn->beginTransaction() to ensure that both the users and user_profiles tables are updated, or neither is (Atomicity).
Persistence (SQL): The class uses prepared statements to insert data safely.
B. Coding Style & Security
1. Encryption (Password Security)
We use the industry-standard PASSWORD_DEFAULT (Bcrypt) algorithm.
Saving: When registering, we use password_hash($password, PASSWORD_DEFAULT).
Verifying: During login, we fetch the hash from the DB and use password_verify($entered_password, $stored_hash).
// Sample from User.php
$password_hash = password_hash($data['password'], PASSWORD_DEFAULT);
// ... later in login() ...
if ($user && password_verify($password, $user['users_password_hash'])) {
return $user; // Success
}
2. Database Operations (CRUD)
INSERT: Performed in register() using a transaction.
SELECT: Performed in getAllUsers(). Uses LEFT JOIN to combine users, user_profiles, and roles tables.
UPDATE: Performed in updateUser(). Updates core account and profile details separately.
DELETE: We use Soft Deletes. Instead of removing the row, we set users_deleted_at = NOW(). This allows for data recovery.
SORT: Handled via SQL ORDER BY u.users_created_at DESC and UI-side using DataTables (jQuery) for real-time sorting.
3. Data Validation
Validation happens in the Action script before bothering the database:
if (empty($data['email']) || empty($data['password'])) {
$response['message'] = 'Required fields are missing.';
echo json_encode($response);
exit;
}
C. Example: Database Interaction Component
The code uses PDO (PHP Data Objects) with named placeholders like :email to prevent SQL Injection attacks.
$query = "SELECT users_id FROM users WHERE users_email = :email";
$stmt = $this->conn->prepare($query);
$stmt->bindParam(':email', $email);
$stmt->execute();
๐งฉ Core Classes Overview
Class
Purpose
Database
Manages the PDO connection
User
Handles authentication, profile management, and permissions
Course
Manages course creation, updates, and materials
Analytics
Fetches dashboard statistics and logs recent activity
Enrollment
Tracks which students are in which courses
Role
Manages permissions and feature access for different user types
๐ Modules & Data Flow
Each module follows a consistent structure. Let's look at the Course Module as an example:
Module Structure (modules/course/)
courses.php - Displays a list of all courses
form.php - UI for adding or editing a course
enrollment.php - Manages student lists for a course
actions/ - Contains scripts like course_save_action.php which handle the actual database saving
How Data Flows (Example: Saving a Course)
User Input: User fills out the form in modules/course/form.php.
Submission: The form submits data via POST to modules/course/actions/course_save_action.php.
Processing: The action script creates a new Course($db) object and calls $course->update() or $course->create().
Persistence: The class interacts with the MySQL database via PDO.
Feedback: The script redirects the user back to courses.php with a success message.
๐ Beginner's Tips
✅ Start at header.php: If you want to understand how the system starts up or how security works, look here.
✅ Check Database.php: Make sure your DB credentials are correct if you're setting this up locally.
✅ Follow the Sidebar: Look at includes/sidebar.php to see how the menu items link to different modules.
✅ Use the Classes: Never write raw SQL in your UI files. Always add a method to the relevant class in includes/classes/.
Generated for EduManage Pro LMS Beginners Guide
Comprehensive Technical Documentation v4.0
๐ Master GCE O/L A/L ICT | Your IT Degree with Expert Guidance!
Online Individual & Group Classes in English | Sinhala | Tamil
Struggling with assignments, projects, or exams? Get personalized support tailored for BIT (University of Moratuwa), UCSC, and other IT degree students in Sri Lanka.
Welcome to the world of blogging! This guide is designed for students and beginners who want to learn everything about Google Blogger, from creating an account to earning money.
1. Getting Started: Account & Login
What is Google Blogger used for? It is a free platform provided by Google that allows you to publish your thoughts, stories, and articles on the internet. It is perfect for personal diaries, news sites, or educational blogs.
Use your existing Gmail address (Google Account) to log in. If you don't have one, click "Create account".
Once logged in, you will see the Blogger Dashboard.
2. How to Create a Blog for Free
Is Google Blogger free to use? Yes, it is 100% free. Follow these steps to launch your site:
Click "New Blog": On the dashboard, click the arrow next to the red "New Blog" button.
Title: Enter a catchy name for your blog (e.g., "John's Tech Reviews").
Address (URL): This will be your website link (e.g., johnstech.blogspot.com). It must be unique.
Template: Choose a basic design (like Contempo or Soho) to start. You can change this later.
Click "Save": Your blog is now live!
3. Posts vs. Pages
Beginners often confuse these two. Here is the difference:
Blogger Post: These are your daily articles, news, or stories. They appear in reverse chronological order (newest first). Examples: "My Trip to Paris," "How to Bake a Cake."
Pages: These are static content that doesn't change often. Examples: "About Us," "Contact Me," "Privacy Policy."
How to Write a Blogger Post
Click "New Post" on the left menu.
Title: Write a clear title.
Body: Write your content. You can add images, videos, and format text (Bold, Italic) using the toolbar.
Labels: Add tags (categories) on the right side to organize your posts.
Publish: Click the orange "Publish" button to make it live.
4. Settings, Status, and SEO
Blog Status
In the Settings menu, you can control your blog's visibility:
Visible to search engines: Keep this ON so people can find you on Google.
Visible to readers: If you turn this OFF, your blog becomes private.
Basic SEO (Search Engine Optimization)
SEO helps your blog appear in Google Search results.
Meta Description: In Settings > Search Preferences, enable "Meta tags" and write a short description of what your blog is about.
Keywords: Use words in your title and post that people might search for.
Permalinks: When writing a post, set a "Custom Permalink" on the right side to make your URL short and clean (e.g., .../best-pizza-recipe).
5. Can You Earn Money with Blogger?
Can Google Blogger earn money? Yes! However, it requires hard work and consistency.
How to Monetize
Google AdSense: This is the most popular way. Google shows ads on your blog, and you get paid when people view or click them. You usually need 20-30 high-quality posts before applying.
Affiliate Marketing: You recommend products (like Amazon) and get a commission if someone buys through your link.
Sponsored Posts: Companies pay you to write about their products.
Important Note on Earnings: Many students ask, "How do I make $100 per day with Google AdSense?" or "Which is the No. 1 money earning app?"
There is no "magic app" that pays you instantly. Making $100/day requires a blog with thousands of daily visitors. It takes time (6 months to 1 year) to build that traffic. Be patient and focus on writing good content first.
6. People Also Ask (FAQ)
Is Blogger 100% free?
Yes. Hosting, templates, and the subdomain (.blogspot.com) are completely free. You only pay if you choose to buy a custom domain name (like .com).
How to blog for free?
Simply sign up with a Gmail account at Blogger.com. You do not need to pay for hosting or software.
Who is the richest Blogger?
While rankings change, names like Arianna Huffington (HuffPost) and Michael Arrington (TechCrunch) are often cited as some of the highest-earning bloggers in history, making millions annually.
How much does Google pay for 1000 views on a blog?
This varies wildly based on your niche and location. On average, RPM (Revenue Per Mille) can range from $1 to $10 for every 1,000 views. Finance blogs pay more; entertainment blogs pay less.
What is the Blogger App?
The Blogger App (available on Android and iOS) allows you to write posts, upload photos, and check stats directly from your phone without needing a computer.
Start your journey today! Remember, the best time to plant a tree was 20 years ago. The second best time is now.
๐ Master GCE O/L A/L ICT | Your IT Degree with Expert Guidance!
Online Individual & Group Classes in English | Sinhala | Tamil
Struggling with assignments, projects, or exams? Get personalized support tailored for BIT (University of Moratuwa), UCSC, and other IT degree students in Sri Lanka.
Tags: #BIT #UCSC #UniversityOfMoratuwa #ITClassesSriLanka #PHPProject #MySQL #FinalYearProject #OnlineTuition #SinhalaMedium #TamilMedium #ProgrammingHelp #WebDevelopment
๐ **Grow Your Business with Professional Digital Solutions**
Are you looking to expand your business globally and improve your online presence? I provide professional services designed to help businesses and students succeed in the digital world.
๐ผ **My Services**
๐ **Social Media Marketing**
Strategic marketing campaigns to grow your brand, reach targeted audiences, and increase engagement across major platforms.
๐ป **Software Development**
Custom software solutions for businesses, automation systems, and web applications tailored to your requirements.
๐ **Website Development**
Modern, responsive, and SEO-optimized websites for businesses, startups, and personal brands.
๐ **Online ICT & Other Subject Classes**
Professional online classes for students in ICT and other subjects with practical knowledge and exam-focused guidance.
✨ **Why Choose My Services?**
✔ Modern digital solutions
✔ International client support
✔ Affordable pricing
✔ Professional and reliable service
๐ฉ **Let’s Work Together!**
If you need digital solutions or online learning support, feel free to contact me.
๐ฑ **Contact:** Amithafz
๐ **WhatsApp / Mobile:** +94 72 962 2034
#DigitalMarketing #SocialMediaMarketing #SoftwareDevelopment #WebsiteDevelopment #WebDesign #OnlineLearning #ICTClasses #BusinessGrowth #FreelanceServices #TechSolutions