Revisiting a Summer of Side Projects
This is a long overdue writeup with open source learning and Summer of Side Projects 2022
“Go do a project.”
Sure, that’s what everyone talks about and describes as the optimal way to break into the tech space. Nowadays, tech seems to be all the rage, co-inflating into this large bubble of glamorous perks and lifestyles. Silicon Valley and other areas have become the new meccas for innovation, all sought after by anyone who wants to go into big tech. However, the elephant in the room needs to be addressed—how does one break into this field?
At the University of Illinois Urbana Champaign, the introductory CS curriculum is divided into a few core classes. During freshman year, most student will take a introductory programming class (CS 124, 128), a discrete math class (CS 173), and a data structures class. While the theoretical side of computer science is essential to understanding the fundamentals of computers, one may argue that the current curriculum is not sufficient to prepare someone for what real world development looks like. In production-grade software companies, usually those foundations are already prebuilt and made in easy to use packages. Instead of regurgitating data structures and path algorithms, the more valued skills are things such as Containerization, deployment standards, and different team methodologies (Agile, SCRUM, etc). Besides the traditional group requirement and class final projects, there isn’t much room to develop applications from beginning to end—a skill that is valued for most employers. Now when students ask, “how do I prepare myself for technical interviews outside of the traditional coursework?” the answer is usually do projects and/or to optimize your resume. As stated before, much of the reason is from the lack of experience from classes that teach these things.
The Creation of Summer of Side Projects
Summer of Side Projects was created initially in 2021 by Harsh and Monica to help address some of those concerns. In 2022, we made it bigger than ever! How exactly can one make a suitable side project for employers and job applications? Over the course of 4 weeks, students enrolled in the program learned different skills from making command line applications (CLI) to different games using Python. In addition to that, we ran a series of different sessions based on skills needed in industry such as Git workshops and resume review sessions. The purpose of all of these things were to prepare participants for job applications in the scene. In addition to the above, to support the activities, we hosted different sessions on actual recruiting hosted alongside IMC Trading, one of our sponsors.
Looking back on Summer of Side Projects, we realize that the movement of open source learning should be embraced in all different fields. Our whole course curriculum was based on an open source model where anyone was able to contribute material to help improve the class. To do so, a GitHub Repository was set up where the contents pointed straight towards the website itself. Anyone who wanted to make changes or improve course content could create a
git pull, make changes to the content, and have it submitted for approval by course moderators. In addition to that, we will later discuss the concept of projects and how that ties in to project based learning and peer assisted learning as well, but anyone submitting a project was encouraged to do so with the MIT Open Source License, furthering the cause of open sourcing education.
However, Summer of Side Projects was built on one fundamental principle: projects. The idea and course structure was simple. After each weekly lesson where we would demonstrate the big ideas in play, students would create their own project and then be assigned a mentor who would guide them over the course of a week and act as their own advisor; helping answer any questions and addressing any programming concerns. The benefit of this is two-fold. First, rather than making students regurgitating facts to demonstrate their knowledge of the week’s content, they would instead be able to build their own project that interested them as well as kept them engaged too. Adequately covering and relating back the week’s content demonstrated success in most cases. In addition to that, the nature of how feedback was given acted as a benefit as well. Instead of traditional rubric based evaluation, participants were paired with a mentor whom they had access to ask for guidance and advice from. At the conclusion of every week, participants would be able to get a summary of things they can improve as well as feedback on their projects. From there, they had the choice to continue developing that project into a full-fledged application, or move and focus on next week’s content.
Online Communities and Discord
Another thing that we tended to emphasize was the presence of an online community in digital open source learning. Ever since COVID-19, a significant amount of education has adapted to being able to deliver their course content virtually. The rise of platforms such as Discord and Zoom only accelerated that. However, one thing that differed was that many students didn’t feel like they were part of an actual “class.” Because of the online nature of it, most times, face to face interactions were neglected and in some cases, outright ignored. This was another “experiment” we ran with the Summer of Side Projects. Would students use a chat based application (Discord) or a forum style application (Discourse) more? In order to facilitate this community, we created a Discord server with specific channels that enabled students to post in. In addition to the traditional course content-specific channels, there were other channels such as a
#memes to unwind and share funny pictures and a
#feedback to receive feedback on the course itself. The flexible nature of Discord ‘addons’ (formally known as Bots), allowed for personalization of user profiles as well. We wanted to create the impression that not everything has to be academic 100% of the time, students can have fun while learning as well. Compared to the 350 posts and 130+ active users on Discourse, we had an overwhelming 6,000+ messages sent and over 300+ users online at any point. However, one looking to implement Discord or a similar application package for their own purposes should research into the prevalent software students already use on a daily basis and build around that. We believe that much of the success of Discord is also due to the nature of Discord on campus and how it is one of the most widely used communications software.
However, everything has its growing pains and this was no different case. Because of the nature of classes and the large population, some things became relatively stressful. One notable thing was the student:staff ratio. With so many project submissions and such few staff to make thorough feedback comments, many have noted that around feedback deadlines staff would feel stressed to make these comments. What a classic lesson in scaling, growing too fast and large the demand far outweighs the supply. In fact, this is consistent with similar pipelines in project based learning as well. Professors would sometimes feel buried under the stream of project feedbacks they have to write over the course of a semester. Maybe this has some solutions. One possible solution is to have a fillable feedback form that is easily customizable. This can potentially streamline and standardize the process. In addition to that, an obvious solution is also hiring more staff as well.
So where did Summer of Side Projects lead us in the end? Well, during one of the career prep sessions, we created a guide to Research Park. Research Park is a large site off campus where many companies have R&D centers catered specifically for UIUC students. Because of its proximity to campus and the amount of Fortune 500 companies there, it provides an attractive internship site for many students getting ready to start their career. During this time, we wrote the Guide for Research Park v1.0 which gained much traction during the 2022 recruiting season. In addition to that, our work was accepted and featured in the 2022 Illinois CS Teaching Workshop where we presented as the only undergraduates as well. From student projects to presentations at workshops, it was truly a fun summer of side projects.