Course Detail
Python Programming for TVET
Covers Python fundamentals through data analysis and automation applications relevant to TVET practitioners. No prior programming experience required.
30 hours
Beginner
Cohort-based
- Write Python scripts to automate repetitive data tasks
- Analyze and visualize datasets using pandas and matplotlib
- Apply Python skills in TVET curriculum development and reporting
No prerequisites
- ๐ Introduction to Python
- ๐ Variables and Data Types
- ๐ Python Basics Quiz
Dr. Sumali Hakrian
Python and data science expert with over 8 years of experience in TVET curriculum development
Screen Flow (from flow.puml):
๐ Spec notes โ UC-LMS.07 / SCR-LMS.04 (fields, actions, requirements)
- Screen: SCR-LMS.04 โ Course Detail (Learner View)
- Use case: UC-LMS.07 โ Enroll in Course (entry screen)
Read-only course detail page for learners โ 5 regions: Course overview (title, cover image, description, tags, duration, difficulty, type), Learning objectives and Prerequisites, Course content (accordion), Instructor, Enrollment CTA. CTA adapts to enrollment state (checked on every page load): null โ Enroll; pending_approval โ Pending Approval (collapsible approval details) + Change Cohort; active โ Continue Learning. After enrollment success (M-10 or AF-10A return), shows a transient success notification via ?enrolled=1.
- Course overview:
course_titleยทcover_image(lazy-load) ยทcourse_descriptionยทtag_listยทdurationยทdifficulty[beginner|intermediate|advanced] ยทcourse_type_label - Learning objectives and Prerequisites:
learning_objectivesยทprerequisites_list(visible when prerequisites != null) - Course content:
content_outlineโ CourseVersion.snapshot ยท accordion ยท read-only - Instructor:
instructor_photo(lazy-load) ยทowner_instructor_name(computed from CourseInstructor role=owner) ยทinstructor_bio - Enrollment CTA โ pending_approval only:
pending_cohort_nameยทapproval_requested_atยทapproval_status_label(computed human-readable)
enroll"Enroll" โ enabled when enrollment_status == null ยท triggers UC-LMS.07-M-2pending_approval"Pending Approval" โ toggles approval details collapse when enrollment_status == pending_approval ยท triggers UC-LMS.07-A-4A-2change_cohort"Change Cohort" โ enabled when enrollment_status == pending_approval ยท triggers UC-LMS.07-A-4A-4continue_learning"Continue Learning" โ enabled when enrollment_status == active ยท triggers UC-LMS.07-A-4B-2
- CTA adapts to 3 enrollment states โ checked on every page load, no cache.
- Approval details (cohort, request date, status) are shown inside the Enrollment CTA region โ the collapse panel opens/closes via the "Pending Approval" button; there is no separate Approval Status card.
- All course info fields read-only โ learner cannot edit course data.
- Transient success notification (AR#4): shown once after M-10 / AF-10A return via
?enrolled=1query param; CTA auto-switches to "Continue Learning". - Lazy-load cover_image + instructor_photo [refs: NFR-02]