Some projects become large because besides the central problem or a set of central problems there is also a lot of infrastructure: user interface, data serialization, export and import, etc.
Here is an example of a school project:
“Find the cheapest path between points A and B in a weighed graph.”
Here is how the same problem would look in a real life:
“Create a web application for transporting cargo. Many companies provide transport between specified cities. The customer needs to move their cargo from place A to place B. The application finds and displays the cheapest path on Google Maps.
User can select starting and ending position by clicking the icons of stations on Google Maps, or by selecting from the pull-down input. (The first input displays a list of countries with at least one station, on the selection the second input is shown with a list of stations in given country.) User provides the total weight of the cargo, and selects checkboxes if the cargo has some special properties (e.g. fragile, radioactive, biohazard). Then user clicks on the Search button.
The shortest path is computed and displayed visually on the Google Maps. On the side of the screen the list of path segments is displayed: the length of each segment, the price of transport through this segment, and the company which provides the transport. Then the total length and total price. By clicking a button the user can export the list to a PDF file.
Administrator can log in the system using their username and password. Administrator can edit the list of stations: name and GPS coordinates in the station. The GPS coordinates can be provided as numbers, or by clicking or dragging the station icon on the Google Maps. The data are stored in a database. The list of stations can be exported to an Excel file, or imported from the Excel file.
There is more than one administrator, each one has their own username and password. Each administrator editing action must be saved to a log file, so if one of them intentionally destroys some data, it can be found who did it and when. One or more administrators can be meta-administrators with ability to create or remove administrators, or edit their data (username, real name, phone contact,...) or change their password. These data (except for the password) can be also exported to Excel.
Administrator can also edit the list of track segments consisting of: starting station, ending station, company, maximum weight, price per unit weight, and whether cargo with special properties (fragile, biohazard...) can be transported there. There can be more than segment between two stations for the same company (e.g. a cheaper option for normal cargo, and a more expensive or more weight-limited option for fragile cargo), however if there are two options for the same company where one is strictly better than the other (not more expensive and not more limited), this is clearly a mistake and should be displayed. The list of segments can also be exported to Excel and imported back. The export has an option of exporting everything to a single Excel file, or to a separate Excel file for each company.
By the way, the lists of stations and segments the administrators edit are displayed in a table, which has 20 rows per page, can be sorted by any columns, and filtered by various criteria.”
Some projects become large because besides the central problem or a set of central problems there is also a lot of infrastructure: user interface, data serialization, export and import, etc.
Here is an example of a school project:
“Find the cheapest path between points A and B in a weighed graph.”
Here is how the same problem would look in a real life:
“Create a web application for transporting cargo. Many companies provide transport between specified cities. The customer needs to move their cargo from place A to place B. The application finds and displays the cheapest path on Google Maps.
User can select starting and ending position by clicking the icons of stations on Google Maps, or by selecting from the pull-down input. (The first input displays a list of countries with at least one station, on the selection the second input is shown with a list of stations in given country.) User provides the total weight of the cargo, and selects checkboxes if the cargo has some special properties (e.g. fragile, radioactive, biohazard). Then user clicks on the Search button.
The shortest path is computed and displayed visually on the Google Maps. On the side of the screen the list of path segments is displayed: the length of each segment, the price of transport through this segment, and the company which provides the transport. Then the total length and total price. By clicking a button the user can export the list to a PDF file.
Administrator can log in the system using their username and password. Administrator can edit the list of stations: name and GPS coordinates in the station. The GPS coordinates can be provided as numbers, or by clicking or dragging the station icon on the Google Maps. The data are stored in a database. The list of stations can be exported to an Excel file, or imported from the Excel file.
There is more than one administrator, each one has their own username and password. Each administrator editing action must be saved to a log file, so if one of them intentionally destroys some data, it can be found who did it and when. One or more administrators can be meta-administrators with ability to create or remove administrators, or edit their data (username, real name, phone contact,...) or change their password. These data (except for the password) can be also exported to Excel.
Administrator can also edit the list of track segments consisting of: starting station, ending station, company, maximum weight, price per unit weight, and whether cargo with special properties (fragile, biohazard...) can be transported there. There can be more than segment between two stations for the same company (e.g. a cheaper option for normal cargo, and a more expensive or more weight-limited option for fragile cargo), however if there are two options for the same company where one is strictly better than the other (not more expensive and not more limited), this is clearly a mistake and should be displayed. The list of segments can also be exported to Excel and imported back. The export has an option of exporting everything to a single Excel file, or to a separate Excel file for each company.
By the way, the lists of stations and segments the administrators edit are displayed in a table, which has 20 rows per page, can be sorted by any columns, and filtered by various criteria.”