
    Given a student's total number of assigned learning modules, determine the largest study set size (which must be a power of 2) that can be created without exceeding the total number of modules, ensuring balanced learning chunks for optimal student engagement. The system needs this calculation to organize learning materials into the most efficient groupings possible while maintaining consistent set sizes across the student's personalized learning path.
    

    
def highest_Power_of_2(n):
    """
    Given a student's total number of assigned learning modules, determine the largest study set size (which must be a power of 2) that can be created without exceeding the total number of modules, ensuring balanced learning chunks for optimal student engagement. The system needs this calculation to organize learning materials into the most efficient groupings possible while maintaining consistent set sizes across the student's personalized learning path.
    

    """
def highest_Power_of_2(n):
    """
    Given a student's total number of assigned learning modules, determine the largest study set size (which must be a power of 2) that can be created without exceeding the total number of modules, ensuring balanced learning chunks for optimal student engagement. The system needs this calculation to organize learning materials into the most efficient groupings possible while maintaining consistent set sizes across the student's personalized learning path.
    

    """
    res = 0
    for i in range(n, 0, -1):
        if i & i - 1 == 0:
            res = i
            break
    return res