Back to projects
Jan 08, 2022
3 min read

Airport Simulation Project: AirSim

A detailed overview of my C programming project, AirSim, developed during my second year at ESIEA. This project simulates airport operations, including managing flight schedules and handling emergency landings.

As part of my second-year coursework at ESIEA, I developed an airport simulation program called AirSim. This project, created in collaboration with Lucas Da Silva, showcases our skills in C programming and our ability to create complex simulations.

Project Overview

The AirSim project is designed to simulate the operations of an airport. It allows users to manage flight schedules, including adding and removing flights, and to observe the behavior of these flights over time. The program includes several commands to interact with the simulation, making it a comprehensive tool for understanding airport logistics.

Key Features

AirSim includes a range of commands that enable detailed control over the airport simulation. Some of the main features are:

  • Time Advancement: The timewarp command allows users to fast-forward the simulation by a specified number of minutes, making it easy to observe the effects of scheduling decisions over time.
  • Queue Management: Users can add planes to the takeoff or landing queues and remove them as needed, providing a realistic model of airport operations.
  • Emergency Handling: The program includes commands for handling emergency landings, ensuring that urgent situations are addressed promptly within the simulation.
  • Information Display: Detailed information about the planes in the takeoff and landing queues can be displayed, giving users insights into the current state of the airport.

Learning Experience

Working on the AirSim project was an incredibly valuable experience for several reasons:

  1. Collaboration: I worked closely with a fellow student, Lucas Da Silva. This collaboration taught me the importance of teamwork, communication, and dividing tasks efficiently.
  2. Technical Skills: Developing AirSim significantly improved my proficiency in C programming. I learned how to handle complex data structures and implement algorithms effectively.
  3. Problem-Solving: Creating a realistic simulation required addressing various edge cases and potential bugs. This process enhanced my problem-solving skills and my ability to think critically about software design.
  4. User Interface Design: Designing a user-friendly command-line interface was a key part of the project, helping me understand the importance of usability in software development.

Why This Project Was Interesting

AirSim was particularly engaging because it combined theoretical knowledge with practical application. Simulating an airport’s operations required a thorough understanding of both programming concepts and real-world logistics. The project’s complexity and the need to handle dynamic scenarios made it a challenging yet rewarding experience.

Repository

The full source code and documentation for AirSim can be found on GitHub.

This project not only solidified my skills in C programming but also provided valuable experience in project management and teamwork. It is a significant addition to my engineering portfolio, showcasing both technical proficiency and collaborative abilities.