Editor’s note:Jay Borenstein is computer science lecturer at Stanford University and Founder of Facebook’s Open Academy.
Most people, especially in Silicon Valley, are aware that there aren’t enough engineers graduating from college today. By 2020, the U.S. Department of Labor projects that there will be 1.4 million computer science (CS) jobs available, but only enough graduates to fill 30 percent of these jobs. What’s perhaps even more troubling, but frequently overlooked, is that the engineers who are graduating today often don’t have the level of real-world skills in CS they need to meet the requirements of open positions. Why? Put simply, being a CS student is very different from being a real-life software engineer.
The courses available to most CS students teach important software development practices, but because they’re designed around the typical classroom model of education, there are many aspects of the profession that they can’t convey to students. Unlike in the classroom, real-world software development projects are larger (in timeline and size) than the ones students encounter in class. One must also gain an understanding of some pretty substantial pre-existing code bases in order to be productive. What’s more, in the real-world, project management and interpersonal relationships can have as much impact on software design as technical issues, and systems are ultimately evaluated by user satisfaction rather than technical merit.
The best solution to this problem is to combine the valuable foundation of university CS education with the practicality of real-world work by connecting students to the open-source community.
Working on open source puts CS students at the heart of the software industry. Open source enables everyone involved to work in development and create new infrastructure and designs without being forced to start from scratch. And unlike in school, where a project might just be theoretical, or relevant only in context of the class, an open-source contribution makes immediate impact on the ecosystem.
Making it easier for students to be active contributors to the open-source community is key to preparing them for professional work and helping them to realize sooner the impact they can have on the world.
The best way to incorporate open source into the classroom goes far beyond just encouraging students to hone their skills by participating in the community in some way. Rather, it is formalizing curricula that brings together teachers, students, and the seasoned veterans that maintain popular open source projects, such as MongoDB, Mozilla Open Badge, Ruby on Rails, SocketIO, and others. This approach, adopted by several universities today, has proven to have success with the following benefits:
- Access to experts: No CS professor can be an expert in every open-source project. As such, bringing project experts into the educational process ensures students receive the best instruction and feedback on their work. For example, fixing bugs in open source projects is difficult, as most of the ‘easy’ bugs are already fixed. Working to fix a “hard” bug under the instruction of an expert provides invaluable experience for a student that wouldn’t be taught in the classroom.
- Teamwork: students working on a project, like Ruby on Rails, do so as a team to tackle initiatives assigned by the expert. This type of teamwork is essential experience that is often left out of college curricula, as it can be hard to grade an individual’s performance.
- Making a difference: the open source curricula approach gives students real-world experience working on bug fixes and other initiatives that truly advance the state of the open-source project.
- Focus: perhaps the most important aspect to this is enabling students to focus on a particular project to build a skill set applicable to the real-world today. Just as a ‘residency’ for medical students requires them to apply what they have learned in the real world before becoming doctors, CS students working on a particular project are applying their skills and carving out invaluable expertise.
Beyond the educational benefits of bringing open source into college curricula, there is a spirit to open source that is addictive. We’re collaborative beings, and open source is collaboration without borders, at scale, and with focus on changing things. I believe the future of CS education is a classroom without walls to enable students to be better trained for the jobs of today.Featured Image: Shutterstock
Computer Science Essay
540 Words3 Pages
Computer Science Computer science is one of the fastest growing career fields in modern history. Dating back only a few decades to the late 1950's and early 1960's, it has become on of the leading industries in the world today. Developed through the technological architecture of electrical engineering and the computational language of mathematics, the science of computer technology has provided considerable recognition and financial gain for many of its well deserving pioneers. Originally conceived as an organizational solution to the massive amounts of information kept on nothing more than paper, computers have evolved and advanced to become a common part of modern day life. In the early days of the computer age, the newest and most…show more content…
It is essentially the brain of the computer and though it is the main determining factor in the processing power of the computer as a whole, many other parts of the machine are just as important in overall performance. Many people don't know this and that is how computer corporations have cheated people out of their money for so many years by selling them cheep systems with high megahertz numbers for the processors in them. This is one reason for the success of the computer industry. When people find out that they have been cheated, they will try to learn more about the product and probably end up spending more money next time. Either way the computer companies always win. A career in the field of computer science has been proven to be a worthwhile direction for any young enthusiast and this tren is looking just as bright in the new millenium. Computer science and technology has much to offer in anyone of its many career paths. Whether working with a large multinational corporation or a smaller private company on computer hardware or software in engineering or programming, the possibilities and opportunities are endless and are increasing everyday. One reason the computer industry is so promising is that virtually every industry in the world depends on computers to operate. This creates an increasingly large and permanent demand for computer hardware, software, and the technical knowledge to create and use them. Computer games have