Bachelor in Computer Science - Villanova University (Winner)


Computer Science Student Stories

Editors Note: This computer science student story essay was selected as a second place winner in BrainTrack's Computer Science Schools Scholarship for fall 2009. At the time of submittal this winner, Tara Srihari, was studying for a Bachelor of Science (BS) in Computer Science at Villanova University in Villanova, Pennsylvania.

Wishes Had Known | Program Likes/Dislikes | Choosing Computer Science

What do you wish you had known about selecting and entering your computer science school that would be helpful to others going into computer science?

My advice for selecting a computer science school would be to research the department, its classes and the opportunities available to students. The size of the department can greatly impact the experience of a student. A smaller department means you will have smaller classes and more personal relationships with your professors and advisors. This can make it easier to get individualized attention and help and can be beneficial when you need a recommendation for a scholarship or internship. However, a small department also means you may be limited in your choice of classes and when they are offered. This can make scheduling problematic, especially if you declare your major late or choose to take advantage of a study abroad or internship opportunity during the school year.

It is also a good idea to look into what computer science courses are offered. For example, are there lots of programming classes, or is it more theoretical? Is the focus on software development, or is hardware included as well? It is also important to consider the other courses required for your major. If you choose a technical school, you will probably be taking mostly math and science courses along with your computing classes. However, if you choose a liberal arts school, you will be taking a wider variety of classes in addition to your computer science requirements. Thinking about your interests and what you want to get out of your college educational experience can help you decide what program would suit you best.

Finally, I would consider the opportunities afforded to students in the department. For example, are there research positions or teaching assistant positions available to students? These positions are often paid, which can help defray tuition costs. Are there any student computing groups? These groups are great for your resume and will often help you learn more about opportunities in the computing field, improve your programming skills and learn about the newest technologies. You should also look into the internships and employment available to students. How many students typically find internships and full time employment? What companies usually recruit students from the school’s computer science department? These statistics will help you see what opportunities will be available to you upon graduation which is. Thinking about where you may want to end up post-graduation can help you decide which program will prepare you best for your intended career.

What have you enjoyed most and least during your computer science degree program so far?

What I have enjoyed most about my computer science degree program so far is the opportunity to work on significant software development projects. During my sophomore year, I took a software engineering class. In this class, we worked in teams to come up with an idea for a novel software product and write a specification for this new product. My team decided to develop a program called “What’s That Song?”. This product would allow users to identify a song without knowing the title or artist. Our intent was to improve upon existing applications by employing the innovative method of searching with a sequence of notes from a part of the song as entered by the user.

This year, I am working on a semester-long capstone software development project with a small team. For our project, we are constructing a rear-diffused illumination multi-touch table and developing several software applications to be used in conjunction with the table. As one of the head software developers, I am coding a simulation of the Game of Craps which involves both creating the multi-touch user interface and developing the back-end game logic.

These projects have given me the opportunity to research and learn about new technologies that I would not have been exposed to otherwise. These projects are also great preparation for working with a team to develop software in the real world. From choosing a concept, to designing the user interface, to determining the software’s features, to writing and testing the code, I have gained experience in all aspects of creating a new software product.

What I have enjoyed least about my computer science degree program so far are the more theoretical classes. I definitely prefer to develop code and work on concrete applications rather than learn about the mathematical models or logic principles that support computing. I have found that I struggle more with the abstract concepts that cannot be tangibly seen or demonstrated. Although I have learned a lot from my theoretical classes, they have definitely been more of a challenge. While these classes are certainly essential to gaining a full understanding of the fundamentals of computer science, their difficulty for me personally has made them what I have enjoyed least about my computer science program.

What led you to choose computer science as a career path?

When I first came to college, I was undecided about my future career path. I knew I had a definite interest in science and technology, but did not know what I wanted to pursue specifically. In the beginning of my freshman year, I attended the annual activities forum to sign up for clubs and activities on campus. I made my way around the room until something caught my eye: the Association for Computing Machinery (ACM). I talked to the officers at the table and learned that the ACM is a club designed for computer science majors, or those students interested in pursuing careers in computing. Since I was considering majoring in computer science, I decided to sign up and meet some current computer science students and learn more about the opportunities available in the computing field. As part of their effort to attract new members, the ACM officers had set up a contest to guess the number of computer keys in a jar. I evaluated the jar and wrote down my best estimate.

A few weeks later, I received an email from an ACM officer informing me that my guess was the closest to the actual number of computer keys in the jar! I was told to pick up my prize from Dr. Way, advisor to the ACM and professor in the Computer Science department. I went to see Dr. Way, and he inquired about what made me stop by the ACM table. I explained my interest in computer science, and he encouraged me to consider taking some computer science classes and perhaps pursue it as a major. I received my prize and thanked Dr. Way for his advice, not yet realizing the importance of the connection I had just made.

When it was time to register for the next semester’s classes, I took some time to think seriously about my interests and possible choices for my major. After taking biology and chemistry in high school, and physics my first semester in college, I decided that none of the lab sciences interested me enough to continue in that course of study as a major. I thought back to my computer programming classes in high school and remembered how much I enjoyed them and how exciting it was to develop programs to model a situation or solve a problem. It was then that I realized I wanted to more seriously pursue my interest in computer science. I recalled the conversation I had with Dr. Way and contacted him again. We met and discussed my options and planned out my courses for the next semester. I left our meeting planning to register for my first two computer science classes as a newly declared computer science major.

Now, as a senior, I can honestly say that choosing computer science as a career path is one of the best decisions I have made. It is great to have a major that perfectly suits both my interests and skills. I am a very logical and rational thinker and enjoy solving problems and puzzles. I am methodical and detail-oriented and will explore a problem from many different angles to obtain a solution. I am also determined and persistent and will not give up when faced with a challenge. I have truly enjoyed my computer science classes, and I am eager to take the knowledge I have acquired and apply it in the real world.