Sunday, August 9, 2026

HTML格式?

近这几个月,我们努力尝试运用AI,编写不同科目的试题/自学习题。但,一开始,我们坚持,编写的语言必须是HTML(Hyper Text Markup Language, 中文称为超文本链接)而不是一般的谷歌表格或Wayground或其他的平台。

        原因无他,就因为新生代都几乎是数码原住民,以及必须要支援流动器材的互动特性。新生代几乎每天都有屏幕时间,但屏幕时间,应由有意义的学习或娱乐支配,而不是没脑的盲目浏览,浪费生命。当然,偶尔的娱乐是没有错的。

        使用AI生成的HTML文档,基本上,就是AI的强项。只要指示清晰,生成好的HTML并不困难。当然,还有一些原因的:

可以随时改进:拥有基本的HTML后,网页可以随时提升。试题的内容,试题的选项,水平,呈现方式,可以透过AI的运用,随时有所提升或改变。

可以嵌入学校网页 Site:学校的SITE,不应该只是停留在老师使用。能不能开放让家长和学生也运用呢?当然,与社媒相比的话,SITE的显得单调许多了。

跳脱版权,扩大使用祝福更多需要的人,资源共享:有的学校资源丰富,有的学校资源不足。拉上补下的话,不仅可以公平善用,也可以在某种程度上,让孩子们不分学校大小,有不一样的体验。

        如果有兴趣了解一些样本的话,欢迎点击浏览以下页面:

华小456年级华语成语、谚语增广/辅助习作

华小1到6年级科学自习角落(1到5年级是全年,试题较少;6年级也是全年,但试题较多)

华小4到6年级国语自学角落

华小4到6年级英语自学角落

浏览后,你或许有疑问:这些单独存在的网页,怎么都没有校徽,都没有学校特征。

其实,背后有故事的:

  • 资源共享,其实不需要凸显学校的。这样方便资源继续被开发,功劳也不归任何学校。
  • 要加上学校特色的话,或许又要经过学校管理层的批准,基于种种官僚体系下,我是不建议了。毕竟有的校长,可能连摆设或颜色的运用都要插手。那实在是没有必要的过程。
  • 既然不代表任何学校,换句话说,任何学校都不必担心被放大或被针对。就当时网络开发者研发的成果,大家都可以使用。这么简单就好了。

Saturday, August 8, 2026

1年究竟开会多少次?

有没有人想过,

一所中小型学校,

每年平均有多少场会议呢?

就拿一年最低190天上课日来计算的话,

基本的会议次数如下:

3到4次的教师会议 Mesyuarat Guru

3到4次的Kurikulum会议

12个学科的3到4次的会议(1年3次的话,36次;1年4次的话,48次)

3到4次的HEM 会议

里面的各种小AJK会议

3到4次的的KOKO会议

全校的制服团体数量 X 3到4次的会议

全校的运动团体数量 X 3到4次的的会议

全校的学会团体数量 X 3到4次的的会议

一次统计下来分析如下:

KURIKULUM开会4次

12个学科开会4次

HEM开会4次

HEM的AJK开会4次

KOKO开会4次

有2个制服团体开会4次

2个学会开会4次

2个运动开会4次

4 + 48 + 4 + 4 + 4 + 8 + 8 + 8 = 88次

如果有先见,缩减到1年三次的话,
3 + 36 + 3 + 3 + 3 + 6 + 6 + 6 = 66次


留意学校的会议总次数,
在190天上课天的平均值相除的话
每天需要开会多少次呢?

Thursday, August 6, 2026

云端版的统一会议通知信件系统?

我有个小小梦想:

        每一所学校,有个全校统一的,云端版的会议通知信系统。

系统中,随时可以提前记录/输入:

  • 会议名称、会议发信日期、会议日期、会议时间、会议地点、会议负责人、会议的AJK、会议负责人(一般是秘书啦)
  • 要打印的话,点选会议名称,即可打印,加上教师名单,highlight好涉及的老师,即可准备签名使用。
多年后,梦想成真。好处:
  • 再也不必局限于学校里的电脑前-人身自由
  • 再也不必付费他人处理-财务自由
  • 新老师不必仰脸看老臣子的脸色-杜绝职场欺凌机会
  • 老臣子也不必头痛不舍得分享格式-摆脱恶俗
  • 一举统一学校各阶层会议通知格式设置-整顿校风
  • 任何新老师,获取权限即可直接使用-降低门槛、化解障碍
  • 离开的老师,权限改变为浏览即可-凡事留一线
  • 随时可以复制成为其他学校使用-祝福他人
  • 在复制后,加上一页自己学校教师名单后,一并打印即可。十分方便
  • 可与OPR中的4P看板结合。
  • 符合SK@S 的会议记录要求
  • 符合 PBPPP 会议通知要求。

点击这里浏览会议通知信件系统

(File > Make a copy即可直接拥有。收着带不走)

主赐福

Tuesday, August 4, 2026

五年级历史-独立过程

<!DOCTYPE html>
<html lang="zh-MY">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>马来西亚独立历史练习 (TP1 - TP6)</title>
    <style>
        :root {
            --primary-color: #1e3a8a;
            --secondary-color: #2563eb;
            --correct-color: #16a34a;
            --wrong-color: #dc2626;
            --bg-color: #f8fafc;
            --card-bg: #ffffff;
            --text-color: #1e293b;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: var(--bg-color);
            color: var(--text-color);
            line-height: 1.6;
            padding: 20px;
            margin: 0;
        }

        .quiz-container {
            max-width: 800px;
            margin: 0 auto;
        }

        .header {
            text-align: center;
            background: var(--primary-color);
            color: white;
            padding: 20px;
            border-radius: 10px;
            margin-bottom: 25px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }

        .header h1 {
            margin: 0 0 10px 0;
            font-size: 1.8rem;
        }

        .header p {
            margin: 0;
            font-size: 0.95rem;
            opacity: 0.9;
        }

        .question-card {
            background: var(--card-bg);
            border-radius: 10px;
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
            border: 1px solid #e2e8f0;
        }

        .tp-badge {
            display: inline-block;
            background: #e0e7ff;
            color: var(--primary-color);
            font-weight: bold;
            padding: 4px 12px;
            border-radius: 15px;
            font-size: 0.85rem;
            margin-bottom: 10px;
        }

        .question-text {
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 15px;
        }

        .options-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .option-item {
            margin-bottom: 10px;
        }

        .option-item label {
            display: block;
            padding: 12px 15px;
            background: #f1f5f9;
            border: 2px solid #e2e8f0;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .option-item label:hover {
            background: #e2e8f0;
        }

        .option-item input[type="radio"] {
            margin-right: 10px;
        }

        .check-btn, .submit-btn {
            background: var(--secondary-color);
            color: white;
            border: none;
            padding: 12px 24px;
            font-size: 1rem;
            border-radius: 8px;
            cursor: pointer;
            width: 100%;
            font-weight: bold;
            transition: background 0.2s;
            margin-top: 10px;
        }

        .check-btn:hover, .submit-btn:hover {
            background: var(--primary-color);
        }

        .explanation {
            display: none;
            margin-top: 15px;
            padding: 12px 15px;
            border-radius: 6px;
            font-size: 0.95rem;
        }

        .explanation.correct {
            background-color: #dcfce7;
            color: var(--correct-color);
            border: 1px solid #86efac;
        }

        .explanation.wrong {
            background-color: #fee2e2;
            color: var(--wrong-color);
            border: 1px solid #fca5a5;
        }

        .result-box {
            display: none;
            text-align: center;
            background: var(--card-bg);
            padding: 25px;
            border-radius: 10px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            margin-top: 20px;
        }

        .result-score {
            font-size: 2rem;
            font-weight: bold;
            color: var(--primary-color);
        }
    </style>
</head>
<body>

<div class="quiz-container">
    <div class="header">
        <h1>马来西亚独立历史选择题练习</h1>
        <p>基于学习标准 7.3.1 至 K7.3.6 (包含 TP1 - TP6 评估级别)</p>
    </div>

    <form id="quizForm">
        <!-- TP 1 -->
        <div class="question-card" id="q1-card">
            <span class="tp-badge">TP 1: Memerihalkan sejarah kemerdekaan negara 1957</span>
            <div class="question-text">1. 以下哪一位人物被誉为马来西亚的“独立之父”(Bapa Kemerdekaan)?</div>
            <ul class="options-list">
                <li class="option-item"><label><input type="radio" name="q1" value="A"> A. Tun Abdul Razak bin Dato' Hussein</label></li>
                <li class="option-item"><label><input type="radio" name="q1" value="B"> B. Tunku Abdul Rahman Putra Al-Haj</label></li>
                <li class="option-item"><label><input type="radio" name="q1" value="C"> C. Tun H.S. Lee</label></li>
                <li class="option-item"><label><input type="radio" name="q1" value="D"> D. Tun V.T. Sambanthan</label></li>
            </ul>
            <div class="explanation" id="exp1"></div>
        </div>

        <!-- TP 2 -->
        <div class="question-card" id="q2-card">
            <span class="tp-badge">TP 2: Menjelaskan sejarah kemerdekaan negara 1957</span>
            <div class="question-text">2. 为什么1955年举行的大选(Pilihan Raya Majlis Perundangan Persekutuan 1955)对争取国家独立非常重要?</div>
            <ul class="options-list">
                <li class="option-item"><label><input type="radio" name="q2" value="A"> A. 它证明了各族群能够在同一个政党联盟下合作并建立自治政府</label></li>
                <li class="option-item"><label><input type="radio" name="q2" value="B"> B. 它是英国人直接指定独立领袖的唯一途径</label></li>
                <li class="option-item"><label><input type="radio" name="q2" value="C"> C. 它是为了选出首任马来西亚国家元首而举办的</label></li>
                <li class="option-item"><label><input type="radio" name="q2" value="D"> D. 它彻底消除了当时国内所有的马共势力</label></li>
            </ul>
            <div class="explanation" id="exp2"></div>
        </div>

        <!-- TP 3 -->
        <div class="question-card" id="q3-card">
            <span class="tp-badge">TP 3: Membuat urutan sejarah kemerdekaan negara 1957</span>
            <div class="question-text">3. 请选出争取国家独立过程中,相关事件发生的正确先后顺序:</div>
            <div style="background: #f8fafc; padding: 10px; border-radius: 5px; margin-bottom: 10px; font-size: 0.9rem;">
                I. 伦敦独立谈判(Rundingan Kemerdekaan di London)<br>
                II. 1957年8月31日在默迪卡体育场宣布独立<br>
                III. 1957年8月30日午夜在吉隆坡雪兰莪俱乐部操场降下英国国旗<br>
                IV. 1955年联邦立法议会选举
            </div>
            <ul class="options-list">
                <li class="option-item"><label><input type="radio" name="q3" value="A"> A. I → IV → III → II</label></li>
                <li class="option-item"><label><input type="radio" name="q3" value="B"> B. IV → I → III → II</label></li>
                <li class="option-item"><label><input type="radio" name="q3" value="C"> C. IV → III → I → II</label></li>
                <li class="option-item"><label><input type="radio" name="q3" value="D"> D. I → III → IV → II</label></li>
            </ul>
            <div class="explanation" id="exp3"></div>
        </div>

        <!-- TP 4 -->
        <div class="question-card" id="q4-card">
            <span class="tp-badge">TP 4: Menganalisis sejarah kemerdekaan negara 1957</span>
            <div class="question-text">4. 各族领袖组建“联盟”(Perikatan)并共同赴伦敦谈判争取独立。这一举措反映了什么重要的成功因素?</div>
            <ul class="options-list">
                <li class="option-item"><label><input type="radio" name="q4" value="A"> A. 只有依赖外力的协助才能获得独立</label></li>
                <li class="option-item"><label><input type="radio" name="q4" value="B"> B. 经济实力是独立谈判中唯一的筹码</label></li>
                <li class="option-item"><label><input type="radio" name="q4" value="C"> C. 协商共识与多元族群合作是赢得英国信任并取得独立的决定性因素</label></li>
                <li class="option-item"><label><input type="radio" name="q4" value="D"> D. 武力对抗是解决殖民统治最有效的方法</label></li>
            </ul>
            <div class="explanation" id="exp4"></div>
        </div>

        <!-- TP 5 -->
        <div class="question-card" id="q5-card">
            <span class="tp-badge">TP 5: Menilai sejarah kemerdekaan negara 1957 dalam konteks perjuangan tokoh</span>
            <div class="question-text">5. Tun H.S. Lee(李孝式)和 Tun V.T. Sambanthan 等领袖积极参与独立谈判与建国工作。他们的无私奉献最值得我们学习的价值观是什么?</div>
            <ul class="options-list">
                <li class="option-item"><label><input type="radio" name="q5" value="A"> A. 优先争取自身社群的政治和经济利益</label></li>
                <li class="option-item"><label><input type="radio" name="q5" value="B"> B. 为了国家和全民的共同未来,愿意妥协并做出自我牺牲</label></li>
                <li class="option-item"><label><input type="radio" name="q5" value="C"> C. 盲目顺从执政者的所有指示</label></li>
                <li class="option-item"><label><input type="radio" name="q5" value="D"> D. 追求个人的政治声望与地位</label></li>
            </ul>
            <div class="explanation" id="exp5"></div>
        </div>

        <!-- TP 6 -->
        <div class="question-card" id="q6-card">
            <span class="tp-badge">TP 6: Menjana idea untuk mengekalkan kemerdekaan negara kepada generasi muda</span>
            <div class="question-text">6. 身为新时代的青年,以下哪项是捍卫国家独立、防止国家受外部势力或内部分裂破坏的最有效创新举措?</div>
            <ul class="options-list">
                <li class="option-item"><label><input type="radio" name="q6" value="A"> A. 完全拒绝接收任何来自国外的科技与文化资讯</label></li>
                <li class="option-item"><label><input type="radio" name="q6" value="B"> B. 仅在每年的独立月挂国旗,平时不关注国家事务</label></li>
                <li class="option-item"><label><input type="radio" name="q6" value="C"> C. 积极推动跨族群文化交流,并利用数码媒体传播爱国理念与正确的历史观</label></li>
                <li class="option-item"><label><input type="radio" name="q6" value="D"> D. 鼓励青年将注意力仅集中于个人学术表现,不必理会社会和谐</label></li>
            </ul>
            <div class="explanation" id="exp6"></div>
        </div>

        <button type="button" class="submit-btn" onclick="checkAnswers()">提交答案</button>
    </form>

    <div class="result-box" id="resultBox">
        <h2>测试结果</h2>
        <p class="result-score" id="scoreText">0 / 6</p>
        <p id="feedbackText"></p>
    </div>
</div>

<script>
    const answers = {
        q1: { ans: "B", exp: "正确答案:B。东姑阿都拉带领国家走向独立,因此被尊称为“独立之父”。(学习标准 7.3.1)" },
        q2: { ans: "A", exp: "正确答案:A。1955年大选的胜利证明了联盟(Perikatan)能够团结各族,向英国人展示了自我治理的能力。(学习标准 7.3.2)" },
        q3: { ans: "B", exp: "正确答案:B。正确顺序为:1955年大选(IV) → 赴伦敦谈判(I) → 1957年8月30日夜间降英国旗(III) → 1957年8月31日宣布独立(II)。(学习标准 7.3.3)" },
        q4: { ans: "C", exp: "正确答案:C。分析历史可见,协商(Permuafakatan)与跨族群合作是取得英国同意移交政权的关键。(学习标准 K7.3.5 / 7.3.2)" },
        q5: { ans: "B", exp: "正确答案:B。各族先贤的牺牲与国家至上的精神是建国的主要基石,值得后人效法。(学习标准 K7.3.4)" },
        q6: { ans: "C", exp: "正确答案:C。通过数码媒体促进跨族群理解与爱国意识,是现代青年巩固国家独立与团结的具创新性(Menjana Idea)的做法。(学习标准 K7.3.6)" }
    };

    function checkAnswers() {
        let score = 0;
        const total = 6;

        for (let i = 1; i <= total; i++) {
            const qName = "q" + i;
            const selected = document.querySelector(`input[name="${qName}"]:checked`);
            const expDiv = document.getElementById(`exp${i}`);
            
            expDiv.style.display = "block";

            if (selected) {
                if (selected.value === answers[qName].ans) {
                    score++;
                    expDiv.className = "explanation correct";
                    expDiv.innerHTML = "<strong>正确!</strong> " + answers[qName].exp;
                } else {
                    expDiv.className = "explanation wrong";
                    expDiv.innerHTML = "<strong>错误。</strong> " + answers[qName].exp;
                }
            } else {
                expDiv.className = "explanation wrong";
                expDiv.innerHTML = "<strong>未作答。</strong> " + answers[qName].exp;
            }
        }

        const resultBox = document.getElementById("resultBox");
        const scoreText = document.getElementById("scoreText");
        const feedbackText = document.getElementById("feedbackText");

        resultBox.style.display = "block";
        scoreText.innerText = `${score} / ${total}`;

        if (score === 6) {
            feedbackText.innerText = "太棒了!你完美掌握了历史独立课题的所有掌握级别(TP1 - TP6)!";
        } else if (score >= 4) {
            feedbackText.innerText = "表现良好!你对大多数掌握级别的内容理解得很透彻。";
        } else {
            feedbackText.innerText = "再接再厉!建议重新复习相关学习标准的内容后再试一次。";
        }

        // 平滑滚动到结果页面
        resultBox.scrollIntoView({ behavior: 'smooth' });
    }
</script>

</body>
</html>

SDG 17 MADANI的各水平、层次

SDG有17个可持续目标。

每个目标,有安顿了不同的水平、层次。

点击这里浏览不同的互动活动的水平https://docs.google.com/spreadsheets/d/1s2ustMg-GHB8rr7JH9zLnpQtMgJTXtE3yfAUDfIpJ0s/edit?gid=291282449#gid=291282449

页面也保存在学校跳板页面中备用。 

Thursday, July 30, 2026

Lestari MADANI-Ruang Interaktif:反思

  1. 早前的分享中,提及使用谷歌表格,突破Wayground的限制。怎么知道,谷歌表格却不能针对情景的各种层次和水平的选择;给予不同的分数,因此也不能统计学生个人水平。曾安装一个插件,结果插件只是支援大概10张谷歌表格,满足不到17个目标,至少17个表格的需要。最后还是拆卸了。
  2. 感谢神,经过一晚的祷告、努力和休息后,有了新的点子:何不跳脱谷歌表格,跳脱需要人手设计试题选项统计分析的工作;何不就如智能教案系统那样,直接做好云端处理呢?
  3. RM400零吉的经费,要改造空间,似乎有所限制。但若能添购 Pen drive加上 2手LCD荧幕的话,或者打印张贴那些海报,然后提供学生可以有云端版的互动空间/角落,适当的摆设东西,或许会更好。
  4. 打造云端版、可以满足不同学校(包括日后的来访者)学生使用,让用户输入名字、个人电邮(收取考核报告)、透过触屏或电脑回答考验,有机会针对各种情景,做出各种判断,最后也可以提前结束或提交,那才是互动的未来。格局大了点,但也因此可以帮助更多朋友? (目前考虑,是否要开放任人提取编码?)
  5. 在编制的过程中,我意识到,基本编码 (coding)的重要性。虽然有Ai的协助,但也要有一点点的基础,才更扎实。
  6. 筹备过程中,本想使用 Power Point 或  Google Slide处理互动,但想到工程浩大,后来感谢神,想到何不以云端版作为蓝图,直接在不同的SITE创建不同的议题,再透过Landing Page的 Site直接完成衔接?
  7. 在创建过程中,感谢神,先是收集和整理17个可持续发展目标的标志,以及基本说明。
  8. 完成标志创建后,也创建一个概括整体的简单说明页面。
  9. 这Google Slide,就是全部17个目标的档案,也是 Landing Page的主要内容。
  10. 之后,创建一个Google Site,也就是第一个持续发展目标的网站。网站内容仅需:借用人工智能创建的情景考验系统,以及返回 Landing Page的按钮即可。(其实可以考虑加上前去其他目标的按钮--怎么现在才想到?但也因为晚上了,西方世界白天,AI效率欠佳,作罢。)
  11. 7月27日,晚上,居然发现那AI编制的60到情景题中,以及选择,都有多个重覆。所以必须重新调整。
加速布置的方法:
  • 马来西亚的白天,是西方世界的夜晚。AI使用率较低。所以相对较容易编制编码。
  • 编制时候,说明:依据马来西亚7岁学龄到12岁学龄之间孩童的语文水平,编制一份针对SDGXX主题的试题。试题数量是60道,每道试题有3到4项选择,每项选择代表不同水平或层次。
    学生开始前,需要输入学校名称、自己名称、自己电邮(以便收到活动成就或水平的说明)。
  • 给予人工智能开始编写编码时,个人就继续布置每个SDG的site。每个site的 logo、返回主页、页面上方的标志植入、页面的标题、页面的衔接,都是可以在等候时处理的。

IKON LESTARI MADANI的筹备反思

  • 与其只是满足校内学生的互动活动,何不将格局扩大提升到可以配合各校各界都能使用的互动资源?
  • 谷歌表格还要人手手动处理。何不直接让云端处理就好?
  • 用户提交后还要人工统计和分析,何不将这工作,直接移除而不必有任何烦恼?
  • 于是有了下面的想法与处理方案:
  • 善用人工智能,开发一个可以嵌入网站(Google Site)内的问答、互动活动。
  • 互动中,必须采用围绕在主题的情景。
  • 使用的语文水平,必须符合马来西亚7岁学龄到12岁学龄的孩童。
  • 每一个主题(17个个别主题)必须有至少50-60情景题。
  • 每一道情景题,必须有3到4个选项。
  • 每一个选项,必须是有不同的处理方法或层次或水平。
  • 每个学生开启,或这每次页面加载(loading)后,都不可以看见重覆的试题或选项。
  • 学生/用户在回答前,必须有空间可以输入学校、姓名、班级或年级,以及收取个人报告的电邮。
  • 全部资料,绝不保存。免得引发个资安全疑虑。
  • 用户点击开始作答,同步开始倒数,并显示。
  • 用户可以随时点击下一题或提前结束。
  • 完成或点击提前结束后,用户可以看见本身的成就。

那,究竟要如何写给人工智能呢?
根据SDGXXX(SDG题目),
创建60道符合马来西亚7岁到12岁学龄的情景题
每个情景题,必须有3到4个选项
每个选项必须有不同层次或行动
用户做完,或者时间不足,
都可以提早提交。
提交后,用户会会在自己输入的电邮中,收到自己成就的表现。

1个主页
17个迷你网页
每个迷你网页有50到60道情景题
每道情景题有3到4个选项
每个可持续目标有3到4个水平

最低情景题总数:2550道
最高情景题总数:4080道
平均情景题总数:3315道
最低选项总数:7650个
最高选项总数:16320个
平均选项:11500个
制作时间:传统人力筹备:3.5-4.5个月之间
AI辅助:3-4星期

实际完成天数:大约8天
感觉:非常疲倦

重点介绍

学生课堂评估/学习进度记录

学生课堂评估/学习进度表格 样本即日起将透过 学生课堂评估/学习进度记录专页 传递。 特此告知 。(日后所有更新将在专页处理)            俗称rekod perkembangan murid (以前称为rekod transit)的东西。信息工艺TMK的部分,在年级...