Code with Purpose: Empowering Students via Swift App Voting Project

Oct. 12, 2024 | Categories: teaching

 

Ballot Initiative App GitHub Repository

 

In my ongoing quest to make computer science education more engaging and inclusive, I've implemented an exciting project in my classroom: a ballot initiative app called IssueVote. This project not only reinforces key programming concepts but also empowers students to address real-world issues, much like how optionals in Swift help prevent potential errors users might encounter in apps.

 

Our project builds upon Apple's "Develop in Swift Explorations" course, taking the Enums and Switch lesson and applying it to a somewhat “real-life” situation of creating voting software. Students dive deeper into concepts like enumerations, switch statements, simple algorithm development, taking user input, processing the input, displaying results, and single-screen app UI design.

 

Ballot Initiative App demo on YouTube

 

One of the most rewarding aspects of this project is seeing how students connect their coding skills to community needs. For example, one of my students – a compassionate young woman always looking to help others – developed an app highlighting the issue of homelessness in our Mahoning Valley. Not only did she apply her Swift programming skills, but she also raised awareness about a critical issue affecting many in our community. Her project exemplifies how we can use technology as a force for good.

 

While mastering Swift is a key objective, this project teaches so much more. Students learn about software versioning, iteration, and the full development lifecycle. We use GitHub to manage our projects, giving students real-world experience in collaborative coding practices. They're not just learning to code; they're learning to be developers.

Creating an inclusive environment where every student feels empowered to contribute is one of my goals as an educator. Swift's intuitive nature helps here – it's accessible enough for beginners yet powerful enough for more advanced students. This project structure allows students of all skill levels to participate meaningfully, ensuring no one is left behind.

 

An exciting aspect of this project is its connection to the Business Professionals of America Torch Award. Students can earn points in the Citizenship area, encouraging them to think about how their tech skills can contribute to civic engagement. It's amazing to see how this real-world connection boosts their motivation and sense of purpose.

 

I hope that one possible outcome of this project is that it forces my students to think about themselves as part of our society and that it may, for some, foster empathy. By creating apps that address social issues, students develop a deeper understanding of diverse experiences and challenges. They're not just becoming better programmers; they're becoming more compassionate, societally aware individuals.

 

The enthusiasm I've seen from my students has been truly inspiring. They're excited about making apps (definitely), but more importantly, they're excited about the potential impact of their work. As we continue to refine and expand this project, I'm committed to maintaining this balance of technical education and social responsibility.

 

You can find the GitHub repository for this project here.