A Student’s Guide to Computer Science
In March, I got the opportunity to speak at Urban Prep Academy, a preparatory school for students of color in Chicago. I talked to the senior class about pursuing a degree in computer science and entering the technology field. After the talk, a handful of students came to ask me follow up questions. Additionally, after my presentation, a number of the students expressed an increased interest in majoring in computer science and engineering. Through my conversations with high school students, it became clear to me that one of the reasons a diversity gap exists in tech is because students of color are not aware of the opportunities in computer science. In addition, most students are also not aware of the resources and tools that they can use to learn about computer science and programming. I hope sharing my story of how I was introduced to computer science and to the programming and opportunities in this field will be helpful to others.
Computer science is a vehicle that enables you to influence and connect to the whole world by simply writing a single line of code. It’s like having your own special power, which is especially fun for me since I wanted to be a superhero or the Avatar when I was kid! From designing robotic arms to creating the characters you see in your favorite Pixar movie or video game, to analyzing a drug to help cure a disease, computer science plays a role in technologies that improve the quality of human life. Even as a student, I’ve already been able to design safety applications, a pacman game that plays by itself, and consumer websites that people interact with on a daily basis.
I was first exposed to computer science during the summer after my senior year of high school. I found out about a startup incubator in Chicago called 1871. In general, incubators are a great way to see people applying technology and computer science to startup companies in the real world! At 1871, I had a chance to to talk to several people about their startup ideas and the various technologies they were using. From my visits to 1871, I realized I wanted to learn website development. I was fascinated with the ability to make buttons and sliders on computer screens for people to interact with.
I began learning web development by talking to engineers at 1871 and by utilizing online tools such as CodeAcademy and Youtube. Youtube has hundreds of video tutorials on pretty much any topic in computer science and is super helpful, especially if you are a visual learner like me. In addition, websites like CodeAcademy and Code.org teach you to code by allowing you to see the results of your coding projects on their websites in real time. Another thing to note is that many universities are starting to offer computer science courses online. During my freshman year of college, my friend and I took Harvard’s Introduction to Computer Science course online through a website called edX. So, even if your school doesn’t have computer science courses and you’re looking for a course to take, there are online courses available free of charge.
Once you start learning computer science, summer internships, research, or work experiences in college can help you further develop your coding skills. During my freshman year of college, some people tried to tell me that I could not get a computer science internship after my freshman year because I hadn’t taken many programming courses in college. However, there are many programs that you can apply to even at an early point in your career. Programs such as Facebook University and Google Engineering Practicum (which are for freshmen and freshmen/sophomores, respectively), and fellowships like CODE2040, Kleiner Perkins Caufield and Byers (KPCB), HackNY, and Sage Corps are some of the fantastic offerings. I was a CODE2040 Fellow after my freshman year. To prepare myself for the CODE2040 application process and potential follow-up employer interviews, I reviewed books including Cracking the Coding Interview, Programming Interviews Exposed, and Algorithms for Interviews (which all have free pdf versions). I also used leetcode.com (which allows you to practice hundreds of coding questions online), Glassdoor and CareerCup to study for other potential interview questions.
As a CODE2040 Fellow, I interned at Jawbone on their website development team after my freshman year. CODE2040 is a fantastic computer science and engineering fellowship for Black and Latino students. Not only did CODE2040 enable me to spend the summer in San Francisco and Silicon Valley, it also provided fellows with access to mentors, networking opportunities, and workshops which focused on areas including design, media, and coding.
Throughout my journey thus far, I have learned that computer science is an exciting and dynamic field with a number of tools, resources, and people that are available to help you learn and develop your programming and problem-solving skills. By entering the field of computer science, you get to work on products that provide solutions to real-world needs which help to further advance the human condition. So, if you’re a student or just want to learn computer science, I encourage you to use some of these resources. Once you’ve begun your journey, don’t forget to share your experiences, best practices, and resources with others who are finding their way through this new and interesting world. My last piece of advice…act like it’s impossible to fail.