College Readiness Survey and Data Analysis

Author

Vicente Ruiz

Published

June 3, 2025

1 Project Overview

As part of my application for a Data Analyst role at IDEA Public Schools, I designed and conducted an original survey to explore how different high school experiences impact college readiness and student success. The project compares students from IDEA Public Schools to those from traditional public schools and other educational backgrounds. The analysis focuses on key factors such as dual enrollment, extracurricular involvement, skill development, family engagement, and alignment between high school preparation and college major.

2 Analysis Approach

The analysis focuses on identifying patterns and relationships between key aspects of students’ high school experiences and their outcomes in college. For each comparison, results are presented separately for IDEA and non-IDEA students. The methods and visualizations for each analysis are specified below.

  • Dual enrollment participation (Q7):
    • Compared with:
      • Q4: College preparedness
      • Q9: Time management confidence during first semester of college
    • Purpose: Does taking college-level courses in high school improve college readiness or confidence in managing responsibilities?
    • Methods: Group comparisons (means)
    • Visualization: Bar charts
  • Extracurricular involvement (Q8):
    • Compared with:
      • Q4: College preparedness
      • Q9: Time management confidence during first semester of college
    • Purpose: Is there a relationship between extracurricular involvement in high school and students’ college readiness or time management skills in college?
    • Methods: Group comparisons (means)
    • Visualization: Bar charts
  • Family engagement (Q12):
    • Compared with:
      • Q4: College preparedness
    • Purpose: How does family involvement during high school relate to students’ sense of college readiness?
    • Methods: Group comparisons (means)
    • Visualization: Bar charts
  • Skills development (Q10):
    • Compared with:
      • Q4: College preparedness
    • Purpose: Which high school experiences are most strongly associated with feeling ready for college?
    • Methods: Group comparisons (means)
    • Visualization: Bar charts
  • Academic support received (Q5):
    • Compared with:
      • Q4: College preparedness
    • Purpose: Does the quality of academic support in high school relate to higher college preparedness?
    • Methods: Group comparisons (means)
    • Visualization: Bar charts
  • Quality of teaching and teacher care (Q13 & Q14):
    • Compared with:
      • Q4: College preparedness
    • Purpose: Are students’ perceptions of teaching quality and teacher support associated with greater college readiness?
    • Methods: Group comparisons (means)
    • Visualization: Bar charts
  • Breadth of support services (Q6):
    • Compared with:
      • Q4: College preparedness
      • Q9: Time management confidence
    • Purpose: Does having access to a wider range of support services in high school relate to higher preparedness and better time management skills? Which individual supports are most strongly associated with higher scores?
    • Methods: Group comparisons (means); count of support services
    • Visualization: Bar charts, Line charts

Due to the small number of survey responses, the analysis focuses on group comparisons using averages (means) to highlight trends and differences across groups. More advanced statistical methods were not applied, as they would not yield reliable results with this sample size. All visualizations are created in Quarto to present findings clearly for educational leaders.

Note: In all visualizations, results are shown separately for IDEA and non-IDEA students, and categories with no responses are omitted for clarity. The full list of survey response options is included in the appendix.

3 Likert Scale Mapping

Several survey questions used Likert-style or ordinal response formats (for example, “Very confident” to “Not at all confident”, “Excellent” to “Very poor”, or “Strongly agree” to “Strongly disagree”). To enable statistical analysis, these responses were mapped to corresponding numeric values on a 1 to 5 scale, with higher values representing more positive outcomes or stronger agreement. This allowed for the calculation of means, correlations, and regression models while preserving the ordinal nature of the data.

4 Key Insights

This section summarizes the most important findings from the survey analysis. The goal is to highlight actionable insights that could inform decisions around school practices, program investments, and student support strategies. The following key patterns emerged from the data:

  • Impact of Dual Enrollment: Students who participated in dual enrollment or AP courses reported higher levels of college preparedness and stronger time management confidence compared to those who did not take advanced courses. Among IDEA students, every respondent participated in some form of advanced coursework and reported high preparedness. In the non-IDEA group, the highest scores were also associated with dual enrollment or AP participation, while the only students who felt completely unprepared had not taken any advanced courses or expressed regret about their dual enrollment experience.
  • Extracurricular Involvement: Students who reported greater involvement in extracurriculars generally felt more prepared for college and more confident managing their time. This pattern held for both IDEA and non-IDEA students, though a few non-IDEA students who reported no extracurricular involvement still felt highly prepared. Outliers suggest that lack of alignment between school supports and students’ career interests can undermine preparedness even among highly involved students.
  • Family Engagement: Among non-IDEA students, greater family involvement was associated with higher college preparedness. Among IDEA students, results were more mixed, likely due to small sample size. Some students with highly involved families still reported low preparedness, suggesting that family support alone may not compensate for gaps in school support or guidance.
  • Skills Development: Students who strongly agreed that their high school helped them develop key academic skills generally reported higher college preparedness. IDEA students who selected “Strongly agree” for each skill consistently reported the highest preparedness ratings. However, several students across both groups felt well prepared for college even when reporting weak skill development, reflecting how individual pathways and experiences can shape perceptions of readiness.
  • Academic Support: Among non-IDEA students, stronger academic support was clearly linked to higher preparedness. Among IDEA students, results were more varied, with some students rating their support as “Poor” or “Very poor” yet still reporting high preparedness. This may reflect differences in the quality of supports across campuses or differences in how students interpret academic support.
  • Quality of teaching and teaching care: Higher perceived teaching quality and stronger teacher care were generally associated with greater college preparedness, particularly among non-IDEA students. Among IDEA students, small sample sizes produced some inconsistent patterns. The overall trend suggests that positive teaching experiences and strong teacher relationships can contribute to student readiness for college.
  • Breadth of support services: Students who reported access to a broader range of support services generally reported higher preparedness and stronger time management confidence. This pattern was especially clear among non-IDEA students. Notably, some non-IDEA students reported no services at all, which may reflect either a true lack of services or a lack of student awareness. While IDEA students generally reported strong access to services, one student’s open-ended response suggested that the quality and depth of those services may vary across campuses.

These findings can help inform future improvements in curriculum design, extracurricular offerings, family engagement strategies, and support for advanced coursework.

5 Detailed Results

5.1 Dual Enrollment participation

We examined whether participating in dual enrollment or AP courses in high school was associated with two outcomes: students’ college preparedness and their confidence in managing time and responsibilities during their first semester of college. Among IDEA students, those who participated in dual enrollment reported the highest possible scores for both preparedness and time management, while those who took only AP courses reported high preparedness but average confidence in time management. No IDEA students reported not participating in any advanced courses, so this group could not be analyzed. For non-IDEA students, those who took dual enrollment or AP courses had higher average preparedness and time management scores than those who took no advanced courses. These results suggest that dual enrollment and AP participation are linked with feeling more prepared for college and better equipped to manage time.

Notably, only two students in the entire sample rated themselves as “not at all” prepared or confident in managing time, and both were non-IDEA students. The student who did not take any advanced courses wrote, “Not at all, they only offered help for mechanical engineering majors.” The other, who took dual enrollment, stated, “Nope not at all. I wish I had never gotten credits from high school.” These outlier responses highlight that individual experiences, such as limited course offerings or a mismatch between high school courses and a student’s intended college major, can strongly influence perceptions of readiness regardless of participation in advanced coursework.

Code
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Load your data (adjust path if needed)
df = pd.read_csv("College Readiness and Educational Experience Survey.csv")

# Prep columns and mappings
de_col = "Did you take any college level courses during high school?"
q4 = "On a scale of 1 to 5, how prepared did you feel for college-level coursework when you started?\n(1 means not prepared at all, 5 means extremely well prepared)\n "
idea_col = "Did you attend an IDEA Public School?"
q9 = [c for c in df.columns if "How confident were you in managing your own time" in c][0]

df["IDEA"] = df[idea_col].map({"Yes": "IDEA", "No": "Non-IDEA"})
tm_map = {
    "Very confident": 5,
    "Somewhat confident": 4,
    "Neutral": 3,
    "Not very confident": 2,
    "Not at all confident": 1
}
df["TimeManagement"] = df[q9].map(tm_map)
df["Preparedness"] = pd.to_numeric(df[q4], errors="coerce")

# Dual enrollment groups
def group_de(row):
    r = str(row).lower()
    if "dual enrollment" in r or "early college" in r:
        return "Dual Enrollment"
    elif "ap" in r:
        return "AP Only"
    elif "no" in r:
        return "None"
    else:
        return None

df["DE_Group"] = df[de_col].apply(group_de)
de_labels = ["AP Only", "Dual Enrollment", "None"]

# Helper for group means by DE status
def de_stats(df, group):
    subset = df[(df["IDEA"] == group) & df["DE_Group"].notna() & df["Preparedness"].notna() & df["TimeManagement"].notna()]
    means_p = subset.groupby("DE_Group")["Preparedness"].mean().reindex(de_labels)
    means_tm = subset.groupby("DE_Group")["TimeManagement"].mean().reindex(de_labels)
    return means_p, means_tm

means_idea, means_idea_tm = de_stats(df, "IDEA")
means_nonidea, means_nonidea_tm = de_stats(df, "Non-IDEA")

def bar_data(m1, m2):
    mask = m1.notna() | m2.notna()
    return m1[mask], m2[mask], [l for l, k in zip(de_labels, mask) if k]

prep_idea, tm_idea, labels_idea = bar_data(means_idea, means_idea_tm)
prep_nonidea, tm_nonidea, labels_nonidea = bar_data(means_nonidea, means_nonidea_tm)

width = 0.35
fig, axes = plt.subplots(1, 2, figsize=(13,5), sharey=True)

# IDEA chart
x_idea = np.arange(len(labels_idea))
axes[0].bar(x_idea - width/2, prep_idea, width, label='Preparedness', color='#4C72B0')
axes[0].bar(x_idea + width/2, tm_idea, width, label='Time Management', color='#55A868')
axes[0].set_xticks(x_idea)
axes[0].set_xticklabels(labels_idea)
axes[0].set_ylim(0, 5)
axes[0].set_ylabel("Average Score (1-5)")
axes[0].set_title("IDEA Students Only")
axes[0].legend(loc='upper center', bbox_to_anchor=(0.5, -0.18), ncol=2, frameon=False)

# Non-IDEA chart
x_nonidea = np.arange(len(labels_nonidea))
axes[1].bar(x_nonidea - width/2, prep_nonidea, width, label='Preparedness', color='#4C72B0')
axes[1].bar(x_nonidea + width/2, tm_nonidea, width, label='Time Management', color='#55A868')
axes[1].set_xticks(x_nonidea)
axes[1].set_xticklabels(labels_nonidea)
axes[1].set_ylim(0, 5)
axes[1].set_title("Non-IDEA Students Only")
axes[1].legend(loc='upper center', bbox_to_anchor=(0.5, -0.18), ncol=2, frameon=False)

plt.suptitle("Dual Enrollment Participation vs. Preparedness and Time Management")
plt.tight_layout(rect=[0, 0, 1, 0.95])
plt.show()

# Outlier detection for Dual Enrollment Impacts (Q4 and Q9)
q15_col = [c for c in df.columns if "Do you feel your high school prepared you for the major" in c][0]
outliers = df[
    (
        (df["Preparedness"] == 1) | 
        (df["TimeManagement"] == 1)
    ) & df["DE_Group"].notna()
]
outliers_summary = outliers[["IDEA", "DE_Group", "Preparedness", "TimeManagement", q15_col]]

5.2 Extracurricular involvement

We examined whether students’ involvement in extracurricular activities during high school was associated with their self-reported college preparedness and time management confidence. Among IDEA students, those who reported being very involved in extracurriculars felt the most prepared for college, with an average preparedness score of 5.0 and a time management score of 3.5. IDEA students who were not very involved still reported a high average preparedness of 4.0 and time management of 4.0. For non-IDEA students, those who were very involved in extracurriculars had an average preparedness score of 3.86 and a time management score of 3.57, while those who were somewhat involved had similar averages (3.8 for preparedness and 4.0 for time management). Interestingly, the few non-IDEA students who were not involved at all reported the highest possible scores (5.0) for both preparedness and time management, though this result is based on a very small number of responses.

Notably, two outliers were observed among non-IDEA students. One student who was very involved in extracurriculars reported feeling not at all prepared for college and not at all confident in managing time, writing, “Not at all, they only offered help for mechanical engineering majors.” Another student who was somewhat involved in extracurriculars gave the lowest possible preparedness rating but reported high time management confidence, commenting, “Nope not at all. I wish I had never gotten credits from high school.” These outlier responses suggest that, despite overall trends, individual perceptions of readiness can be shaped by factors such as limited high school support for certain career paths or dissatisfaction with advanced course credits.

Code
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Load data (adjust path if needed)
df = pd.read_csv("College Readiness and Educational Experience Survey.csv")

# Prepare columns and mappings
q4 = "On a scale of 1 to 5, how prepared did you feel for college-level coursework when you started?\n(1 means not prepared at all, 5 means extremely well prepared)\n "
q8 = "Were you involved in extracurricular activities during high school?"
q9 = [c for c in df.columns if "How confident were you in managing your own time" in c][0]
idea_col = "Did you attend an IDEA Public School?"

df["IDEA"] = df[idea_col].map({"Yes": "IDEA", "No": "Non-IDEA"})
tm_map = {
    "Very confident": 5,
    "Somewhat confident": 4,
    "Neutral": 3,
    "Not very confident": 2,
    "Not at all confident": 1
}
df["TimeManagement"] = df[q9].map(tm_map)
df["Preparedness"] = pd.to_numeric(df[q4], errors="coerce")

xtra_labels = [
    "Yes, I was very involved",
    "Yes, I was somewhat involved",
    "I was not very involved",
    "I was not involved at all"
]

# Function to prep group stats for each subgroup
def extra_stats(df, group):
    subset = df[(df["IDEA"] == group) & df["Preparedness"].notna() & df["TimeManagement"].notna() & df[q8].notna()]
    means_p = subset.groupby(q8)["Preparedness"].mean().reindex(xtra_labels)
    means_tm = subset.groupby(q8)["TimeManagement"].mean().reindex(xtra_labels)
    return means_p, means_tm

means_p_idea, means_tm_idea = extra_stats(df, "IDEA")
means_p_nonidea, means_tm_nonidea = extra_stats(df, "Non-IDEA")

# Prepare chart data (drop NaNs)
def bar_data(m1, m2):
    mask = m1.notna() | m2.notna()
    return m1[mask], m2[mask], [l for l, k in zip(xtra_labels, mask) if k]

prep_idea, tm_idea, labels_idea = bar_data(means_p_idea, means_tm_idea)
prep_nonidea, tm_nonidea, labels_nonidea = bar_data(means_p_nonidea, means_tm_nonidea)

width = 0.35
fig, axes = plt.subplots(1, 2, figsize=(13,5), sharey=True)

# IDEA Students
x_idea = np.arange(len(labels_idea))
axes[0].bar(x_idea - width/2, prep_idea, width, label='Preparedness', color='#4C72B0')
axes[0].bar(x_idea + width/2, tm_idea, width, label='Time Management', color='#55A868')
axes[0].set_xticks(x_idea)
axes[0].set_xticklabels(labels_idea, rotation=15)
axes[0].set_ylim(0, 5)
axes[0].set_ylabel("Average Score (1-5)")
axes[0].set_title("IDEA Students Only")
axes[0].legend(loc='upper center', bbox_to_anchor=(0.5, -0.28), ncol=2, frameon=False)

# Non-IDEA Students
x_nonidea = np.arange(len(labels_nonidea))
axes[1].bar(x_nonidea - width/2, prep_nonidea, width, label='Preparedness', color='#4C72B0')
axes[1].bar(x_nonidea + width/2, tm_nonidea, width, label='Time Management', color='#55A868')
axes[1].set_xticks(x_nonidea)
axes[1].set_xticklabels(labels_nonidea, rotation=15)
axes[1].set_ylim(0, 5)
axes[1].set_title("Non-IDEA Students Only")
axes[1].legend(loc='upper center', bbox_to_anchor=(0.5, -0.28), ncol=2, frameon=False)

plt.suptitle("Extracurricular Involvement vs. Preparedness and Time Management")
plt.tight_layout(rect=[0, 0, 1, 0.95])
plt.show()

# Outlier detection for Extracurricular Impacts (Q4 and Q9)
q15_col = [c for c in df.columns if "Do you feel your high school prepared you for the major" in c][0]
outliers = df[
    (
        (df["Preparedness"] == 1) | 
        (df["TimeManagement"] == 1)
    ) & df[q8].notna()
]
outliers_summary = outliers[["IDEA", q8, "Preparedness", "TimeManagement", q15_col]]

5.3 Family engagement

We examined whether students who felt their families were more involved in their academic progress during high school reported higher levels of college preparedness. Among IDEA students, the small number of responses meant that not all categories were represented. Of the available responses, those who described their families as “rarely involved” reported a higher average preparedness score than those who described their families as “very involved.” For non-IDEA students, the more typical pattern emerged: students who reported “very involved” or “somewhat involved” families tended to feel more prepared for college compared to those who reported their families were “rarely involved” or “not involved at all.”

Reviewing for outliers, one non-IDEA student with a preparedness score of 1 indicated that their family was “very involved.” In their open-ended response, they wrote, “Not at all, they only offered help for mechanical engineering majors.” Another non-IDEA outlier who rated their family as “rarely involved” also gave a preparedness score of 1, writing, “Nope not at all. I wish I had never gotten credits from high school.” These responses suggest that, even with strong or weak family involvement, students may feel unprepared if school support or guidance does not align with their intended field or interests.

Code
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Load your data (adjust path if needed)
df = pd.read_csv("College Readiness and Educational Experience Survey.csv")

# Prep columns
q4 = "On a scale of 1 to 5, how prepared did you feel for college-level coursework when you started?\n(1 means not prepared at all, 5 means extremely well prepared)\n "
q12 = "Did your family feel involved or informed about your academic progress during high school?"
idea_col = "Did you attend an IDEA Public School?"

df["IDEA"] = df[idea_col].map({"Yes": "IDEA", "No": "Non-IDEA"})
df["Preparedness"] = pd.to_numeric(df[q4], errors="coerce")

family_labels = [
    "Very involved",
    "Somewhat involved",
    "Rarely involved",
    "Not involved at all",
    "Not sure"
]

def fam_stats(df, group):
    subset = df[(df["IDEA"] == group) & df["Preparedness"].notna() & df[q12].notna()]
    means_p = subset.groupby(q12)["Preparedness"].mean().reindex(family_labels)
    return means_p

means_idea = fam_stats(df, "IDEA")
means_nonidea = fam_stats(df, "Non-IDEA")

def bar_data(m):
    mask = m.notna()
    return m[mask], [l for l, k in zip(family_labels, mask) if k]

prep_idea, labels_idea = bar_data(means_idea)
prep_nonidea, labels_nonidea = bar_data(means_nonidea)

width = 0.5
fig, axes = plt.subplots(1, 2, figsize=(13,5), sharey=True)

# IDEA chart
x_idea = np.arange(len(labels_idea))
axes[0].bar(x_idea, prep_idea, width, color='#4C72B0')
axes[0].set_xticks(x_idea)
axes[0].set_xticklabels(labels_idea, rotation=15)
axes[0].set_ylim(0, 5)
axes[0].set_ylabel("Average Preparedness (1-5)")
axes[0].set_title("IDEA Students Only")

# Non-IDEA chart
x_nonidea = np.arange(len(labels_nonidea))
axes[1].bar(x_nonidea, prep_nonidea, width, color='#4C72B0')
axes[1].set_xticks(x_nonidea)
axes[1].set_xticklabels(labels_nonidea, rotation=15)
axes[1].set_ylim(0, 5)
axes[1].set_title("Non-IDEA Students Only")

plt.suptitle("Family Engagement vs. College Preparedness")
plt.tight_layout(rect=[0, 0, 1, 0.95])
plt.show()

# Outlier detection: preparedness = 1
outliers = df[(df["Preparedness"] == 1) & df[q12].notna()]
q15_col = [c for c in df.columns if "Do you feel your high school prepared you for the major" in c][0]
outliers_summary = outliers[["IDEA", q12, "Preparedness", q15_col]]

5.4 Skills development

We examined whether students who felt their high school helped them develop specific academic skills reported higher levels of college preparedness. Among IDEA students, all of those who selected “Strongly agree” for the available skills also reported the highest possible preparedness rating of 5. This resulted in average preparedness scores of 5 across all skills for IDEA students in the chart. For non-IDEA students, the pattern was similar: students who selected “Strongly agree” generally reported high levels of preparedness, though with more variation across skills.

Reviewing for outliers, one IDEA student with a preparedness score of 5 selected “Strongly disagree” for multiple skills, including “Independent study habits,” “Confidence speaking in groups or presentations,” “Comfort using digital tools like Excel or Google Sheets,” and “Ability to find and use data for research decision making.” In their open-ended response, they wrote, “No because my school offered AP courses that did not transfer into my degree. So I took those classes for nothing and it was very upsetting. I was in the top 10% of my class, yet earned little to no college credit. My school only encouraged us to apply to college outside of TX rather than an affordable option like UTRGV.”

Another Non-IDEA student with a preparedness score of 5 selected “Strongly disagree” for “Critical thinking skills” and “Independent study habits.” In their open-ended response, they wrote, “I was originally in the medical field, BUT too many math classes were required for my program. I had to switch to education because I had taken so many education classes for my AP certification.” These responses suggest that, even when students feel that specific academic skills were not strongly developed in high school, they may still perceive themselves as well prepared for college, depending on their individual pathways and experiences.

Code
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Load dataset
df = pd.read_csv("College Readiness and Educational Experience Survey.csv")

# Identify relevant columns
q4 = "On a scale of 1 to 5, how prepared did you feel for college-level coursework when you started?\n(1 means not prepared at all, 5 means extremely well prepared)\n "
idea_col = "Did you attend an IDEA Public School?"

# Find Q10 skill columns
q10_cols = [col for col in df.columns if "Do you feel your high school helped you develop" in col]

# Prep IDEA and Preparedness columns
df["IDEA"] = df[idea_col].map({"Yes": "IDEA", "No": "Non-IDEA"})
df["Preparedness"] = pd.to_numeric(df[q4], errors="coerce")

# Function to compute mean preparedness for Strongly agree responses (with text cleanup)
def compute_strongly_agree_means(df, group):
    means = []
    for skill_col in q10_cols:
        subset = df[
            (df["IDEA"] == group) &
            (df["Preparedness"].notna()) &
            (df[skill_col].str.strip().str.lower() == "strongly agree")
        ]
        mean_prep = subset["Preparedness"].mean()
        means.append(mean_prep)
    return means

# Compute means
means_idea = compute_strongly_agree_means(df, "IDEA")
means_nonidea = compute_strongly_agree_means(df, "Non-IDEA")

# Plot clean horizontal bar charts
fig, axes = plt.subplots(1, 2, figsize=(14, 6), sharey=True)

# Assign colors to skills
colors = plt.cm.tab20.colors[:len(q10_cols)]

# IDEA plot
x_pos = np.arange(len(q10_cols))
axes[0].bar(x_pos, means_idea, color=colors)
axes[0].set_xticks([])
axes[0].set_ylim(0, 5)
axes[0].set_ylabel("Average Preparedness (1-5)")
axes[0].set_title("IDEA Students")

# Non-IDEA plot
axes[1].bar(x_pos, means_nonidea, color=colors)
axes[1].set_xticks([])
axes[1].set_ylim(0, 5)
axes[1].set_title("Non-IDEA Students")

# Add legend
handles = [plt.Rectangle((0,0),1,1, color=colors[i]) for i in range(len(q10_cols))]
fig.legend(handles, q10_cols, loc='lower center', bbox_to_anchor=(0.5, -0.02), ncol=2, fontsize='small')

plt.tight_layout(rect=[0, 0.07, 1, 1])
plt.show()

# Outlier detection: Strongly agree + Prep=1 OR Strongly disagree + Prep=5
q15_col = [c for c in df.columns if "Do you feel your high school prepared you for the major" in c][0]

outlier_rows = []

for skill_col in q10_cols:
    outliers = df[
        ((df[skill_col].str.strip().str.lower() == "strongly agree") & (df["Preparedness"] == 1)) |
        ((df[skill_col].str.strip().str.lower() == "strongly disagree") & (df["Preparedness"] == 5))
    ]
    if not outliers.empty:
        temp = outliers[["IDEA", skill_col, "Preparedness", q15_col]].copy()
        outlier_rows.append(temp)

# Combine all outliers into one dataframe
if outlier_rows:
    outliers_summary = pd.concat(outlier_rows, ignore_index=True)
else:
    outliers_summary = pd.DataFrame(columns=["IDEA", skill_col, "Preparedness", q15_col])

5.5 Academic Support

We examined whether students who felt they received stronger academic support in high school reported higher levels of college preparedness. Among IDEA students, the small number of responses meant that not all categories were represented. Of the available responses, those who rated their academic support as “Poor” or “Very poor” reported higher average preparedness scores than those who rated their support as “Good.” This unexpected pattern is likely due to the small sample size of IDEA students in this category. For non-IDEA students, the more typical pattern was observed: students who rated their academic support more positively tended to report higher levels of preparedness.

Reviewing for outliers, one IDEA student with a preparedness score of 5 rated their academic support as “Very poor.” In their open-ended response, they wrote, “Yes, I am majoring in Criminal Justice. As a first-generation college student, I have struggled finding scholarships, guidance, and financial advice from my high school. I have had to learn everything on my own.” This suggests that, in some cases, students may feel academically prepared for college despite perceiving major gaps in the academic support they received during high school.

Code
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Load dataset
df = pd.read_csv("College Readiness and Educational Experience Survey.csv")

# Identify relevant columns
q4 = "On a scale of 1 to 5, how prepared did you feel for college-level coursework when you started?\n(1 means not prepared at all, 5 means extremely well prepared)\n "
q5 = "How would you rate the quality of academic support you received in high school?"
idea_col = "Did you attend an IDEA Public School?"

# Prep IDEA and Preparedness columns
df["IDEA"] = df[idea_col].map({"Yes": "IDEA", "No": "Non-IDEA"})
df["Preparedness"] = pd.to_numeric(df[q4], errors="coerce")

# Define the correct order of responses
support_labels = [
    "Excellent",
    "Good",
    "Fair",
    "Poor",
    "Very poor"
]

# Function to compute mean preparedness by academic support level
def support_stats(df, group):
    subset = df[(df["IDEA"] == group) & df["Preparedness"].notna() & df[q5].notna()]
    means_p = subset.groupby(q5)["Preparedness"].mean().reindex(support_labels)
    return means_p

# Compute means for IDEA and Non-IDEA
means_idea = support_stats(df, "IDEA")
means_nonidea = support_stats(df, "Non-IDEA")

# Prepare bar data
def bar_data(m):
    mask = m.notna()
    return m[mask], [l for l, k in zip(support_labels, mask) if k]

prep_idea, labels_idea = bar_data(means_idea)
prep_nonidea, labels_nonidea = bar_data(means_nonidea)

# Plot side-by-side bar charts
width = 0.5
fig, axes = plt.subplots(1, 2, figsize=(13, 5), sharey=True)

# IDEA chart
x_idea = np.arange(len(labels_idea))
axes[0].bar(x_idea, prep_idea, width, color='#4C72B0')
axes[0].set_xticks(x_idea)
axes[0].set_xticklabels(labels_idea, rotation=15)
axes[0].set_ylim(0, 5)
axes[0].set_ylabel("Average Preparedness (1-5)")
axes[0].set_title("IDEA Students Only")

# Non-IDEA chart
x_nonidea = np.arange(len(labels_nonidea))
axes[1].bar(x_nonidea, prep_nonidea, width, color='#4C72B0')
axes[1].set_xticks(x_nonidea)
axes[1].set_xticklabels(labels_nonidea, rotation=15)
axes[1].set_ylim(0, 5)
axes[1].set_title("Non-IDEA Students Only")

plt.suptitle("Academic Support vs. College Preparedness")
plt.tight_layout(rect=[0, 0, 1, 0.95])
plt.show()

# Outlier detection: "Excellent" + Prep=1 and "Poor" + Prep=5
q15_col = [c for c in df.columns if "Do you feel your high school prepared you for the major" in c][0]

outliers = df[
    ((df[q5].str.strip().str.lower() == "excellent") & (df["Preparedness"] == 1)) |
    ((df[q5].str.strip().str.lower() == "very poor") & (df["Preparedness"] == 5))
]

if not outliers.empty:
    outliers_summary = outliers[["IDEA", q5, "Preparedness", q15_col]]
else:
    outliers_summary = pd.DataFrame(columns=["IDEA", q5, "Preparedness", q15_col])

5.6 Quality of teaching and teaching care

We examined whether students who felt they experienced higher quality teaching or stronger teacher support in high school reported higher levels of college preparedness. Among IDEA students, responses for teaching quality were limited, and not all categories were represented. Of the available responses, students who rated teaching quality as “Fair” reported higher average preparedness scores than those who rated it as “Good,” a pattern likely influenced by the small number of responses in each category. Among non-IDEA students, a more typical pattern was observed: students who rated teaching quality more positively tended to report higher preparedness.

For teacher care, IDEA students again provided a limited range of responses, with most selecting either “Always” or “Often.” Those who selected “Always” reported higher average preparedness than those who selected “Often.” Among non-IDEA students, responses spanned a wider range. While preparedness generally aligned with reported levels of teacher care, there were some inconsistencies across the mid-range categories, which may reflect variation in student experiences or small sample sizes.

No outliers were detected for either measure in this analysis.

Code
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Load dataset
df = pd.read_csv("College Readiness and Educational Experience Survey.csv")

# Identify relevant columns
q4 = "On a scale of 1 to 5, how prepared did you feel for college-level coursework when you started?\n(1 means not prepared at all, 5 means extremely well prepared)\n "
q13 = "How would you describe the quality of teaching you experienced at your high school?"
q14 = "Did you feel your teachers genuinely cared about your success beyond academics?"
idea_col = "Did you attend an IDEA Public School?"

# Prep IDEA and Preparedness columns
df["IDEA"] = df[idea_col].map({"Yes": "IDEA", "No": "Non-IDEA"})
df["Preparedness"] = pd.to_numeric(df[q4], errors="coerce")

# Define correct order of responses for Q13
q13_labels = [
    "Excellent, teachers were knowledgeable, supportive, and engaging",
    "Good, teachers generally cared and taught well",
    "Fair, some teachers were good, others were not",
    "Poor, teaching was inconsistent or unengaging",
    "Very poor, teachers seemed unmotivated or ineffective"
]

# Define correct order of responses for Q14
q14_labels = [
    "Always",
    "Often",
    "Sometimes",
    "Rarely",
    "Never"
]

# Function to compute mean preparedness for any question
def compute_means(df, group, question_col, labels):
    subset = df[(df["IDEA"] == group) & df["Preparedness"].notna() & df[question_col].notna()]
    means_p = subset.groupby(question_col)["Preparedness"].mean().reindex(labels)
    return means_p

# Function to prepare bar data
def bar_data(m, labels):
    mask = m.notna()
    return m[mask], [l for l, k in zip(labels, mask) if k]

# Plot function for Q13 (with LEGEND instead of long labels)
def plot_q13_with_legend(question_col, labels, title_suffix):
    means_idea = compute_means(df, "IDEA", question_col, labels)
    means_nonidea = compute_means(df, "Non-IDEA", question_col, labels)

    prep_idea, labels_idea = bar_data(means_idea, labels)
    prep_nonidea, labels_nonidea = bar_data(means_nonidea, labels)

    # Plot
    width = 0.5
    fig, axes = plt.subplots(1, 2, figsize=(13, 6), sharey=True)

    # IDEA chart
    x_idea = np.arange(len(labels_idea))
    axes[0].bar(x_idea, prep_idea, width, color='#4C72B0')
    axes[0].set_xticks(x_idea)
    axes[0].set_xticklabels([str(i+1) for i in range(len(labels_idea))])
    axes[0].set_ylim(0, 5)
    axes[0].set_ylabel("Average Preparedness (1-5)")
    axes[0].set_title("IDEA Students Only")

    # Non-IDEA chart
    x_nonidea = np.arange(len(labels_nonidea))
    axes[1].bar(x_nonidea, prep_nonidea, width, color='#4C72B0')
    axes[1].set_xticks(x_nonidea)
    axes[1].set_xticklabels([str(i+1) for i in range(len(labels_nonidea))])
    axes[1].set_ylim(0, 5)
    axes[1].set_title("Non-IDEA Students Only")

    plt.suptitle(f"{title_suffix} vs. College Preparedness")
    plt.tight_layout(rect=[0, 0.08, 1, 0.95])

    # Add LEGEND below
    handles = [plt.Rectangle((0,0),1,1, color='#4C72B0')] * len(labels)
    fig.legend(handles, [f"{i+1}: {label}" for i, label in enumerate(labels)],
               loc='lower center', bbox_to_anchor=(0.5, -0.07), ncol=1, fontsize='small')

    plt.show()

# Plot function for Q14 (standard labels)
def plot_q14_standard(question_col, labels, title_suffix):
    means_idea = compute_means(df, "IDEA", question_col, labels)
    means_nonidea = compute_means(df, "Non-IDEA", question_col, labels)

    prep_idea, labels_idea = bar_data(means_idea, labels)
    prep_nonidea, labels_nonidea = bar_data(means_nonidea, labels)

    # Plot
    width = 0.5
    fig, axes = plt.subplots(1, 2, figsize=(13, 5), sharey=True)

    # IDEA chart
    x_idea = np.arange(len(labels_idea))
    axes[0].bar(x_idea, prep_idea, width, color='#4C72B0')
    axes[0].set_xticks(x_idea)
    axes[0].set_xticklabels(labels_idea, rotation=15)
    axes[0].set_ylim(0, 5)
    axes[0].set_ylabel("Average Preparedness (1-5)")
    axes[0].set_title("IDEA Students Only")

    # Non-IDEA chart
    x_nonidea = np.arange(len(labels_nonidea))
    axes[1].bar(x_nonidea, prep_nonidea, width, color='#4C72B0')
    axes[1].set_xticks(x_nonidea)
    axes[1].set_xticklabels(labels_nonidea, rotation=15)
    axes[1].set_ylim(0, 5)
    axes[1].set_title("Non-IDEA Students Only")

    plt.suptitle(f"{title_suffix} vs. College Preparedness")
    plt.tight_layout(rect=[0, 0, 1, 0.95])
    plt.show()

# ---- Plot Q13 with LEGEND ----
plot_q13_with_legend(q13, q13_labels, "Quality of Teaching")

# ---- Plot Q14 standard ----
plot_q14_standard(q14, q14_labels, "Teacher Care and Support")

# ---- Outlier detection for Q13 ----
q15_col = [c for c in df.columns if "Do you feel your high school prepared you for the major" in c][0]

outliers_q13 = df[
    ((df[q13].str.strip().str.lower() == "excellent, teachers were knowledgeable, supportive, and engaging") & (df["Preparedness"] == 1)) |
    ((df[q13].str.strip().str.lower() == "very poor, teachers seemed unmotivated or ineffective") & (df["Preparedness"] == 5))
]

if not outliers_q13.empty:
    outliers_summary_q13 = outliers_q13[["IDEA", q13, "Preparedness", q15_col]]
else:
    outliers_summary_q13 = pd.DataFrame(columns=["IDEA", q13, "Preparedness", q15_col])

# ---- Outlier detection for Q14 ----
outliers_q14 = df[
    ((df[q14].str.strip().str.lower() == "always") & (df["Preparedness"] == 1)) |
    ((df[q14].str.strip().str.lower() == "never") & (df["Preparedness"] == 5))
]

if not outliers_q14.empty:
    outliers_summary_q14 = outliers_q14[["IDEA", q14, "Preparedness", q15_col]]
else:
    outliers_summary_q14 = pd.DataFrame(columns=["IDEA", q14, "Preparedness", q15_col])

5.7 Breadth of support services

We examined whether access to a broader range of support services in high school was associated with higher levels of college preparedness and greater confidence in time management. Among IDEA students, those who reported access to more services tended to report higher preparedness and time management confidence. However, the relatively small number of responses at some levels of service breadth may contribute to variation in these results. For non-IDEA students, a clearer trend emerged: students with access to more services reported progressively higher preparedness and time management confidence.

Interestingly, non-IDEA students were the only group in which some students reported that their school offered no services at all. This may reflect either an actual lack of services, or a lack of student awareness about services offered. As one non-IDEA student noted, it is not uncommon for students to be unaware of available resources at their school. However, IDEA students are not immune to this dynamic. One IDEA student selected all services when asked, but also wrote in their open-ended response: “Yes, I am majoring in Criminal Justice. As a freshman, students are required to take a business class. As a sophomore, students are required to take a computer science class. As a junior, students are required to take a nursing class. As a senior, we were required to take a principles of law class. We were able to deeply explore various fields of education and work.” This suggests that while many IDEA schools offer a wide range of supports, the depth and quality of those supports may vary across campuses.

When examining individual services, the overall trends for IDEA and non-IDEA students were relatively similar. In both groups, certain services such as Time management skills and Career or major exploration were associated with somewhat higher average preparedness and time management confidence. No outliers were detected in this analysis.

Code
import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

# Load dataset
df = pd.read_csv("College Readiness and Educational Experience Survey.csv")

# Identify columns
q4 = "On a scale of 1 to 5, how prepared did you feel for college-level coursework when you started?\n(1 means not prepared at all, 5 means extremely well prepared)\n "
q9_col = "How confident were you in managing your own time and responsibilities during your first semester of college?"
q6 = "Did your high school offer support in the following areas?\n(Select all that apply)\n    "
idea_col = "Did you attend an IDEA Public School?"

# Prep IDEA and Preparedness
df["IDEA"] = df[idea_col].map({"Yes": "IDEA", "No": "Non-IDEA"})
df["Preparedness"] = pd.to_numeric(df[q4], errors="coerce")

# Map Q9 responses to 1–5 scale
time_mgmt_mapping = {
    "Very confident": 5,
    "Somewhat confident": 4,
    "Neutral": 3,
    "Not very confident": 2,
    "Not at all confident": 1
}

df["TimeManagement"] = df[q9_col].map(time_mgmt_mapping)

# Q6: Services — exact wording
services = [
    "College application help",
    "SAT or ACT prep",
    "Financial aid guidance (FAFSA, scholarships)",
    "Time management skills",
    "Advanced coursework (AP or Dual Credit)",
    "Career or major exploration",
    "None of the above"  # will ignore this for individual service analysis
]

# ---- PART 1: Breadth of services ----

# Correct function to count services
def count_services(row):
    if pd.isna(row[q6]):
        return 0
    selected_raw = [s.strip() for s in row[q6].split(";") if s.strip() != ""]
    # Fix buggy value
    selected = []
    for s in selected_raw:
        if s == "Financial aid guidance (FAFSA, scholarships":
            s = "Financial aid guidance (FAFSA, scholarships)"
        selected.append(s)
    count = sum([1 for s in selected if s != "None of the above"])
    return count

df["ServicesCount"] = df.apply(count_services, axis=1)

# Function to compute mean by # of services
def compute_breadth_means(df, group, outcome):
    subset = df[(df["IDEA"] == group) & df[outcome].notna()]
    means = subset.groupby("ServicesCount")[outcome].mean()
    return means

# ---- Plot Breadth vs Outcome ----
def plot_breadth(outcome_col, outcome_label, title_suffix):
    means_idea = compute_breadth_means(df, "IDEA", outcome_col)
    means_nonidea = compute_breadth_means(df, "Non-IDEA", outcome_col)

    # Plot
    width = 0.5
    fig, axes = plt.subplots(1, 2, figsize=(13, 5), sharey=True)

    # IDEA
    x_idea = np.arange(len(means_idea))
    axes[0].bar(x_idea, means_idea.values, width, color='#4C72B0')
    axes[0].set_xticks(x_idea)
    axes[0].set_xticklabels(means_idea.index)
    axes[0].set_ylim(0, 5)
    axes[0].set_ylabel(outcome_label)
    axes[0].set_title("IDEA Students Only")

    # Non-IDEA
    x_nonidea = np.arange(len(means_nonidea))
    axes[1].bar(x_nonidea, means_nonidea.values, width, color='#4C72B0')
    axes[1].set_xticks(x_nonidea)
    axes[1].set_xticklabels(means_nonidea.index)
    axes[1].set_ylim(0, 5)
    axes[1].set_title("Non-IDEA Students Only")

    plt.suptitle(f"Breadth of Support Services vs {title_suffix}")
    plt.tight_layout(rect=[0, 0, 1, 0.95])
    plt.show()

# ---- Plot Breadth Charts ----
plot_breadth("Preparedness", "Average Preparedness (1-5)", "College Preparedness")
plot_breadth("TimeManagement", "Average Time Management Confidence (1-5)", "Time Management Confidence")

# ---- PART 2: Individual services ----

# Correct function to flag individual services
for s in services:
    colname = f"ServiceSelected_{s}"
    def service_selected(row):
        if pd.isna(row[q6]):
            return 0
        selected_raw = [x.strip() for x in row[q6].split(";") if x.strip() != ""]
        selected = []
        for x in selected_raw:
            if x == "Financial aid guidance (FAFSA, scholarships":
                x = "Financial aid guidance (FAFSA, scholarships)"
            selected.append(x)
        return 1 if s in selected else 0
    df[colname] = df.apply(service_selected, axis=1)

# Function to compute mean by service
def compute_service_means(df, group, outcome):
    means = {}
    for s in services:
        if s == "None of the above":
            continue  # skip for individual service analysis
        colname = f"ServiceSelected_{s}"
        subset = df[(df["IDEA"] == group) & df[outcome].notna()]
        mean_score = subset[subset[colname] == 1][outcome].mean()
        means[s] = mean_score
    return means

# ---- Plot Individual Services vs Outcome ----
def plot_services(outcome_col, outcome_label, title_suffix):
    means_idea = compute_service_means(df, "IDEA", outcome_col)
    means_nonidea = compute_service_means(df, "Non-IDEA", outcome_col)

    # Plot
    fig, axes = plt.subplots(1, 2, figsize=(13, 6), sharey=True)

    # IDEA
    axes[0].scatter(range(len(means_idea)), list(means_idea.values()), color='#4C72B0')
    axes[0].plot(range(len(means_idea)), list(means_idea.values()), color='#4C72B0')
    axes[0].set_xticks(range(len(means_idea)))
    axes[0].set_xticklabels(list(means_idea.keys()), rotation=15, ha='right')
    axes[0].set_ylim(0, 5)
    axes[0].set_ylabel(outcome_label)
    axes[0].set_title("IDEA Students Only")

    # Non-IDEA
    axes[1].scatter(range(len(means_nonidea)), list(means_nonidea.values()), color='#4C72B0')
    axes[1].plot(range(len(means_nonidea)), list(means_nonidea.values()), color='#4C72B0')
    axes[1].set_xticks(range(len(means_nonidea)))
    axes[1].set_xticklabels(list(means_nonidea.keys()), rotation=15, ha='right')
    axes[1].set_ylim(0, 5)
    axes[1].set_title("Non-IDEA Students Only")

    plt.suptitle(f"Individual Support Services vs {title_suffix}")
    plt.tight_layout(rect=[0, 0, 1, 0.95])
    plt.show()

# ---- Plot Individual Services Charts ----
plot_services("Preparedness", "Average Preparedness (1-5)", "College Preparedness")
plot_services("TimeManagement", "Average Time Management Confidence (1-5)", "Time Management Confidence")

# ---- Outlier detection (individual services only) ----
q15_col = [c for c in df.columns if "Do you feel your high school prepared you for the major" in c][0]

outlier_rows = []
for s in services:
    if s == "None of the above":
        continue
    colname = f"ServiceSelected_{s}"
    service_outliers = df[
        ((df[colname] == 1) & (df["Preparedness"] == 1)) |
        ((df[colname] == 1) & (df["TimeManagement"] == 1))
    ]
    if not service_outliers.empty:
        for _, row in service_outliers.iterrows():
            outlier_rows.append({
                "IDEA": row["IDEA"],
                "Service": s,
                "Preparedness": row["Preparedness"],
                "TimeManagement": row["TimeManagement"],
                "Q15_Response": row[q15_col]
            })

# Create outliers summary dataframe
if outlier_rows:
    outliers_summary_services = pd.DataFrame(outlier_rows)
else:
    outliers_summary_services = pd.DataFrame(columns=["IDEA", "Service", "Preparedness", "TimeManagement", "Q15_Response"])

6 Conclusion and Recommendations

This survey analysis highlights several actionable insights for school and network leaders who want to strengthen college readiness outcomes. Many of the patterns align with expectations. For example, stronger skills development and broader access to support services are linked with higher preparedness. However, the findings also reveal important nuances and areas for further attention.

First, several results suggest that breadth of services alone is not sufficient. Quality, alignment, and communication about supports also matter. Even students with access to many services sometimes reported low preparedness, while others who perceived limited support still felt ready. This underscores the importance of making sure that services are both high-quality and well-matched to students’ academic and career pathways. It is also important to ensure that students are clearly informed about what is available.

Second, outlier responses and open-ended comments consistently pointed to the role of career alignment and credit applicability in shaping preparedness. Students expressed frustration when coursework or supports did not match their intended fields or when earned credits failed to transfer. This suggests a need to more intentionally align high school experiences, especially advanced coursework and advising, with students’ postsecondary goals.

Third, the results highlight opportunities to strengthen teacher-student relationships and communication about support services. This is especially important in non-IDEA contexts where awareness gaps were evident. IDEA leaders should also consider monitoring variation across campuses, as responses indicated that quality and depth of supports may not be consistent across the network.

In summary, while the survey results affirm the value of strong academic skills, extracurricular involvement, quality teaching, and robust support services, they also point to key areas where greater alignment, consistency, and communication could further strengthen college readiness outcomes.

7 Reflections and Next Steps

This survey provided useful insights into how students perceive their college readiness and which high school experiences they view as most helpful. At the same time, several limitations should be kept in mind.

First, some subgroups had small sample sizes, especially among IDEA students in certain categories. This means that a few patterns in the charts may reflect individual variation rather than broader trends. Increasing participation across campuses would help strengthen future analyses.

Second, because this is a self-reported survey, student perceptions do not always align with actual academic outcomes. Some students may feel prepared but struggle in college, while others may feel unprepared but succeed. It would be valuable to compare these survey results with data on first-year college performance to better understand how perceptions relate to outcomes.

Finally, this analysis raised new questions that could guide future work. For example, how do combinations of supports (such as dual enrollment with strong advising) influence readiness? How consistently are services implemented across campuses? What factors help students translate available supports into meaningful preparation? Deeper qualitative follow-up or expanded quantitative tracking could help answer these questions.

8 Appendix: Full Survey Response Table

Code
import pandas as pd

# Load dataset
df = pd.read_csv("College Readiness and Educational Experience Survey.csv")

# Display the full table exactly as in the CSV
df
Id Start time Completion time Email Name Did you attend an IDEA Public School? If you answered "No", what type of high school did you attend? What is your current year in college? On a scale of 1 to 5, how prepared did you feel for college-level coursework when you started?\n(1 means not prepared at all, 5 means extremely well prepared)\n How would you rate the quality of academic support you received in high school? ... Do you feel your high school helped you develop the following skills?.Critical thinking skills Do you feel your high school helped you develop the following skills?.Independent study habits Do you feel your high school helped you develop the following skills?.Confidence speaking in groups or presentations Do you feel your high school helped you develop the following skills?.Comfort using digital tools like Excel or Google Sheets Do you feel your high school helped you develop the following skills?.Ability to find and use data for research decision making What type of high school data do you think colleges should consider more seriously when evaluating readiness or success? Did your family feel involved or informed about your academic progress during high school? How would you describe the quality of teaching you experienced at your high school? Did you feel your teachers genuinely cared about your success beyond academics? Optional: Do you feel your high school prepared you for the major or field you are studying in college? Please explain.
0 1 6/3/2025 17:16 6/3/2025 17:19 anonymous NaN No Traditional public high school Graduate Student 2 Fair ... Agree Disagree Agree Neutral Disagree Standardized test scores (SAT or ACT);GPA and ... Somewhat involved Good, teachers generally cared and taught well Always NaN
1 2 6/3/2025 17:38 6/3/2025 17:43 anonymous NaN No Traditional public high school Senior 4 Good ... Agree Agree Strongly Agree Agree Agree GPA and class rank;Standardized test scores (S... Very involved Good, teachers generally cared and taught well Often NaN
2 3 6/3/2025 18:08 6/3/2025 18:09 anonymous NaN No Traditional public high school Graduate Student 5 Good ... Strongly disagree Strongly disagree Strongly disagree Strongly disagree Strongly disagree Family background or income;College support se... Not involved at all Fair, some teachers were good, others were not Sometimes NaN
3 4 6/3/2025 18:11 6/3/2025 18:15 anonymous NaN No Mixed Charter-Public Senior 5 Excellent ... Strongly disagree Strongly disagree Agree Agree Neutral Participation in extracurricular activities;GP... Somewhat involved Excellent, teachers were knowledgeable, suppor... Always I was originally in the medical field, BUT too...
4 5 6/3/2025 18:12 6/3/2025 18:18 anonymous NaN No Magnet school - STISD Freshman 5 Excellent ... Strongly Agree Agree Agree Strongly Agree Strongly Agree Family background or income;Participation in e... Rarely involved Excellent, teachers were knowledgeable, suppor... Always I decided to go down a different path from my ...
5 6 6/3/2025 18:18 6/3/2025 18:21 anonymous NaN No Traditional public high school Senior 5 Good ... Strongly Agree Strongly Agree Strongly Agree Agree Strongly Agree GPA and class rank;Standardized test scores (S... Somewhat involved Excellent, teachers were knowledgeable, suppor... Sometimes No. Just covered the essential gen. ed courses...
6 7 6/3/2025 18:40 6/3/2025 18:42 anonymous NaN Yes NaN Junior 4 Good ... Agree Neutral Neutral Neutral Agree College support services used;GPA and class rank; Very involved Good, teachers generally cared and taught well Often Not really, but don't take my word for granted...
7 8 6/3/2025 19:22 6/3/2025 19:23 anonymous NaN No Charter school (non-IDEA) Sophomore 4 Very poor ... Strongly Agree Agree Agree Agree Agree Participation in extracurricular activities;Ty... Rarely involved Excellent, teachers were knowledgeable, suppor... Always NaN
8 9 6/3/2025 19:40 6/3/2025 19:44 anonymous NaN Yes NaN Junior 5 Very poor ... Strongly Agree Strongly Agree Strongly Agree Strongly Agree Strongly Agree Participation in extracurricular activities;GP... Very involved Excellent, teachers were knowledgeable, suppor... Always Yes, I am majoring in Criminal Justice. As a f...
9 10 6/3/2025 20:24 6/3/2025 20:41 anonymous NaN No Traditional public high school Junior 1 Poor ... Disagree Disagree Neutral Neutral Disagree GPA and class rank; Not involved at all Fair, some teachers were good, others were not Sometimes Not at all,they only offered help for mechanic...
10 11 6/3/2025 22:01 6/3/2025 22:22 anonymous NaN No Traditional public high school Senior 5 Fair ... Disagree Agree Disagree Neutral Disagree None of these or not sure; Very involved Fair, some teachers were good, others were not Sometimes Nope. I had no idea what I actually wanted to ...
11 12 6/3/2025 23:07 6/3/2025 23:10 anonymous NaN No Charter school (non-IDEA) Graduate Student 1 Poor ... Neutral Neutral Neutral Neutral Strongly disagree None of these or not sure; Rarely involved Fair, some teachers were good, others were not Rarely Nope not at all. I wish I had never gotten cre...
12 13 6/3/2025 23:12 6/3/2025 23:15 anonymous NaN No Traditional public high school Junior 4 Poor ... Strongly disagree Strongly disagree Strongly disagree Strongly disagree Strongly disagree Family background or income; Not involved at all Fair, some teachers were good, others were not Sometimes NaN
13 14 6/4/2025 0:24 6/4/2025 0:32 anonymous NaN Yes NaN Sophomore 5 Poor ... Disagree Strongly disagree Strongly disagree Strongly disagree Strongly disagree Participation in extracurricular activities;GP... Rarely involved Fair, some teachers were good, others were not Often No because my school offered AP courses that d...
14 15 6/4/2025 10:42 6/4/2025 10:44 anonymous NaN No Traditional public high school Graduate Student 5 Good ... Neutral Neutral Neutral Neutral Neutral College support services used;Type of school a... Somewhat involved Good, teachers generally cared and taught well Sometimes NaN
15 16 6/4/2025 14:09 6/4/2025 14:12 anonymous NaN No Charter school (non-IDEA) Graduated already 5 Excellent ... Strongly Agree Strongly Agree Strongly Agree Agree Strongly Agree GPA and class rank;College support services used; Very involved Excellent, teachers were knowledgeable, suppor... Always NaN
16 17 6/5/2025 18:58 6/5/2025 19:02 anonymous NaN Yes NaN Graduate Student 4 Good ... Strongly Agree Agree Disagree Agree Agree GPA and class rank;Participation in extracurri... Somewhat involved Good, teachers generally cared and taught well Often No. I am a computer science major and my Highs...

17 rows × 24 columns