CS 112 Final Project Report Course: CS 112 – Computer Programming for Engineering Project Title: Global Aviation Network Analysis and CanvasLMS-Lite Development Team Members: [Insert Names Here] Date of Submission: August 2, 2025 1. Dataset Description and Cleaning Steps We worked with three interconnected datasets from the OpenFlights project: airlines.csv, airports.csv, and routes.csv. Data cleaning involved replacing '\N' with NaN, converting coordinates and timezones to numeric types, and removing duplicates. Missing IATA/ICAO codes were filled with 'Unknown'. We ensured all airport codes in the routes dataset matched entries in the airports dataset and validated relationships across the datasets. The cleaned versions were saved and documented. 2. Key Findings from Exploratory Data Analysis (EDA) - USA had the highest number of airlines and airports. - Top source airports by route volume included ATL, LAX, and ORD. - A significant number of inactive airlines exist globally. - Air routes are highly centralized around major hub airports. These findings informed subsequent network and business analysis. 3. Insights from Integrated Data We created a master dataset by merging routes with airport and airline data. From this: - We identified the top 10 airlines by number of operated routes. - Discovered regional route dominance (e.g., Ryanair in Europe). - Found underserved countries and airport pairs with low connectivity but high potential. This integration enabled richer network and business intelligence analyses. 4. Network Analysis Results Using NetworkX, we modeled the aviation system as a graph: - Hubs like ATL, DXB, and PEK had the highest degree centrality. - Betweenness centrality revealed airports that are vital bridges. - Community detection showed regional groupings and alliances. - Network resilience analysis indicated a few key nodes whose removal fragmented the graph. This confirmed the scale-free nature of aviation networks. 5. Visualizations and Dashboards We used Plotly, Folium, and Streamlit to visualize findings: - World maps showing airport density and route clusters - Network graphs of top 50 and full airport connections - Market share bar charts and airline comparison metrics - An interactive dashboard was created with tabs for Overview, Network, Geography, Business, and Search. 6. CanvasLMS-Lite System Description CanvasLMS-Lite is a Flask-based LMS supporting faculty and student roles with JSON-based persistence. Core features: - Faculty: Create courses and assignments, grade submissions, send messages. - Students: View and submit assignments, see grades and feedback. - Messaging: Simulated notifications using text/JSON files. - UI: Mobile-responsive dark/light themes with validation and usability focus. - Analytics: Grade distributions and dashboards implemented using Plotly. 7. Challenges and Solutions - Handling missing data required domain knowledge and imputation strategy. - Coordinating Flask routing with JSON-based file storage was tricky. - Streamlit visualizations sometimes failed due to null route endpoints. We resolved issues via consistent validation, robust helper scripts, and regular team checkins. 8. Conclusion and Learning Outcomes This integrated project developed our ability to clean, analyze, and visualize large datasets and apply software engineering principles to build scalable systems. We learned: - How to model complex systems like global aviation as networks - How to build modular, maintainable Python applications - The value of teamwork, documentation, and reproducibility in engineering projects.