Calendar Project



I am Josh Westenheffer and this page will help give you an insight into what I am capable of as a coder. The project I have is an Android Studio calendar and these pages will detail my work on it throughout my capstone project. I must note please do not see these pages as the extensive part of what I have done. These pages are meant to summarize key changes I made and provide how these effect my course outcomes and goals. For extensive documentation check my github account or the links at the bottom of this page. Here is some information about my time in the Computer Science Program.




Throughout my time in the Computer Science degree I have coded in a variety of different languages for different purposes such as java for a travel agency web application, C++ for a basic artificial intelligence game, and embedded C for a thermostat. Dealing with multiple languages has given me a broad look at how coding is used across computer science for everything from defense to commerce. The variety I have seen has given me appreciation for just how complex some systems can be and how much effort it can take to maintain them. In turn one key value I have internalized is always focusing on writing sustainable and understandable code. In a field as broad as computer science I have found this core value to be integral to working with other people or just sharing what I have done as an individual. If I can’t produce my code efficiently and coherently for the people, I work with or the shareholders I work for then the code itself will be without purpose. In essence, what I am trying to convey is that the backbone of all the code I write is built on sustainable code that will ensure I can meet the demands of whatever team or shareholders need me.

Passed my main value, while in this program I have had insight into different forms of computer science values such as working within the SDLC, meeting requirements for stakeholders, working to create efficient algorithms, and dealing with different forms of databases and securities. I have had multiple classes focused on what my work would look like as a member of a team and how I would communicate with the other members of the team and the stakeholders for my project. Effective communication in my eyes comes from consistency, and intentionality in focusing on key ideas. Whether it be requirements for stakeholders or goals for the team focusing on the main intents will keep a team focused and clear requirements at the forefront of a project’s development. My experience has entailed working with communication aspects such as code write-ups, reviews, and charts/graphs to help keep ideas consistent and clear.

As for algorithms and efficiency, the further I got into my degree the more I realized how important efficient coding is. My capstone was the best example I have for improving algorithms because my project focused on a calendar app. My original calendar was poorly coded and featured inefficient code that was nearly impossible to expand upon. When I began creating my current calendar, I found the importance in creating efficient algorithms as it will improve the output across the app whether it be viewing the code, speed at which the code runs, data handling, or code runtimes. The difference was that I created an app capable of being expanded on and handling much more load rather than hardly running at all. This gave me great insight into how important data structures are and maintaining efficiency throughout the code. I now am not only better at working with it but realize the importance in any application large or small to be efficient and concise.

Databases were difficult in the beginning for me, but having dealt with MongoDB, SQLite and MySQL I feel much more comfortable. I have used them for different projects such as large-scale database handling of an animal center, a basic travel website, admin login and user permissions, and my calendar application. The databases have given me the best look into computer science security by seeing how important user permissions and logins are. Learning basic ideas like least permissions, defense in depth, and encryption are at the forefront of my security mindset nowadays. Seeing how databases integrate security with their data storage has given me insight into how critical the role of security principles truly is. I recognize now how databases can be compromised and how security can be overlooked even when being the focus of such large corporations. My skills with these databases and security in general come down to consistency and intentionality, keeping my systems easily manageable is vital for maintaining secure projects.

My artifact is an Android Studio calendar that initially featured one month, a basic login screen, and a database that handled usernames and passwords. I implemented functionality to make it feature all twelve months and their days, a specific day information screen for each day of the year, and a database to handle all this information to allow multiple users to sign in and out and the information be retained. The artifact is a great project to show my skills because it allowed me to implement efficient and complex data structures. It allowed me to get in a security mindset to implement multiple user logins and information that is specific to them. Finally, I got to use SQLite to create a database that holds user login information and calendar specific information across multiple logins. Tying all this together I got to showcase my skills dealing with common coding standards while creating a common app that showcases, I am capable of coding with industry standards.






First enhancement documentation
Second enhancement documentation
Third enhancement doucmentation
Download My Project