Computer Science (CS), in its truest sense, refers to a discipline that is an extension of mathematics. Like the connection between physics and mechanical engineering, computer science has practical applications like forming the backbone of software engineering, which seeks to find optimal ways to construct practical software applications.
While Tech does a great job at giving us exposure to the fundamental theoretical concepts of computer science, receiving more practical knowledge will better prepare us for our careers. Most classes give students practical experience in designing and building software, as well as on modern application development.
However, working on a program for school is very different from writing code in a job environment. Programming for classes can be a great way to clarify abstract concepts for students, but such classes have strict standards for acceptance and guidance from instructors. Most engineering problems are open-ended and do not come with explicit instructions.
Tech has an opportunity to teach practical engineering skills: harness the students as an “open-source” community for building internal infrastructure. We all know that BuzzPort and OSCAR have not gotten a facelift since last century. “Open-sourcing” software infrastructure to the Tech CS community would benefit nearly all parties involved. With a constant flow of CS students into the school, Tech would always have someone available to work on improving these projects. Students would get exposure to building an actual piece of open-source software from the ground up. And all students would get more reliable software. Other projects could emerge, leading the way for an improved Georgia Tech powered by student-made software.
In one of my classes this semester, I overheard a student say that they had never used “Git” before. Git is a version control system used to track changes to software that is ubiquitous in software engineering.
This student is in an advanced Systems and Architecture class. The 7th best CS school in the world should not have students in advanced classes that cannot use basic tools like source control.
This is not a critique of the student, but of Tech and its failure to impart basic practical skills. Having a large open-source project could go a long way towards making sure that every CS student leaves Tech with the skills they need to succeed at whatever their career holds.
Practical experience through my capstone project and internship has motivated my learning. It also helped me find the path I want to take after I get out. Even though much of what I am studying now will not directly apply to my career, it is still a great motivator to be working on a project and realize that you are actually applying something that you learned in school.
If we can maintain a symbiosis between theory and practice, Tech will remain one of the best Computer Science schools on the planet for many years to come.