លំហសិក្សាកម្ពុជា
V1.0
មេរៀននេះណែនាំនិស្សិតឱ្យចាប់ផ្ដើមរៀន 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].
| ចំណុច | ព័ត៌មាន |
|---|---|
| មុខវិជ្ជា | Blockchain Technology Using Python Console and CSV |
| មេរៀន | មេរៀនទី១ |
| ចំណងជើង | Python Review I and Introduction to Blockchain |
| កម្រិតនិស្សិត | Beginner to Intermediate |
| ភាសាសរសេរកម្មវិធី | Python |
| ប្រភេទកម្មវិធី | Console Application |
| ឧបករណ៍ប្រើប្រាស់ | Python, VS Code, Terminal / Command Prompt |
| លទ្ធផលរំពឹងទុក | និស្សិតអាចបង្កើតកម្មវិធី Console សាមញ្ញសម្រាប់បញ្ចូលព័ត៌មានវិញ្ញាបនបត្រ |
| ទិសដៅ Project | Console-Based Blockchain Student Certificate Verification System |
បន្ទាប់ពីបញ្ចប់មេរៀននេះ និស្សិតគួរអាច៖
print() ដើម្បីបង្ហាញទិន្នន័យទៅលើអេក្រង់។input() ដើម្បីទទួលទិន្នន័យពីអ្នកប្រើប្រាស់។if / else ដើម្បីពិនិត្យលក្ខខណ្ឌ។while loop ដើម្បីធ្វើឱ្យកម្មវិធីដំណើរការម្តងហើយម្តងទៀត។ការរៀន Blockchain សម្រាប់និស្សិតកម្រិតដំបូងមិនគួរចាប់ផ្ដើមពីប្រព័ន្ធធំៗ ឬ Smart Contract ភ្លាមៗទេ។ វាគួរចាប់ផ្ដើមពីការយល់ Logic មូលដ្ឋានជាមុន។ Python Console Application គឺជាជំហានដំបូងល្អបំផុត ព្រោះវាអនុញ្ញាតឱ្យនិស្សិតផ្ដោតលើការគិតបែប Programming ដោយមិនទាន់បារម្ភអំពី Database, Website, Server ឬ User Interface ស្មុគស្មាញ។
ក្នុងមេរៀននេះ និស្សិតនឹងរៀនថា ព័ត៌មានវិញ្ញាបនបត្រមួយអាចត្រូវបានបញ្ចូលទៅក្នុងកម្មវិធី Python Console។ ព័ត៌មាននេះនឹងក្លាយជាមូលដ្ឋានសម្រាប់មេរៀនបន្ទាប់ៗ ដូចជា Transaction, CSV Storage, Hashing, Block, Blockchain និង Tamper Detection។
Python Documentation ពន្យល់ពីការប្រើ Input និង Output សម្រាប់បង្ហាញទិន្នន័យ និងអាន/សរសេរទិន្នន័យ ដែលជាមូលដ្ឋានសំខាន់សម្រាប់ Console Application និង File-Based Application [2].
Python Console Application គឺជាកម្មវិធីដែលដំណើរការតាមរយៈ Terminal ឬ Command Prompt។ កម្មវិធីប្រភេទនេះអនុញ្ញាតឱ្យអ្នកប្រើប្រាស់បញ្ចូលទិន្នន័យជាអក្សរ ហើយកម្មវិធីបង្ហាញលទ្ធផលត្រឡប់មកវិញជាអក្សរ។
ឧទាហរណ៍៖
print("Welcome to Blockchain Technology Course")លទ្ធផល៖
Welcome to Blockchain Technology Courseកម្មវិធី Console មានប្រយោជន៍សម្រាប់អ្នកចាប់ផ្ដើម ព្រោះវាជួយឱ្យយើងយល់ពី Logic របស់កម្មវិធីជាមុន។ នៅពេលនិស្សិតចេះ Console Logic រួច ពួកគេអាចបន្តទៅ CSV, SQLite3, Flask ឬ Web Application បានងាយជាងមុន។

រូបភាពនេះបង្ហាញពីកម្មវិធី Python ដែលដំណើរការនៅក្នុង Command Prompt ឬ Terminal។ វាជួយឱ្យនិស្សិតយល់ថា Console Application គឺជាកម្មវិធីដែលអ្នកប្រើប្រាស់បញ្ចូលទិន្នន័យ និងទទួលលទ្ធផលតាមអក្សរ។ ក្នុងមេរៀននេះ Console Application គឺជាជំហានដំបូងសម្រាប់រៀន Blockchain Logic មុននឹងបន្តទៅ CSV, Hashing, Blocks និង Validation។
Blockchain មានគំនិតសំខាន់ៗដូចជា Transaction, Hash, Block, Previous Hash និង Chain Validation។ គំនិតទាំងនេះអាចសរសេរជាកូដ Python Console បានយ៉ាងងាយ។ ដូច្នេះការចាប់ផ្ដើមពី Console គឺមានហេតុផលច្បាស់លាស់។
| ហេតុផល | ការពន្យល់ |
| ងាយស្រួលចាប់ផ្ដើម | មិនចាំបាច់ដំឡើង Database ឬ Web Server ភ្លាមៗ |
| ផ្ដោតលើ Logic | និស្សិតអាចរៀនពី Transaction, Hash និង Block ដោយផ្ទាល់ |
| Debug ងាយ | កំហុសអាចមើលឃើញភ្លាមៗនៅក្នុង Terminal |
| សមស្របសម្រាប់អ្នកចាប់ផ្ដើម | សរសេរកូដតិចៗ ប៉ុន្តែយល់គំនិតបានច្បាស់ |
| ជាមូលដ្ឋានសម្រាប់ Project ធំ | អាចបន្តទៅ CSV, SQLite3 និង Flask នៅវគ្គបន្ទាប់ |
ក្នុងមុខវិជ្ជានេះ យើងនឹងប្រើ Python Console ដើម្បីបង្កើតប្រព័ន្ធតូចមួយសម្រាប់ការផ្ទៀងផ្ទាត់វិញ្ញាបនបត្រនិស្សិត។ ប្រព័ន្ធនេះនឹងបន្តរីកចម្រើនពីការបញ្ចូលទិន្នន័យធម្មតា ទៅរកការបង្កើត Transaction, Hash, Block និង Chain Validation។
print()print() គឺជាមុខងារ Python ដែលប្រើសម្រាប់បង្ហាញទិន្នន័យទៅលើ Console។
print("Student Certificate Verification System")
print("Faculty of Digital Economy")
print("National University of Management")Student Certificate Verification System
Faculty of Digital Economy
National University of Managementក្នុង Blockchain Project យើងត្រូវការបង្ហាញព័ត៌មានជាច្រើនដូចជា៖
ដូច្នេះ print() គឺជាមូលដ្ឋានសំខាន់សម្រាប់ការបង្ហាញលទ្ធផលទៅអ្នកប្រើប្រាស់។
Variable គឺជាឈ្មោះមួយដែលប្រើសម្រាប់រក្សាទុកតម្លៃ។ ក្នុង Project របស់យើង Variable អាចរក្សាទុកព័ត៌មានវិញ្ញាបនបត្រ ឬព័ត៌មាន Blockchain។
certificate_id = "CERT-FDE-001"
student_name = "Sok Dara"
program = "Digital Economy"
print(certificate_id)
print(student_name)
print(program)certificate_id រក្សាទុកលេខវិញ្ញាបនបត្រ។student_name រក្សាទុកឈ្មោះនិស្សិត។program រក្សាទុកឈ្មោះកម្មវិធីសិក្សា។នៅពេលយើងបង្កើត Blockchain យើងត្រូវការរក្សាទុកព័ត៌មានច្រើនដូចជា៖
transaction_id
certificate_id
student_name
timestamp
previous_hash
current_hash
block_index
statusព័ត៌មានទាំងនេះត្រូវការប្រើ Variables មុនពេលវាត្រូវបានរៀបចំជា Dictionary, Transaction ឬ Block។
input()input() ប្រើសម្រាប់ទទួលទិន្នន័យពីអ្នកប្រើប្រាស់។
student_name = input("Enter Student Name: ")
print("Student Name:", student_name)

កម្មវិធីសួរឱ្យអ្នកប្រើប្រាស់បញ្ចូលឈ្មោះនិស្សិត។ បន្ទាប់មកវារក្សាទុកឈ្មោះនោះក្នុង variable student_name ហើយបង្ហាញលទ្ធផលត្រឡប់មកវិញ។
certificate_id = input("Enter Certificate ID: ")
student_name = input("Enter Student Name: ")
program = input("Enter Program: ")
print("Certificate ID:", certificate_id)
print("Student Name:", student_name)
print("Program:", program)ក្នុងប្រព័ន្ធ Certificate Verification អ្នកប្រើប្រាស់ត្រូវបញ្ចូលទិន្នន័យ ដូចជា Certificate ID ឬ Student Name។ ដូច្នេះ input() គឺជាចំណុចចាប់ផ្ដើមសម្រាប់ការបង្កើត Interactive Console Application។
if / elseCondition ប្រើសម្រាប់ធ្វើការសម្រេចចិត្តក្នុងកម្មវិធី។ ក្នុង Project របស់យើង Condition អាចប្រើដើម្បីពិនិត្យថា Certificate មានស្ថានភាព Valid ឬ Invalid។

រូបភាពនេះបង្ហាញពីរបៀបដែលកម្មវិធីធ្វើការសម្រេចចិត្តតាមស្ថានភាពវិញ្ញាបនបត្រ។ ប្រសិនបើ Status គឺ Valid ប្រព័ន្ធបង្ហាញថា Certificate អាច verify បាន។ ប្រសិនបើ Status គឺ Invalid ប្រព័ន្ធបង្ហាញថា Certificate មិនអាច verify បាន។ ប្រសិនបើ Status គឺ Revoked ប្រព័ន្ធបង្ហាញថា Certificate ត្រូវបានដកហូត។ រូបភាពនេះជួយឱ្យនិស្សិតយល់ពីការប្រើ if, elif, និង else ក្នុងបរិបទ Project ពិត។
status = input("Enter certificate status Valid/Invalid: ")
if status == "Valid":
print("This certificate can be verified.")
else:
print("This certificate cannot be verified.")Valid កម្មវិធីបង្ហាញថា Certificate អាច verify បាន។status = input("Enter certificate status Valid/Invalid: ")
if status.lower() == "valid":
print("This certificate can be verified.")
elif status.lower() == "invalid":
print("This certificate cannot be verified.")
else:
print("Unknown status. Please enter Valid or Invalid.").lower()?.lower() បម្លែងអក្សរទាំងអស់ទៅជា lowercase។ វាជួយឱ្យកម្មវិធីទទួលបានទាំង Valid, valid, VALID ដោយមិនមានបញ្ហា។
whileLoop ប្រើសម្រាប់ធ្វើការដដែលៗ។ ក្នុង Console Application យើងប្រើ while ដើម្បីបង្កើត Menu ដែលអាចឱ្យអ្នកប្រើប្រាស់ជ្រើសជម្រើសម្តងហើយម្តងទៀត។

រូបភាពនេះបង្ហាញពី Menu សាមញ្ញសម្រាប់ប្រព័ន្ធ Certificate Verification។ Menu មានជម្រើសដូចជា Add Certificate, Check Certificate Status, View Project Description និង Exit។ Console Menu ជួយឱ្យអ្នកប្រើប្រាស់អាចប្រើកម្មវិធីបានងាយស្រួល ហើយវាជាមូលដ្ឋានសម្រាប់ Final Project។ នៅមេរៀនបន្ទាប់ៗ Menu នេះអាចត្រូវបានពង្រីកបន្ថែមទៅជា Add Transaction, Save to CSV, Generate Hash, Create Block និង Validate Blockchain។
while True:
print("1. Add Certificate")
print("2. Exit")
choice = input("Choose option: ")
if choice == "1":
print("Add Certificate Selected")
elif choice == "2":
print("Goodbye!")
break
else:
print("Invalid choice.")while True ធ្វើឱ្យកម្មវិធីដំណើរការជាបន្តបន្ទាប់។1 កម្មវិធីបង្ហាញថា Add Certificate ត្រូវបានជ្រើស។2 កម្មវិធីបញ្ចប់ដោយប្រើ break។Invalid choice.នៅពេលយើងបង្កើត Final Project យើងត្រូវការម៉ឺនុយដូចជា៖
1. Add Certificate
2. View Certificates
3. Search Certificate
4. Generate Hash
5. Create Block
6. Validate Blockchain
7. Exitដូច្នេះ while loop គឺជាគន្លឹះសំខាន់សម្រាប់ Project ទាំងមូល។
បង្កើតកម្មវិធី Python Console សាមញ្ញដែលអាចទទួលព័ត៌មានវិញ្ញាបនបត្រនិស្សិត ហើយបង្ហាញព័ត៌មានវិញយ៉ាងច្បាស់។

រូបភាពនេះបង្ហាញពីគំរូព័ត៌មានវិញ្ញាបនបត្រនិស្សិត ដែលរួមមាន Certificate ID, Student Name, Program, Certificate Title, Issue Date និង Status។ ទិន្នន័យទាំងនេះនឹងត្រូវបានប្រើជាមូលដ្ឋានសម្រាប់ការបង្កើត Transaction ក្នុងមេរៀនបន្ទាប់ៗ។ និស្សិតត្រូវយល់ថា មុនពេលយើងអាច Hash ឬបញ្ចូលទិន្នន័យទៅក្នុង Blockchain យើងត្រូវកំណត់ទម្រង់ទិន្នន័យឱ្យបានច្បាស់ជាមុន។
print("=== Student Certificate Information ===")
certificate_id = input("Enter Certificate ID: ")
student_name = input("Enter Student Name: ")
program = input("Enter Program: ")
certificate_title = input("Enter Certificate Title: ")
issue_date = input("Enter Issue Date: ")
print("\n=== Certificate Record ===")
print("Certificate ID:", certificate_id)
print("Student Name:", student_name)
print("Program:", program)
print("Certificate Title:", certificate_title)
print("Issue Date:", issue_date)print("=== Student Certificate Information ===")certificate_id = input("Enter Certificate ID: ")student_name = input("Enter Student Name: ")program = input("Enter Program: ")certificate_title = input("Enter Certificate Title: ")issue_date = input("Enter Issue Date: ")print() ខាងក្រោមបង្ហាញព័ត៌មានដែលបានបញ្ចូល។=== Student Certificate Information ===
Enter Certificate ID: CERT-FDE-001
Enter Student Name: Sok Dara
Enter Program: Digital Economy
Enter Certificate Title: Blockchain Technology Completion
Enter Issue Date: 2026-08-25
=== Certificate Record ===
Certificate ID: CERT-FDE-001
Student Name: Sok Dara
Program: Digital Economy
Certificate Title: Blockchain Technology Completion
Issue Date: 2026-08-25បង្រៀននិស្សិតឱ្យប្រើ Condition ដើម្បីពិនិត្យស្ថានភាព Certificate។
status = input("Enter certificate status Valid/Invalid: ")
if status.lower() == "valid":
print("Certificate can be verified.")
elif status.lower() == "invalid":
print("Certificate cannot be verified.")
else:
print("Unknown certificate status.")កម្មវិធីនេះសួរអ្នកប្រើប្រាស់ឱ្យបញ្ចូលស្ថានភាព Certificate។ ប្រសិនបើស្ថានភាពជា Valid វាបង្ហាញថា Certificate អាច verify បាន។ ប្រសិនបើស្ថានភាពជា Invalid វាបង្ហាញថា Certificate មិនអាច verify បាន។ បើបញ្ចូលតម្លៃផ្សេង វាបង្ហាញថា status មិនស្គាល់។
Enter certificate status Valid/Invalid: Valid
Certificate can be verified.ឬ
Enter certificate status Valid/Invalid: Invalid
Certificate cannot be verified.បង្កើត Menu សាមញ្ញសម្រាប់ Console Application។ Menu នេះនឹងក្លាយជាមូលដ្ឋានសម្រាប់ Final Project។
while True:
print("\n=== Certificate Verification Console System ===")
print("1. Add Certificate")
print("2. Check Certificate Status")
print("3. Exit")
choice = input("Choose option: ")
if choice == "1":
certificate_id = input("Enter Certificate ID: ")
student_name = input("Enter Student Name: ")
print("Certificate added:")
print("Certificate ID:", certificate_id)
print("Student Name:", student_name)
elif choice == "2":
status = input("Enter certificate status Valid/Invalid: ")
if status.lower() == "valid":
print("Certificate can be verified.")
elif status.lower() == "invalid":
print("Certificate cannot be verified.")
else:
print("Unknown certificate status.")
elif choice == "3":
print("Thank you. Goodbye!")
break
else:
print("Invalid choice. Please try again.")កម្មវិធីនេះមាន Menu ចម្បង ៣ ជម្រើស៖
នេះជាគំរូដំបូងនៃ Console-Based Certificate Verification System។
Blockchain គឺជាសង្វាក់នៃកំណត់ត្រាទិន្នន័យ។ ទិន្នន័យត្រូវបានរៀបចំជាប្លុកៗ ហើយប្លុកនីមួយៗភ្ជាប់ទៅប្លុកមុនតាមរយៈ Hash។ ប្រសិនបើទិន្នន័យក្នុងប្លុកមួយត្រូវបានកែប្រែ Hash របស់ប្លុកនោះនឹងផ្លាស់ប្តូរ ហើយវាអាចធ្វើឱ្យ Chain មិនត្រឹមត្រូវ។
NIST បានពន្យល់ថា Blockchain Technology មានសមាសធាតុដូចជា Blocks, Transactions, Addresses, Wallets, Hashes និង Consensus Models។ វាជួយឱ្យប្រព័ន្ធអាចកត់ត្រា និងផ្ទៀងផ្ទាត់ទិន្នន័យក្នុងរបៀបដែលមានភស្តុតាងបច្ចេកទេស [1].

រូបភាពនេះបង្ហាញពីរចនាសម្ព័ន្ធ Blockchain សាមញ្ញ ដែលមាន Block 1, Block 2 និង Block 3។ Block នីមួយៗមាន Data, Previous Hash និង Current Hash។ Previous Hash ជួយភ្ជាប់ Block មួយទៅ Block មុន។ ប្រសិនបើទិន្នន័យក្នុង Block មួយត្រូវបានកែប្រែ Hash នឹងផ្លាស់ប្តូរ ហើយ Chain អាចក្លាយជាមិនត្រឹមត្រូវ។ នេះជាគំនិតសំខាន់សម្រាប់ការយល់ពី Tamper Detection។
Digital Trust មានន័យថា អ្នកប្រើប្រាស់អាចជឿជាក់លើទិន្នន័យឌីជីថល។ ក្នុងវិស័យអប់រំ Digital Trust មានសារៈសំខាន់ខ្លាំង ព្រោះវិញ្ញាបនបត្រ និងលិខិតបញ្ជាក់ការសិក្សាត្រូវបានប្រើសម្រាប់ការងារ អាហារូបករណ៍ ការសិក្សាបន្ត និងឱកាសវិជ្ជាជីវៈ។

រូបភាពនេះបង្ហាញថា Digital Trust អាចកើតឡើងនៅពេលទិន្នន័យវិញ្ញាបនបត្រអាចត្រូវបានផ្ទៀងផ្ទាត់តាមភស្តុតាងបច្ចេកទេស។ Certificate Data អាចត្រូវបានការពារដោយ Hash, ផ្ទៀងផ្ទាត់តាម Certificate ID និងបង្ហាញ Verification Result។ នេះជាឧទាហរណ៍សាមញ្ញនៃការប្រើ Blockchain Concept ដើម្បីបង្កើនជំនឿទុកចិត្តលើឯកសារអប់រំឌីជីថល។
បញ្ហាដែលអាចកើតមានក្នុងការផ្ទៀងផ្ទាត់វិញ្ញាបនបត្រ៖
| បញ្ហា | ការពន្យល់ |
| វិញ្ញាបនបត្រក្លែងក្លាយ | អ្នកខ្លះអាចបង្កើតឯកសារដែលមិនពិត |
| ការផ្ទៀងផ្ទាត់យឺត | Employer ឬស្ថាប័នផ្សេងត្រូវរង់ចាំការឆ្លើយតបពីសាកលវិទ្យាល័យ |
| ទិន្នន័យអាចកែបាន | ឯកសារ Digital ឬ CSV អាចត្រូវបានកែដោយមិនមានភស្តុតាង |
| កង្វះប្រព័ន្ធតាមដាន | មិនដឹងថាអ្នកណាបានពិនិត្យ ឬកែប្រែទិន្នន័យ |
| កង្វះភស្តុតាងបច្ចេកទេស | មិនមាន Hash ឬ Chain Validation ដើម្បីបញ្ជាក់ភាពត្រឹមត្រូវ |
Blockchain អាចជួយដោះស្រាយបញ្ហាទាំងនេះដោយប្រើ Hash, Previous Hash, Chain Structure និង Validation Logic។
ក្នុងបរិបទកម្ពុជា ប្រព័ន្ធផ្ទៀងផ្ទាត់វិញ្ញាបនបត្រអាចជួយដល់៖
ក្នុង Course នេះ យើងនឹងមិនទាន់បង្កើតប្រព័ន្ធ Web ឬ Blockchain Network ពេញលេញទេ។ យើងនឹងចាប់ផ្ដើមពី Python Console និង CSV ដើម្បីឱ្យនិស្សិតយល់ Concept ជាមុន។

រូបភាពនេះបង្ហាញលំហូរមូលដ្ឋាននៃការផ្ទៀងផ្ទាត់វិញ្ញាបនបត្រក្នុងវិស័យអប់រំ។ សាកលវិទ្យាល័យដើរតួនាទីជា Issuer ដែលចេញវិញ្ញាបនបត្រ។ និស្សិតជាអ្នកកាន់វិញ្ញាបនបត្រ ហើយ Employer ឬ Verifier ជាអ្នកផ្ទៀងផ្ទាត់។ ការផ្ទៀងផ្ទាត់អាចធ្វើឡើងតាម Certificate ID។ រូបភាពនេះជួយភ្ជាប់មេរៀន Python និង Blockchain ទៅនឹងបញ្ហាពិតក្នុងវិស័យអប់រំនៅកម្ពុជា។
| Concept | ការពន្យល់ខ្លី |
| Transaction | កំណត់ត្រាទិន្នន័យមួយ ដូចជា Certificate Record |
| Block | ក្រុមនៃ Transactions |
| Hash | ស្នាមម្រាមដៃឌីជីថលរបស់ទិន្នន័យ |
| Previous Hash | Hash របស់ Block មុន |
| Chain | ការភ្ជាប់ Blocks ជាសង្វាក់ |
| Validation | ការពិនិត្យថា Blockchain ត្រឹមត្រូវឬអត់ |
| Tamper Detection | ការរកឃើញថាទិន្នន័យត្រូវបានកែប្រែ |
| Console Application | កម្មវិធីដែលប្រើ Terminal ឬ Command Prompt |
| CSV Storage | ការរក្សាទុកទិន្នន័យក្នុង File CSV |
គ្រូអាចប្រើសំណួរខាងក្រោមសម្រាប់ពិភាក្សាជាមួយនិស្សិត៖
សរសេរចម្លើយខ្លី ៥ ទៅ ៧ បន្ទាត់ សម្រាប់សំណួរខាងក្រោម៖
តើ Blockchain អាចជួយកាត់បន្ថយបញ្ហាវិញ្ញាបនបត្រក្លែងក្លាយនៅក្នុងវិស័យអប់រំនៅកម្ពុជាបានយ៉ាងដូចម្តេច?
ចម្លើយគួររួមបញ្ចូលគំនិតដូចជា៖
សរសេរកម្មវិធី Python ដែលសួរអ្នកប្រើប្រាស់ឱ្យបញ្ចូល៖
បន្ទាប់មកបង្ហាញព័ត៌មានទាំងអស់វិញ។
សរសេរកម្មវិធី Python ដែលសួរអ្នកប្រើប្រាស់ឱ្យបញ្ចូល៖
បន្ទាប់មកបង្ហាញព័ត៌មានទាំងអស់វិញ។
សរសេរកម្មវិធី Python ដែលពិនិត្យ status ដូចខាងក្រោម៖
Valid បង្ហាញ Certificate can be verified.Invalid បង្ហាញ Certificate cannot be verified.Revoked បង្ហាញ Certificate has been revoked.Unknown status.បង្កើត Menu ដែលមានជម្រើស៖
1. Add Certificate
2. Check Certificate Status
3. View Project Description
4. Exitកម្មវិធីត្រូវដំណើរការជាបន្តបន្ទាប់ រហូតដល់អ្នកប្រើប្រាស់ជ្រើស Exit.
សរសេរចម្លើយខ្លីៗ៖
បង្កើត Python Console Program មួយដែលមានមុខងារដូចខាងក្រោម៖
Console-Based Certificate Verification SystemValid → Certificate can be verified.Invalid → Certificate cannot be verified.Revoked → Certificate has been revoked.បន្ទាប់ពីបញ្ចប់មេរៀននេះ និស្សិតគួរមាន៖
print(), input(), variables, conditions និង loops។មេរៀនទី ១ នេះមិនទាន់មាន Blockchain ពេញលេញទេ។ វាជាមេរៀន Foundation។ គោលបំណងគឺធ្វើឱ្យនិស្សិត៖

រូបភាពនេះបង្ហាញពីផ្លូវសិក្សាពី Python Basics ទៅកាន់ Blockchain Project។ និស្សិតចាប់ផ្ដើមពី Python Basics បន្ទាប់មករៀន Console Application, Certificate Record, Hashing, Block, Blockchain និងចុងក្រោយ Validation & Tamper Detection។ ផ្លូវសិក្សានេះជួយឱ្យនិស្សិតយល់ថា Blockchain Project មិនមែនកើតឡើងភ្លាមៗទេ ប៉ុន្តែបង្កើតឡើងជាជំហានៗតាមចំណេះដឹង Programming មូលដ្ឋាន។
គ្រូអាចប្រើឧទាហរណ៍ជិតស្និទ្ធនឹងនិស្សិត ដូចជា៖
| Figure | Section to Insert | Purpose |
|---|---|---|
| Figure 1 | ៤.១ Python Console Application គឺជាអ្វី? | បង្ហាញ Console Program ជាក់ស្តែង |
| Figure 2 | ៤.៣ / ៤.៥ print() និង input() | បង្ហាញដំណើរការ Input → Program → Output |
| Figure 3 | ៥. Practical Lab 1 | បង្ហាញទម្រង់ Certificate Record |
| Figure 4 | ៨.៣ Blockchain សម្រាប់វិស័យអប់រំ | បង្ហាញតួនាទី Issuer, Holder, Verifier |
| Figure 5 | ៨.១ Blockchain គឺជាអ្វី? | បង្ហាញ Blocks និង Previous Hash |
| Figure 6 | ៨.២ Blockchain និង Digital Trust | បង្ហាញ Digital Trust និង Verification Evidence |
| Figure 7 | ៤.៦ Conditions: if / else | បង្ហាញ Decision Flow |
| Figure 8 | ៤.៧ Loops ឬ Practical Lab 3 | បង្ហាញ Console Menu |
| Figure 9 | ចុងមេរៀន មុនលំហាត់ | បង្ហាញ Learning Path របស់ Course |
[1] D. Yaga, P. Mell, N. Roby, and K. Scarfone, “Blockchain Technology Overview,” National Institute of Standards and Technology, NISTIR 8202, 2018, doi: 10.6028/NIST.IR.8202.
[2] Python Software Foundation, “7. Input and Output — Python 3 Documentation,” Python Documentation, 2026.
[3] Python Software Foundation, “csv — CSV File Reading and Writing,” Python Documentation, 2026.
[4] National Institute of Standards and Technology, “Secure Hash Standard (SHS),” FIPS PUB 180-4, 2015.
[5] S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” 2008.
មតិយោបល់ 0