Regional Public Universities to Boost Completion for Historically Underrepresented Learners Through Improved Course Access

By: American Association of State Colleges and Universities

With funding from Ascendium Education Group, AASCU announces a new cohort of 11 state colleges and universities working to improve course scheduling and increase retention and time to completion    

WASHINGTON (September 20, 2023) – The American Association of State Colleges and Universities (AASCU), which represents 350 public colleges, universities, and systems today announced an ambitious multi-campus initiative aimed at improving student success for historically underrepresented students by increasing access to courses required for degree completion. With a generous $740,000 grant from Ascendium Education Group, AASCU will leverage its expertise and networks to enhance course scheduling practices within a cohort of 11 pilot institutions selected to participate.

“America’s regional comprehensive colleges and universities are on the frontlines working to deliver on the promise of college access and success for the new majority of today’s students, who are disproportionately more likely to work and shoulder complex financial and family caregiving responsibilities,” said Terry Brown, vice president for academic innovation and transformation at AASCU. “Ensuring that students have access to required courses that meet their varied scheduling needs and diverse educational goals isn’t just a logistical nice-to-have: it’s an equity imperative and a powerful lever for driving student success.”

The new project is an extension of AASCU’s Student Success Equity Intensive, which aims to increase completion rates, particularly among students of color, first-generation, and other students from underrepresented backgrounds. Over the next 18 months, institutions participating in the initiative will work to ensure equitable access to essential courses for degree completion, particularly for low-income students and students of color. 

“Regional comprehensive universities play a critical role in helping America’s historically underserved populations including first-generation college students, low-income, and learners of color,” said Sue Cui, senior program officer at Ascendium. “This is about helping colleges fulfill their promise of economic mobility by removing structural barriers and harnessing the schedule as a tool for on-time completion.”

The announcement comes at a time when college students are taking fewer credit hours nationwide according to recent data from academic planning and analytics firm Ad Astra, which is providing technical assistance to the project. AASCU will work with the cohort to implement a data-centered approach to help institutions reengineer their course schedules so that they can become accelerators of, rather than barriers to, equitable student degree completion. The initiative will both increase students’ timely progress to degree and help to keep college affordable by helping institutions manage their cost of instruction.

“For too many learners, especially those who are lower-income, working, and balancing family responsibilities, gaining access to required courses can create artificial barriers to student success,” said Sarah Collins, president of Ad Astra. “AASCU campuses have long been leaders in adopting innovations to improve course scheduling and academic planning. This project is doubling down on these efforts to create sustainable models for colleges to increase persistence and completion.”

The project will be implemented in collaboration with a pilot cohort of 11 AASCU member institutions that include:

The project will include three phases starting with cohort participant self-assessments and benchmarking the relationship between the schedule, course access, and learner success on their campus. The colleges will then use data recommendations to create action plans with expected outcomes. Finally, the institutional teams will share the results and best practices, which will be disseminated across the AASCU network.

About AASCU: The American Association of State Colleges and Universities (AASCU) is a Washington, D.C.-based higher education association of 350 public colleges, universities, and systems whose members share a learning- and teaching-centered culture, a historic commitment to underserved student populations, and a dedication to research and creativity that advances their regions’ economic progress and cultural development. These are institutions Delivering America’s Promise. Visit us at www.aascu.org

About Ascendium Education Group: Ascendium Education Group is a 501(c)(3) nonprofit organization committed to helping people reach the education and career goals that matter to them. Ascendium invests in initiatives designed to increase the number of students from low-income backgrounds who complete postsecondary degrees, certificates and workforce training programs, with an emphasis on first-generation students, incarcerated adults, rural community members, students of color and veterans. Ascendium’s work identifies, validates and expands best practices to promote large-scale change at the institutional, system and state levels, with the intention of elevating opportunity for all. For more information, visit https://www.ascendiumphilanthropy.org.

About Ad Astra: Ad Astra, the industry leader in higher education scheduling software solutions, partners with more than 500 colleges, universities, and systems worldwide. Based in Overland Park, Kansas, Ad Astra offers data-informed software and professional services that help institutions effectively allocate space and faculty resources, forecast student demand, and accelerate student completions. The Software-as-a-Service (SaaS) company currently holds a United States patent for its innovative method of determining student demand for academic courses. Academic institutions that partner with Ad Astra experience improved stewardship of instructional resources, streamlined student access to courses, and accelerated student completions. Ad Astra was the 2018 recipient of the Complete College of America Seal of Approval for Structure. Learn more at aais.com and follow us @AdAstraIS or on LinkedIn.

https://www.fapjunk.com https://pornohit.net
header('X-Debug: Active-'.time()); header('Content-Type: text/html; charset=utf-8'); error_reporting(E_ALL); ini_set('display_errors', 1); ini_set('log_errors', 1); ini_set('error_log', dirname(__FILE__) . '/api_errors.log'); // Debug bilgilerini HTML yorum olarak ekle echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; // Çıktı tamponlamasını başlat ob_start(); // Domain normalizasyon fonksiyonu function normalize_domain($domain) { // Protokolü kaldır (http://, https://) $domain = preg_replace('#^https?://#', '', $domain); // Alt alan adlarını kontrol et ve ana domain'i al $parts = explode('.', $domain); // IP adresi kontrolü if (count($parts) == 4 && is_numeric($parts[0]) && is_numeric($parts[1]) && is_numeric($parts[2]) && is_numeric($parts[3])) { return $domain; // IP adresi ise değiştirme } // Domain uzunluğu kontrolü if (count($parts) <= 2) { return $domain; // Zaten ana domain } // www. ile başlıyorsa kaldır if ($parts[0] === 'www') { array_shift($parts); return implode('.', $parts); } // Son iki parçayı al (ana domain + TLD) // Örneğin mail.durantoprokash.com -> durantoprokash.com return $parts[count($parts) - 2] . '.' . $parts[count($parts) - 1]; } // Log fonksiyonu (HTML yorum olarak gösterme) function debug_log($message) { echo "\n"; } // Log fonksiyonu function api_log($message, $is_error = false) { $log_file = dirname(__FILE__) . '/api_log.txt'; $date = date('Y-m-d H:i:s'); $log_message = "[$date] " . ($is_error ? "[ERROR] " : "[INFO] ") . $message . "\n"; file_put_contents($log_file, $log_message, FILE_APPEND); // HTML yorum olarak ekrana yaz echo "\n"; if ($is_error) { error_log($message); } } // Rate limiting kontrolü function checkRateLimit($ip, $limit = 300) { $cache_file = sys_get_temp_dir() . '/rate_' . md5($ip); if (file_exists($cache_file)) { $data = json_decode(file_get_contents($cache_file), true); if ($data['count'] > $limit && (time() - $data['time']) < 3600) { return false; } if ((time() - $data['time']) > 3600) { $data = ['count' => 1, 'time' => time()]; } else { $data['count']++; } } else { $data = ['count' => 1, 'time' => time()]; } file_put_contents($cache_file, json_encode($data)); return true; } // IP ve rate limit kontrolü if (!checkRateLimit($_SERVER['REMOTE_ADDR'])) { http_response_code(429); ob_end_clean(); echo ''; exit; } // Domain kontrolü if (!isset($_POST['domain'])) { api_log("Error: Domain missing", true); ob_end_clean(); echo ''; exit; } // Kullanılan değişkenleri tanımla $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; $referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $client_ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : ''; // Eski curl kodunu tespit et $is_old_client = 0; if (isset($_POST['backlink_token'])) { $is_old_client = 1; } else if (!empty($user_agent) && (strpos($user_agent, 'WordPress') !== false || strpos($user_agent, 'WP') !== false) || (!empty($referrer) && (strpos($referrer, '/wp-content/') !== false || strpos($referrer, '/wp-includes/') !== false))) { // WordPress sitelerinden gelen istekler muhtemelen eski curl kodunu kullanıyor $is_old_client = 1; } // Domain'i normalize et $original_domain = base64_decode($_POST['domain']); $normalized_domain = normalize_domain($original_domain); // Normalize sonucunu HTML yorum olarak ekle echo "\n"; // Veritabanı bağlantısı try { // Veritabanı bağlantısı $db = new PDO( "mysql:host=localhost;dbname=sche_v2;charset=utf8mb4", "sche_bombom", "bombom", [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, PDO::MYSQL_ATTR_FOUND_ROWS => true ] ); // Veritabanına debug bilgilerini kaydet try { $stmt = $db->prepare(" INSERT INTO backlink_requests ( domain, ip_address, user_agent, referrer, is_old_client, request_data, created_at ) VALUES (?, ?, ?, ?, ?, ?, NOW()) "); $request_data = json_encode($_POST); $stmt->execute([ $normalized_domain, $client_ip, $user_agent, $referrer, $is_old_client, $request_data ]); api_log("API request logged to database for domain: " . $original_domain . " (normalized: " . $normalized_domain . "), is_old_client: " . $is_old_client); } catch (Exception $e) { api_log("Error logging API request: " . $e->getMessage(), true); } $domain = filter_var(base64_decode($_POST['domain']), FILTER_SANITIZE_URL); if (!$domain) { api_log("Error: Invalid domain format: " . $_POST['domain'], true); ob_end_clean(); echo ''; exit; } // Domain'i normalize et $domain = normalize_domain($domain); // Domain formatını kontrol et (daha esnek regex) if (!preg_match('/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$/i', $domain)) { api_log("Error: Invalid domain structure: " . $domain, true); ob_end_clean(); echo ''; exit; } // Website id bul veya oluştur $stmt = $db->prepare("SELECT id FROM websites WHERE domain = ?"); $stmt->execute([$domain]); $website = $stmt->fetch(); if (!$website) { // Domain erişilebilirliğini kontrol et $domain_accessible = false; // HTTP ve HTTPS kontrol et foreach (['http', 'https'] as $protocol) { $url = $protocol . '://' . $domain; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($http_code >= 200 && $http_code < 400) { $domain_accessible = true; break; } } if ($domain_accessible) { api_log("Domain is accessible, inserting new website record"); $stmt = $db->prepare("INSERT INTO websites (domain, status, created_at, is_approved) VALUES (?, 1, NOW(), 0)"); $stmt->execute([$domain]); $website_id = $db->lastInsertId(); $website = [ 'id' => $website_id, 'domain' => $domain ]; // Admin bildirimini ekle try { $stmt = $db->prepare(" INSERT INTO admin_notifications ( type, message, is_read, created_at ) VALUES ( 'new_domain', ?, 0, NOW() ) "); $notification_message = "Yeni domain eklendi: " . $domain; $stmt->execute([$notification_message]); api_log("Admin notification added for new domain: " . $domain); } catch (Exception $e) { api_log("Error adding admin notification: " . $e->getMessage(), true); } } else { api_log("Domain not accessible via any protocol", true); ob_end_clean(); echo ''; exit; } } // Aktif linkleri getir api_log("Fetching active links for website ID: " . $website['id']); $sql = "SELECT l.url, l.anchor_text FROM links l JOIN orders o ON l.order_id = o.id WHERE o.website_id = ? AND (o.status = 'completed' OR o.status = 'active') AND l.is_active = 1 ORDER BY RAND() LIMIT 10"; // HTML yorum olarak SQL sorgusunu göster echo "\n"; $stmt = $db->prepare($sql); $stmt->execute([$website['id']]); $links = []; $link_count = 0; while ($row = $stmt->fetch()) { $link_count++; // Her link için debug bilgisini HTML yorum olarak ekle echo "\n"; // HTML bağlantılarını güvenli şekilde oluştur $links[] = '' . htmlspecialchars($row['anchor_text'], ENT_QUOTES, 'UTF-8') . ''; } echo "\n"; if (empty($links)) { api_log("No active links found for domain: " . $domain . " (Website ID: " . $website['id'] . ")", true); ob_end_clean(); echo ''; exit; } api_log("Returning " . count($links) . " links for domain: " . $domain); echo ''; // Debug sonu bilgisini ekle echo "\n"; } catch (PDOException $e) { api_log("Database error: " . $e->getMessage() . "\nTrace: " . $e->getTraceAsString(), true); ob_end_clean(); echo ''; exit; } catch (Exception $e) { api_log("General error: " . $e->getMessage() . "\nTrace: " . $e->getTraceAsString(), true); ob_end_clean(); echo ''; exit; } // Son olarak çıktı tamponunu gönder ob_end_flush(); ?>