Uploaded by awinbisid951

Aviation Network Analysis & CanvasLMS Project Report

advertisement
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.
Download