លំហសិក្សាធិការកម្ពុជា លំហសិក្សាធិការកម្ពុជា V1.0
ចូល ចុះឈ្មោះ
personal
ADVANCED OOP — R&D PROJECT PROPOSAL INTERACTIVE QUIZ ENGINE

This research and development project proposal presents the design, architecture, and implementation strategy for the Interactive Quiz Engine, a web-based educational assessment platform built with Python, Flask, and MySQL. Educational institutions frequently suffer from feedback delays caused by manual test grading, non-reusable assessment materials, and fragmented student tracking across spreadsheets and paper records. The Interactive Quiz Engine directly addresses these inefficiencies by introducing a multi-format quiz creation tool, automated evaluation pipelines for objective question types, and centralized attempt history tracking. By leveraging core Object-Oriented Programming (OOP) principles—specifically polymorphism, encapsulation, and layered repository design—the engine cleanly separates core business logic (e.g., dynamic answer evaluation) from data persistence and interface routing. The software enables educators to author quizzes containing Multiple Choice (MCQ), True/False, and Short Answer questions within minutes, while providing students with instant score feedback upon submission. Expected project outcomes include a operational 5-layered Flask/MySQL web application, complete automated test suites, dynamic class performance reporting, and comprehensive architectural documentation suitable for academic defense.

02 Sep 2026 08:08 UTC · បានកែប្រែ
ហៃ រ៉ាវណ្ណមណីវណ្ណ 1 234
personal
មេរៀនទី ៧៖ ការរក្សាទុក Blockchain Data ដោយប្រើ CSV File

មេរៀនទី ៧ នេះផ្ដោតលើការរក្សាទុក Blockchain Data ទៅក្នុង CSV File។ នៅមេរៀនទី ៦ និស្សិតបានបង្កើត Blockchain សាមញ្ញដោយប្រើ Python List ដែលមាន Genesis Block និង Blocks ថ្មីៗ។ ប៉ុន្តែ Blockchain ដែលរក្សាទុកក្នុង Memory នឹងបាត់បង់នៅពេលកម្មវិធីបិទ។ ដូច្នេះ មេរៀននេះណែនាំពីរបៀប Save Blocks ទៅក្នុង blocks.csv, Load Blocks ត្រឡប់មកក្នុង Python, Save Transactions ទៅក្នុង transactions.csv, និង Convert List/Dictionary Data ទៅជា JSON String មុនដាក់ក្នុង CSV។ Python csv module គាំទ្រ reader, writer, DictReader, និង DictWriter សម្រាប់អាន និងសរសេរទិន្នន័យជា row ឬ dictionary form ។ ព្រោះ Block មាន transactions ជា List of Dictionaries យើងត្រូវប្រើ json.dumps() ដើម្បី serialize ទិន្នន័យនេះទៅជា JSON formatted string ហើយ json.loads() ដើម្បី convert ត្រឡប់មក Python object នៅពេល Load ពី CSV; Python documentation ក៏បញ្ជាក់ថា sort_keys=True អាចធ្វើឱ្យ dictionary keys ត្រូវបាន sort ដើម្បីជួយឱ្យ serialization មានលំដាប់ថេរ ។ មេរៀននេះជាជំហានសំខាន់សម្រាប់ Final Project ព្រោះវាធ្វើឱ្យ Blockchain Prototype អាចរក្សាទុក Records បានជាក់ស្តែង មុនបន្តទៅមេរៀនទី៨ ស្តីពី Blockchain Validation និង Tamper Detection។

25 Aug 2026 16:56 UTC
សេក សុជាតិ 0 22
personal
មេរៀនទី ៦៖ ការបង្កើត Blockchain សាមញ្ញក្នុង Python Console

មេរៀនទី ៦ នេះផ្ដោតលើការបង្កើត Blockchain សាមញ្ញក្នុង Python Console ដោយយកចំណេះដឹងពីមេរៀនមុនៗមកភ្ជាប់ជាប្រព័ន្ធតែមួយ។ នៅមេរៀនទី ៥ និស្សិតបានរៀនពី Transaction Structure និង Block Structure។ ក្នុងមេរៀននេះ និស្សិតនឹងរៀនបង្កើត Genesis Block, បន្ថែម Block ថ្មី, ភ្ជាប់ Block ដោយប្រើ previous_hash, បង្កើត current hash, រក្សាទុក Blocks ក្នុង Python List និងបង្ហាញ Blockchain នៅក្នុង Console។ Blockchain ត្រូវបានពន្យល់ដោយ NIST ថាជា Ledger ដែលមាន Blocks ភ្ជាប់គ្នាតាម Cryptographic Hashes និងអាចជួយឱ្យការកែប្រែទិន្នន័យត្រូវបានរកឃើញ [1]។ ក្នុងមេរៀននេះ និស្សិតនឹងប្រើ Python modules ដូចជា hashlib, json និង datetime ដើម្បីបង្កើត Hash និង Timestamp សម្រាប់ Block។ Python hashlib ផ្ដល់ interface សម្រាប់ secure hashes ដូចជា SHA-256 [2] ហើយ json.dumps(..., sort_keys=True) ជួយ serialize dictionary ដោយមានលំដាប់ key ថេរ មុនធ្វើ hashing [3]។ មេរៀននេះជាជំហានសំខាន់មុនទៅកាន់មេរៀនទី ៧ ដែលនឹងបន្តទៅ CSV-Based Blockchain Storage។

25 Aug 2026 16:19 UTC · បានកែប្រែ
សេក សុជាតិ 0 8
personal
មេរៀនទី ៥៖ ការរចនា Transaction និង Block សម្រាប់ Blockchain Console Application

មេរៀនទី ៥ នេះផ្ដោតលើការរចនា Transaction និង Block ដែលជារចនាសម្ព័ន្ធស្នូលរបស់ Blockchain។ នៅមេរៀនមុនៗ និស្សិតបានរៀនពី Python Console Application, Functions, Lists, Dictionaries, CSV File Handling និង SHA-256 Hashing។ មេរៀននេះនឹងភ្ជាប់ចំណេះដឹងទាំងនោះ ដើម្បីបង្កើត Certificate Transaction និង Blockchain Block ដោយប្រើ Python Dictionary។ ក្នុង Project នេះ Transaction មួយតំណាងឱ្យ Certificate Record មួយ ហើយ Block មួយជាក្រុមនៃ Transactions ដែលមាន fields សំខាន់ៗដូចជា index, timestamp, transactions, previous_hash, nonce និង hash។ NIST ពន្យល់ថា Blockchain អាចឱ្យអ្នកប្រើកត់ត្រា Transactions ក្នុង Shared Ledger ហើយ Blocks ត្រូវបានភ្ជាប់គ្នាតាម Cryptographic Hashes ដើម្បីធ្វើឱ្យប្រព័ន្ធមានលក្ខណៈ Tamper-Evident [1]។ Python time module ត្រូវបានប្រើសម្រាប់បង្កើត Timestamp ហើយ Python json module អាចប្រើសម្រាប់បម្លែង Dictionary ទៅជា JSON String មុនធ្វើ Hash [2], [3]។ មេរៀននេះជាមូលដ្ឋានសំខាន់សម្រាប់មេរៀនទី ៦ ដែលនឹងបង្កើត Simple Blockchain ពេញលេញក្នុង Console។

25 Aug 2026 15:54 UTC
សេក សុជាតិ 0 7
personal
មេរៀនទី ៤៖ ការប្រើ SHA-256 Hashing និងការពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យ

មេរៀនទី ៤ នេះណែនាំនិស្សិតអំពីគោលគំនិតសំខាន់មួយរបស់ Blockchain គឺ Hashing។ បន្ទាប់ពីមេរៀនទី៣ ដែលនិស្សិតបានរៀនពី Console Menu និង CSV File Handling មេរៀននេះបន្តទៅការប្រើ Hash ដើម្បីពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យ។ Hash អាចយល់បានថាជា “ស្នាមម្រាមដៃឌីជីថល” របស់ទិន្នន័យ។ ទិន្នន័យដូចគ្នានឹងបង្កើត Hash ដូចគ្នា ប៉ុន្តែបើកែតែអក្សរមួយ Hash នឹងផ្លាស់ប្តូរខ្លាំង។ ក្នុងមេរៀននេះ និស្សិតនឹងប្រើ Python hashlib ដើម្បីបង្កើត SHA-256 hash សម្រាប់អត្ថបទធម្មតា Certificate Record និង CSV Data។ Python Documentation បង្ហាញថា hashlib ផ្ដល់ interface សម្រាប់ secure hash និង message digest algorithms រួមទាំង SHA-256 [1]។ NIST Secure Hash Standard កំណត់លក្ខណៈស្តង់ដាររបស់ SHA-256 ដែលមាន message digest size 256 bits [2]។ មេរៀននេះជាមូលដ្ឋានសំខាន់មុនទៅកាន់ Block Hash, Previous Hash, Blockchain Validation និង Tamper Detection។

25 Aug 2026 14:21 UTC
សេក សុជាតិ 0 3
personal
មេរៀនទី ៣៖ ការបង្កើតម៉ឺនុយ Console និងការរក្សាទុកទិន្នន័យជាមួយ CSV

មេរៀនទី ៣ នេះបន្តពីមេរៀនទី ១ និងទី ២ ដោយផ្ដោតលើការបង្កើតកម្មវិធី Python Console ដែលមានម៉ឺនុយប្រើប្រាស់ច្បាស់លាស់ និងការរក្សាទុកទិន្នន័យវិញ្ញាបនបត្រទៅក្នុង CSV File។ នៅមេរៀនទី២ និស្សិតបានរៀនអំពី Functions, Lists, Dictionaries និង Certificate Transactions។ ប៉ុន្តែទិន្នន័យដែលរក្សាទុកក្នុង List នឹងបាត់បង់នៅពេលកម្មវិធីបិទ។ ដូច្នេះ មេរៀនទី៣ណែនាំពី File Storage ដោយប្រើ Python csv module ដើម្បីអាន សរសេរ បន្ថែម និងស្វែងរកទិន្នន័យក្នុង CSV File។ Python Documentation ពន្យល់ថា csv module ផ្ដល់ reader, writer, DictReader និង DictWriter សម្រាប់អាន និងសរសេរទិន្នន័យជា rows ឬ dictionary form [1]។ មេរៀននេះសំខាន់សម្រាប់ Final Project ព្រោះ CSV នឹងត្រូវប្រើសម្រាប់រក្សាទុក certificates, transactions, blocks, verification logs និង audit logs មុនពេលបន្តទៅ Hashing និង Blockchain Structure នៅមេរៀនបន្ទាប់ៗ។

25 Aug 2026 13:55 UTC · បានកែប្រែ
សេក សុជាតិ 0 6
personal
មេរៀនទី ២៖ ការពិនិត្យ Python និងរចនាសម្ព័ន្ធទិន្នន័យ Blockchain

មេរៀនទី ២ នេះផ្ដោតលើការរំលឹកចំណេះដឹង Python សំខាន់ៗដែលត្រូវប្រើសម្រាប់ការរៀបចំទិន្នន័យ Blockchain។ បន្ទាប់ពីមេរៀនទី ១ ដែលនិស្សិតបានរៀនអំពី Python Console Application, input(), print(), conditions និង loops មេរៀននេះបន្តទៅកាន់ functions, lists និង dictionaries។ គោលបំណងសំខាន់គឺឱ្យនិស្សិតយល់ថា Blockchain មិនចាប់ផ្ដើមពី Block ភ្លាមៗទេ ប៉ុន្តែចាប់ផ្ដើមពី Transaction ដែលជាកំណត់ត្រាទិន្នន័យមួយ។ ក្នុង Project នេះ Transaction មួយអាចតំណាងឱ្យ Certificate Record មួយ ដែលមាន Certificate ID, Student Name, Program, Certificate Title, Issue Date និង Status។ Python Documentation ពន្យល់ថា list គឺជារចនាសម្ព័ន្ធទិន្នន័យសម្រាប់រក្សាទុកធាតុជាច្រើន ហើយ dictionary គឺជារចនាសម្ព័ន្ធ key-value ដែលសមស្របសម្រាប់តំណាងឱ្យកំណត់ត្រាទិន្នន័យមួយ [1]. Blockchain ក៏ប្រើ Transaction ជាធាតុមូលដ្ឋានក្នុង ledger ដែលបន្ទាប់មកត្រូវបានដាក់ចូលក្នុង Block [2]. ដូច្នេះ មេរៀននេះជាជំហានសំខាន់សម្រាប់បង្កើត Certificate Transaction Manager មុននឹងបន្តទៅ CSV Storage, Hashing និង Block Creation។

25 Aug 2026 13:17 UTC · បានកែប្រែ
សេក សុជាតិ 0 15
personal
មេរៀនទី ១៖ ការរំលឹក Python មូលដ្ឋាន និងការណែនាំអំពី Blockchain

មេរៀននេះណែនាំនិស្សិតឱ្យចាប់ផ្ដើមរៀន Blockchain តាមរយៈការរំលឹកមូលដ្ឋាន Python Programming និងការបង្កើតកម្មវិធី Console Application សាមញ្ញ។ មុនពេលនិស្សិតអាចសរសេរកូដ Blockchain ដូចជា Transaction, Hash, Block, Previous Hash និង Chain Validation ពួកគេត្រូវយល់ជាមុនអំពី print(), input(), variables, conditions, loops និងរបៀបសរសេរកម្មវិធីដែលទទួលទិន្នន័យពីអ្នកប្រើប្រាស់។ បន្ទាប់ពីនោះ មេរៀននេះភ្ជាប់ចំណេះដឹង Python ទៅនឹងគំនិត Blockchain ដូចជា Digital Trust, Data Integrity, Certificate Verification និង Tamper Detection។ Blockchain ត្រូវបានពន្យល់ថាជាប្រព័ន្ធកត់ត្រាទិន្នន័យដែលប្រើ Cryptography ដើម្បីគាំទ្រការពារទិន្នន័យ និងធ្វើឱ្យការកែប្រែទិន្នន័យអាចត្រូវបានរកឃើញ។ NIST បានពន្យល់ថា Blockchain ជាបច្ចេកវិទ្យា Ledger ដែលមានលក្ខណៈ Tamper-Evident និងប្រើ Hashing, Blocks, Transactions និង Consensus Concepts ដើម្បីគាំទ្រការកត់ត្រាទិន្នន័យឌីជីថល [1].

25 Aug 2026 12:28 UTC · បានកែប្រែ
សេក សុជាតិ 0 110
personal
Design and Development of a Coffee and Snack Sales Management System Using PyQt6 and SQLite3

គម្រោង Design and Development of a Coffee and Snack Sales Management System Using PyQt6 and SQLite3 គឺជាប្រព័ន្ធ Desktop Application ពេញលេញ សម្រាប់គ្រប់គ្រងការលក់កាហ្វេ និងអាហារសម្រន់ក្នុងហាងខ្នាតតូច។ ប្រព័ន្ធនេះត្រូវបានអភិវឌ្ឍដោយប្រើ Python, PyQt6 សម្រាប់ផ្ទាំង GUI និង SQLite3 សម្រាប់មូលដ្ឋានទិន្នន័យ local។ មុខងារសំខាន់ៗរួមមាន Login និង Role-Based Access Control, Product Management, Inventory Management, Sales Transaction, Dashboard, Reports and CSV Export, User Management, Audit Log និង Database Backup។ គម្រោងនេះជួយបម្លែងដំណើរការគ្រប់គ្រងការលក់ និងស្តុកពីការកត់ត្រាដោយដៃ ឬ Excel ទៅជាប្រព័ន្ធឌីជីថលដែលមានលំដាប់ ត្រឹមត្រូវ និងងាយត្រួតពិនិត្យ។ លើសពីនេះ ប្រព័ន្ធក៏ផ្ដល់ឯកសារគាំទ្រ ដូចជា README, User Manual, Technical Documentation និង Testing Report ដែលអាចប្រើសម្រាប់ការសិក្សា ការពារ Project និងការអភិវឌ្ឍបន្តបាន។

21 Aug 2026 18:07 UTC · បានកែប្រែ
សេក សុជាតិ 0 31
1 2 3 4 5 6 7 8 9 10 11 12