File structure of comp328 comp328 ├── assignment-1 │   ├── assignment-1.html │   ├── assignment-1-instructions.html │   ├── assignment-1-rubric.html │   └── assignment-1-submission.html ├── assignment-2 │   ├── assignment-2.html │   ├── assignment-2-instructions.html │   ├── assignment-2-rubric.html │   └── assignment-2-submission.html ├── assignment-3 │   ├── assignment-3.html │   ├── assignment-3-instructions.html │   ├── assignment-3-rubric.html │   └── assignment-3-submission.html ├── assignment-4 │   ├── assignment-4.html │   ├── assignment-4-instructions.html │   ├── assignment-4-rubric.html │   └── assignment-4-submission.html ├── assignment-5 │   ├── assignment-5.html │   ├── assignment-5-instructions.html │   ├── assignment-5-rubric.html │   └── assignment-5-submission.html ├── capstone-project │   ├── capstone-project.html │   ├── capstone-project-instructions.html │   ├── capstone-project-rubric.html │   ├── capstone-project-submission.html │   ├── landing.html │   ├── prompt.md │   ├── t-01.html │   ├── t-02.html │   ├── t-03.html │   ├── t-04.html │   ├── t-05.html │   ├── t-06.html │   ├── t-07.html │   ├── t-08.html │   ├── t-09.html │   └── t-10.html ├── comp328-course-banner-detail.html ├── comp328-course-banner.png ├── comp328-course-banner-simple.html ├── comp328_development_plan.md ├── comp328layout.txt ├── comp328-syllabus.html ├── comp328-welcome-orientation.html ├── index.html ├── module-1 │   ├── index.html │   ├── unit-1 │   │   ├── index.html │   │   ├── prompt-1.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   ├── unit-2 │   │   ├── index.html │   │   ├── prompt-2.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   └── unit-3 │   ├── index.html │   ├── prompt-3.md │   ├── t-01.html │   ├── t-02.html │   ├── t-03.html │   ├── t-04.html │   ├── t-05.html │   ├── t-06.html │   ├── t-07.html │   ├── t-08.html │   └── t-09.html ├── module-2 │   ├── index.html │   ├── unit-4 │   │   ├── index.html │   │   ├── prompt-4.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   ├── unit-5 │   │   ├── index.html │   │   ├── prompt-5.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   └── unit-6 │   ├── index.html │   ├── prompt-6.md │   ├── t-01.html │   ├── t-02.html │   ├── t-03.html │   ├── t-04.html │   ├── t-05.html │   ├── t-06.html │   ├── t-07.html │   ├── t-08.html │   └── t-09.html ├── module-3 │   ├── index.html │   ├── unit-7 │   │   ├── index.html │   │   ├── prompt-7.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   ├── unit-8 │   │   ├── index.html │   │   ├── prompt-8.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   └── unit-9 │   ├── index.html │   ├── prompt-9.md │   ├── t-01.html │   ├── t-02.html │   ├── t-03.html │   ├── t-04.html │   ├── t-05.html │   ├── t-06.html │   ├── t-07.html │   ├── t-08.html │   └── t-09.html ├── module-4 │   ├── index.html │   ├── unit-10 │   │   ├── index.html │   │   ├── prompt-10.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   ├── unit-11 │   │   ├── index.html │   │   ├── prompt-11.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   ├── unit-12 │   │   ├── index.html │   │   ├── prompt-12.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   └── unit-13 │   ├── index.html │   ├── prompt-13.md │   ├── t-01.html │   ├── t-02.html │   ├── t-03.html │   ├── t-04.html │   ├── t-05.html │   ├── t-06.html │   ├── t-07.html │   ├── t-08.html │   └── t-09.html ├── module-5 │   ├── index.html │   ├── unit-14 │   │   ├── index.html │   │   ├── prompt-14.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   ├── unit-15 │   │   ├── index.html │   │   ├── prompt-15.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   └── unit-16 │   ├── index.html │   ├── prompt-16.md │   ├── t-01.html │   ├── t-02.html │   ├── t-03.html │   ├── t-04.html │   ├── t-05.html │   ├── t-06.html │   ├── t-07.html │   ├── t-08.html │   └── t-09.html ├── module-6 │   ├── index.html │   ├── unit-17 │   │   ├── index.html │   │   ├── prompt-17.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   ├── unit-18 │   │   ├── index.html │   │   ├── prompt-18.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   ├── unit-19 │   │   ├── index.html │   │   ├── prompt-19.md │   │   ├── t-01.html │   │   ├── t-02.html │   │   ├── t-03.html │   │   ├── t-04.html │   │   ├── t-05.html │   │   ├── t-06.html │   │   ├── t-07.html │   │   ├── t-08.html │   │   └── t-09.html │   └── unit-20 │   ├── index.html │   ├── prompt-20.md │   ├── t-01.html │   ├── t-02.html │   ├── t-03.html │   ├── t-04.html │   ├── t-05.html │   ├── t-06.html │   ├── t-07.html │   ├── t-08.html │   └── t-09.html └── styles.css 33 directories, 273 files To develop COMP328: Fundamentals of Machine Learning as a high-quality open online course, I recommend treating the project as both a curriculum design exercise and a content production workflow. The objective is not merely to create pages, but to build a coherent learning experience that progressively develops conceptual understanding, mathematical intuition, practical skills, and responsible AI awareness. Phase 1: Curriculum Exploration and Validation Before writing any content, establish exactly what learners should know and be able to do upon course completion. Step 1. Define Target Audience Primary Audience 2nd or 3rd year undergraduate Computing students Data science beginners Software developers transitioning into AI Technical professionals seeking ML foundations Assumed Prerequisites Students should already possess: Introductory programming Basic Python Introductory statistics Basic algebra Equivalent prerequisites: COMP 200 Programming Fundamentals COMP 268 Introduction to Statistics Step 2. Establish Course Learning Outcomes A graduate of COMP328 should be able to: Knowledge Explain machine learning principles Differentiate learning paradigms Describe major ML algorithms Skills Prepare datasets Train predictive models Evaluate model performance Interpret model results Professional Competencies Assess ethical implications Identify bias and fairness concerns Communicate ML findings Phase 2: Detailed Curriculum Mapping The next step is designing the complete body of knowledge. Module 1: Foundations of Machine Learning Why this module? Students need conceptual grounding before building models. Unit 1: Introduction to Machine Learning Topics: History of AI History of Machine Learning AI vs ML vs Deep Learning Applications and limitations Machine Learning lifecycle Unit 2: Data Fundamentals Topics: Structured data Unstructured data Features and labels Data quality Data preprocessing Training/validation/testing Unit 3: Python ML Ecosystem Topics: Jupyter notebooks NumPy Pandas Matplotlib Scikit-Learn Outcome: Students can prepare and explore datasets. Module 2: Supervised Learning Unit 4: Linear Regression Topics: Prediction problems Regression models Least-squares method Cost function Model fitting Practical: House price prediction Student grade prediction Unit 5: Logistic Regression Topics: Classification Probability Sigmoid function Decision boundaries Binary outcomes Practical: Customer churn Loan approval Unit 6: Model Evaluation Topics: Accuracy Precision Recall F1-score ROC curve Cross-validation Bias-variance tradeoff Outcome: Students learn when a model is actually useful. Module 3: Classical Machine Learning Algorithms Unit 7: Decision Trees Topics: Tree structure Entropy Information gain Interpretability Unit 8: Random Forests Topics: Ensemble learning Bagging Voting Feature importance Unit 9: Support Vector Machines Topics: Hyperplanes Maximum margin Kernel methods High-dimensional data Outcome: Students gain exposure to traditional ML algorithms. Module 4: Unsupervised Learning Unit 10: Clustering Topics: K-Means Hierarchical clustering Cluster quality Applications: Market segmentation Customer grouping Unit 11: Dimensionality Reduction Topics: Curse of dimensionality PCA Visualization Unit 12: Association Learning Topics: Market basket analysis Apriori algorithm Rules and confidence Unit 13: Anomaly Detection Topics: Outliers Fraud detection Network intrusion Monitoring systems Module 5: Neural Networks and Deep Learning Unit 14: Neural Networks Topics: Artificial neurons Weight updates Activation functions Backpropagation Unit 15: Deep Learning Topics: Hidden layers Optimization Regularization Dropout Unit 16: Convolutional Neural Networks Topics: Images Feature maps Convolution Pooling CNN architectures Outcome: Students understand modern AI foundations. Module 6: Responsible and Applied Machine Learning Unit 17: Model Deployment Topics: Production pipelines APIs Model monitoring MLOps overview Unit 18: Ethics Topics: Bias Privacy Transparency Accountability Unit 19: Governance and Fairness Topics: Algorithmic fairness Responsible AI Emerging regulations Unit 20: Course Integration Topics: Comprehensive review Exam preparation Capstone preparation Phase 3: Design Every Unit For each unit, use a standard template. Example: Unit Landing Page ├── Learning Outcomes ├── Reading Roadmap ├── Learning Activities ├── Assessment Activities ├── Summary Phase 4: Design Every Each (t-01.html, t-02.html, etc.) should follow a consistent instructional design. Standard Structure Section 1 Learning Objectives Section 2 Motivating Example Section 3 Concept Explanation Section 4 Visual Illustration Section 5 Worked Example Section 6 Interactive Activity Section 7 Self-Check Questions Section 8 Practice Exercises (new) Section 9 Problem Sets (new) Section 10 Discussion and Projects Section 11 Summary Section 12 Further Reading Thus every becomes self-contained. Phase 5: Develop Content Assets For each create: Text Typically: 1200-2000 words Visuals At least: 1 Concept Diagram 1 Process Flowchart 1 Real-world Example Code For practical topics: scikit-learn examples Example: from sklearn.linear_model import LinearRegression Phase 6: Develop Assessments End-of-Unit Quizzes Each unit: 10-15 questions Mix of: Multiple choice Short answer Conceptual reasoning Assignments Assignment 1 Data Exploration Assignment 2 Regression Modeling Assignment 3 Classification Analysis Assignment 4 Unsupervised Learning Assignment 5 Neural Network Modeling Phase 7: Develop the Capstone The capstone should integrate the complete ML lifecycle. Student Workflow Problem Selection Data Acquisition Data Cleaning Model Building Model Evaluation Interpretation Ethics Analysis Final Report Presentation Phase 8: Production Workflow To efficiently build the course, create content in the following order. Stage 1 Structural Files Directory hierarchy All index.html pages All prompts Navigation design Stage 2 Unit Pages Write: 20 unit landing pages Stage 3 s Write: ~170 s assuming: 20 units × 8-9 pages Stage 4 Assessments Create: 5 assignments 20 quizzes 1 final exam 1 capstone Stage 5 Multimedia Create: Course banner Module banners Infographics Algorithm flowcharts Architecture diagrams Stage 6 Quality Assurance Verify: Navigation works Learning outcomes align Assessments map to outcomes Accessibility compliance Mobile responsiveness Content consistency Recommended Content Development Sequence 1. Course Homepage 2. Welcome Orientation 3. Module Landing Pages 4. Unit Landing Pages 5. s 6. Quizzes 7. Assignments 8. Capstone 9. Graphics 10. Final Quality Review This approach will produce a course containing approximately: 6 Modules 20 Units 170+ Learning Pages 20 Quizzes 5 Assignments 1 Capstone Project Estimated Content: 200,000 to 300,000 words which is comparable in scope to a full-semester undergraduate machine learning course suitable for open online delivery.