I started working on the project around December after taking a course in iOS 7 app development on Udemy. The project totally spanned over about 4 months, beginning in December and ending in March. My project was an iPhone application that could be used by students to track their homework in a todolist format. Each entry could be entered in with which class the work was from. When a task was completed, it could be checked off and removed from the list. The entries were stored using Core Data on the device. A calendar was also implemented on the device for the user to be able to track more long-term work. One of the goals of the project was to be able to sync the tasks with a database to which teachers added tasks. This wasn't completed because of time constraints. Even so, the project was a success and I even won a prize of $40!
From this project, I learned a lot more about iOS development and Objective-C. As well as learning programming, I learned about the development process of a more complete application. In the Udemy course, the applications were much smaller and didn't require as much planning. This application went through several iterations of designs and took over 100 hours to develop. This application at the beginning had tons of bugs and it took a very long time to fix most of them. As well as making the application, I learned a lot about making a successful project and marketing it on the poster board, which was on display at the faire. This was the first official science fair I had participated in so that was also a big jump from the small ones we had in elementary school.
This is a project I did for the Synopsys Science and Technology Championship in 2014-2015. I used the Arduino platform to develop a home control system. There is a website that can be accessed in a web browser to turn on/off a relay which controls a power outlet, and to check the status of a door. The website is hosted on a central Arduino, which messages out to 2 leaf nodes with the sensor and the relay. When the user presses a button on the webpage, the base node detects that and sends a specific message to one of the nodes based on which button was pressed. The leaf node recieves the message and does its job. Then, it replies to the base node the status of a door or whether or not the relay is on or off. Finally, the website updates accordingly.
I learned how to use the Arduino, which includes its programming and hardware. I have never wired on a breadboard before, because in the past I've always done software not hardware. This project was very fun because I built the hardware and the software so I could customize the system however I wanted. Experimenting with various radios and having them communicate over a network was very cool.