Research Paper: The Effect of Programming Language Choice (Visual Basic vs Python) on Student Learning

Published: 16 September 2025| Version 1 | DOI: 10.17632/5s225szfrf.1
Contributor:
Eldirdiri Fadol Ibrahim Ibrahim

Description

Language Performance Motivation Frustration Satisfaction 0 Visual Basic 64.967142 2.009240 4.178894 1.919703 1 Visual Basic 58.617357 2.705548 4.280392 2.107873 2 Visual Basic 66.476885 2.760100 4.541526 3.023106 3 Visual Basic 75.230299 2.438406 4.526901 2.927259 4 Visual Basic 57.658466 2.887100 3.311165 2.485369 وصف البيانات: Performance Motivation Frustration Satisfaction count 200.000000 200.000000 200.000000 200.000000 mean 69.233594 3.565094 3.019384 3.425623 std 13.492327 0.812505 1.126010 1.008590 min 33.802549 1.656860 1.000000 1.013273 25% 58.786977 3.032835 1.980931 2.544087 50% 69.625347 3.606110 3.005692 3.527217 75% 79.339922 4.232570 4.044892 4.325437 max 100.000000 5.000000 5.000000 5.000000 إحصاءات لكل لغة: Performance Motivation Frustration \ mean std mean std mean std Language Python 79.505654 8.383649 4.114576 0.520953 2.019153 0.517544 Visual Basic 58.961535 9.081684 3.015613 0.667568 4.019616 0.509524 Satisfaction mean std Language Python 4.276458 0.446451 Visual Basic 2.574788 0.618871

Files

Steps to reproduce

Steps to Reproduce the Synthetic Dataset and Research Step 1: Research Setup Objective: Study the effect of the first programming language (Visual Basic vs Python) on students’ learning. Groups: Group 1: Visual Basic (100 students) Group 2: Python (100 students) Variables: Performance (0–100 scale) Motivation (1–5 scale) Frustration (1–5 scale) Satisfaction (1–5 scale) Step 2: Environment Setup Install Python 3.8+ (Anaconda or standard Python). Install the required libraries: pip install pandas numpy Step 3: Generate Synthetic Data Use random sampling with different means and standard deviations for each group. Python code to generate and save the data: import pandas as pd import numpy as np # Set seed for reproducibility np.random.seed(42) # Number of students per group n_students = 100 # Visual Basic group vb_data = pd.DataFrame({ 'Language': ['Visual Basic'] * n_students, 'Performance': np.random.normal(60, 10, n_students).clip(0, 100), 'Motivation': np.random.normal(3, 0.7, n_students).clip(1, 5), 'Frustration': np.random.normal(4, 0.5, n_students).clip(1, 5), 'Satisfaction': np.random.normal(2.5, 0.7, n_students).clip(1, 5) }) # Python group py_data = pd.DataFrame({ 'Language': ['Python'] * n_students, 'Performance': np.random.normal(80, 8, n_students).clip(0, 100), 'Motivation': np.random.normal(4.2, 0.6, n_students).clip(1, 5), 'Frustration': np.random.normal(2, 0.5, n_students).clip(1, 5), 'Satisfaction': np.random.normal(4.3, 0.5, n_students).clip(1, 5) }) # Combine groups data = pd.concat([vb_data, py_data], ignore_index=True) # Save to F:\ data.to_csv(r"F:\synthetic_programming_study.csv", index=False) print("Dataset saved successfully.") Step 4: Verify the Data Load the CSV and preview: df = pd.read_csv(r"F:\synthetic_programming_study.csv") print(df.head(10)) print(df.groupby("Language").mean(numeric_only=True)) Step 5: Reproduce the Study Compare average performance between Visual Basic and Python groups. Compare motivation, frustration, and satisfaction. Perform statistical tests (t-test, ANOVA). Create visualizations (boxplots, histograms). ✅ Following these steps ensures anyone can reproduce the dataset and repeat the analysis. Would you like me to also add the analysis part (t-tests + visualizations) to complete the reproducible research paper workflow?

Categories

Computer Program, Data Analysis

Licence