MIT EECS - Cisco Undergraduate Research and Innovation Scholar
Rethinking Software Design
Daniel N. Jackson
Many complicated systems today disregard or forgo proper software design. The conceptual models behind these complicated systems are often lacking. Examples of such systems are the Macintosh Trash System and Git. In theory, it is possible to improve these systems conceptually. For example, as the current Macintosh system stands, a single trashcan is allotted for all drivers. This creates problems when trying to delete files from an external drive. One cannot reuse the space on the drive without emptying the trashcan. My SuperUROP will focus on picking one such system and not reimplementing but repackaging the system to provide a more solid conceptual design. The hypothetical outcome would be a better, less complicated and more functional system
In the past, I have taken both Software Design and Software Studio classes, both of which have focused on proper conceptual design prior to building software. Using the concepts learned in both of these classes will help me excel in my research. I have also been a Lab Assistant for IAP Introduction to Python and MIT edX. This has given me a fundamental grasp on good programming practices.