Start with the job, not the model
“Reduce reply-handling time” gives you something to measure. “Use AI everywhere” does not. Compare against the current process and a simpler non-AI option.
Course you opened
Forasm picks
Current English-language offers rated 4.2+ on Udemy, across work and tech subjects. Coupons first; no more than four picks from one subject in All. Practice-test-only and malformed listings are excluded. Ratings aren’t a Forasm course review or a ranking of every course on the web.
Forasm field notes
Compare Excel and SQL, read your first CSV, build a page, or check an AI draft.
Use a spreadsheet when you need to inspect a small table, change a few inputs and explain a result to someone else. Learn SQL when you need to ask repeatable questions of database tables. You do not need to master both before making your first useful report.
| Product | Sales |
|---|---|
| Tea | 40 |
| Coffee | 25 |
| Tea | 60 |
The whole table adds to 125. Tea alone adds to 100. In Excel, with headers in row 1 and these values in A2:B4, use =SUMIF(A2:A4,"Tea",B2:B4). Some regional settings use semicolons instead of commas.
SELECT product, SUM(sales) AS total
FROM sales
GROUP BY product;
-- Coffee: 25; Tea: 100
The trap:
COUNT(*) counts rows, not sales. A join can also duplicate an order when the matching key is not unique. Check how many rows you have before and after joining; do not use SUM(DISTINCT sales) to hide duplicated joins, because two genuine sales can have the same value.
Look for in a course: cleaning source rows, formulas or filtering, grouped totals, and an explanation of incorrect results—not just a polished dashboard. Check which Excel version it uses before installing anything; access to a course does not include a desktop software licence.
References: Microsoft · SUMIF; PostgreSQL · Aggregates.
Python is useful when the same file task keeps returning: reading exports, changing a format or calculating a repeatable summary. If you have never written code, start with variables, conditions, loops and functions. A machine-learning course that assumes those skills is not a substitute for the foundations.
Save the sales table from the Excel note as sales.csv, with the header Product,Sales. Put this script in the same folder and run it with Python 3. It uses the built-in CSV library, so this example needs no extra packages or API key.
import csv
with open("sales.csv", newline="", encoding="utf-8") as source:
rows = list(csv.DictReader(source))
tea_total = sum(
int(row["Sales"]) for row in rows
if row["Product"] == "Tea"
)
print(tea_total) # 100
Change one thing: replace the final Tea sale of 60 with 70. The answer should become 110. If it stays at 100, check that you saved and opened the same file. If a value is blank or not an integer, this small script will raise an error; do not silently turn bad financial data into zero.
Choose lessons that show: how to run a file, read an error, inspect an input and write a small function. An AI-generated script can still be wrong. Before automating a real folder, test on copies and print the proposed changes first.
Reference: Python · CSV reader and DictReader.
A good first website is small enough to finish: a page for a local service, a portfolio project or an event. Write down its one job. Someone viewing a service page should be able to understand the offer and find a working contact link without decoding a menu of features.
A useful finish line: open the page at a narrow phone width and on a laptop, use it with the keyboard, and check that its links work. Zoom in and read the main content. A screenshot that looks good at one width is not enough.
Skip for now: a framework comparison, a paid hosting plan and a large component library. You can build a first local HTML page with a text editor and a browser. A design-tool course teaches a different part of the work; a beautiful mockup does not automatically become a working, accessible page.
Reference: MDN · Your first website.
Start with a low-risk task whose answer you can check: turning your own meeting notes into a draft action list, or summarising a public document with source references. Keep private customer or employee information out of tools unless your organisation has approved the environment and its data handling.
Using only these notes, list each action, its owner and its due date. Quote the note that supports each action. Write “not stated” when an owner or date is missing. Do not invent a commitment.
Then check: open each quoted source, confirm the owner and date, and compare the draft with the original. A fluent answer or a citation-shaped link is not evidence that a claim is true. Keep sending, refunds and account changes outside a beginner workflow.
For a fictional team, 100 replies at eight minutes each take 800 staff-minutes. If drafting takes three minutes and review takes another three, the new total is 600 minutes—not 300. The illustrative saving is 200 minutes before setup, tool and monitoring costs. Measure the whole job before calling the workflow an improvement.
Choose a course for the work you need: everyday AI use, workflow automation and model development have different prerequisites. Check whether the lessons need a paid tool, API credits or local hardware. “Free course” describes access to lessons, not every service used in them.
Reference: NIST · AI Risk Management Framework. The prompt and time calculation are Forasm teaching examples, not a safety certification.
Forasm editorial · Examples and references checked . These notes are independent of the courses listed above; provider ratings are not our hands-on reviews.
AI strategy & governance
Work through a small pilot before committing to a big rollout.
See it in action
A fictional support team wants to save time. Compare what each idea would actually change.
A bounded pilot to investigate
The output is a draft. Staff can compare it with the order facts and policy before anything reaches a customer.
No automatic sending, refunds or changes to an account.
Try a routine delay, a missing order ID, conflicting policy and a refund request. Record corrections as well as time.
Work the numbers
Fictional timing for 100 replies. Tool, setup and monitoring costs are not included.
The essentials
“Reduce reply-handling time” gives you something to measure. “Use AI everywhere” does not. Compare against the current process and a simpler non-AI option.
Drafting faster is useful only if checking and correcting the draft does not eat the saving. Measure the whole task, not just model response time.
Name the person who can pause the pilot, the errors that trigger a pause, and the manual process the team returns to. A reviewer needs time, information and the ability to reject the output.
Keep something useful
A filled example plus a blank version. No account needed.
Only if the draft takes three minutes AND needs no further work. In this example, three minutes of review reduce the saving to two minutes.
Approval is weak if the person cannot see the source policy or is expected to rubber-stamp every draft. Test the review process too.
A small test can reveal problems; it cannot establish safety across every user, exception or change in the system.
Go deeper
Related resources, not a requirement to use the example.
Excel · reliable totals
Make a tiny total you can verify by hand. Then trust your dashboard a little more.
See it in action
Edit one sample sale. The source total and the Tea-only total update together.
| Product | Sales |
|---|---|
| Tea | 40 |
| Coffee | 25 |
| Tea |
Change the highlighted sale.
Tea only
10040 + 60 = 100
All sales: 125
Enter a number from 0 to 10000.
=SUMIF(A2:A4,"Tea",B2:B4)This demo calculates locally. It is not connected to your spreadsheet.
The essentials
Use a header row, one product column and one numeric sales column. Do not insert a subtotal into the same source rows that a formula will add.
SUMIF matches “Tea” in A2:A4 and adds the corresponding B cells. Both ranges need to line up. The expected answer here is 40 + 60 = 100.
If a chart is filtered to Tea, compare it with the Tea total—not the whole table. Check source range, selected category and whether new rows were included.
Keep something useful
Three fictional sales. Paste the formula into a separate cell.
125 includes Coffee. Check the chart’s category selection before changing the formula.
Check whether its source range includes the new row. An Excel Table can help maintain a growing source range.
Keep summary cells outside the source rows, or they may be counted again.
Go deeper
Related resources, not a requirement to use the example.
SQL · grouping & joins
Follow three orders through a GROUP BY—and see how a join can quietly inflate them.
See it in action
The query works until each order joins to two matching customer records. Switch the example to see why.
| customer | amount |
|---|---|
| Maya | 40 |
| Omar | 25 |
| Maya | 60 |
SELECT customer, SUM(amount) AS total
FROM orders
GROUP BY customer
ORDER BY customer;Without a join
3 source rows → 3 rows to sum. Every order is counted once.
| customer | amount | record |
|---|---|---|
| Maya | 40 | A |
| Maya | 40 | B |
| Omar | 25 | A |
| Omar | 25 | B |
| Maya | 60 | A |
| Maya | 60 | B |
Toy names keep the example short. Use a stable key and check its uniqueness in a real system.
The essentials
Here, one row is one order. If another table contains two records for the same customer ID, joining it can create two rows for each order.
Maya has 40 + 60 = 100. Omar has 25. The grouped results must add back to 125 when all orders are included exactly once.
Check join keys and whether the matching side is unique at the intended grain. SUM(DISTINCT amount) is not a repair: two genuine orders may have the same amount.
Keep something useful
Self-contained PostgreSQL practice query. No real customer data.
The database checks syntax and types, not whether you intended to count every order twice.
That can remove legitimate equal-value orders as well as duplicates. Fix how rows match.
Use ORDER BY when output order matters; GROUP BY alone does not promise presentation order.
Go deeper
Related resources, not a requirement to use the example.
This topic link is incomplete or unavailable.
Browse courses →