As a young programmer who started learning about programming
a year ago, I haven’t really spent a lot of time mastering my knowledge on data
structures. I have learned the basics such as arrays, array lists, hash maps,
tree maps, stacks, queues, binary trees, simple sorting algorithms, and linked
lists. With this knowledge, I realize that finishing a particular project or
problem involving data structures can be done in various ways. This is where
creativity and figuring out which data structure is more efficient to use will separate you from
everyone else. For example, I am currently working on a calendar project for my Java object-oriented design class and realize that there are many ways to
approach the project. Some students may use an array list or a hash map to sort
out the events that need to be included in the calendar.
How important is data structures for a programmer?
Well let’s put it this way, every programmer is required to learn data structures as it
is a fundamental part of being a computer scientist. Big companies like
Microsoft or Amazon require interviewees, especially those who just graduated from college, to be well-informed in data
structures.
But why interview on data structures?
We can assume that a recent graduate may not have the working experience to demonstrate that he or she can program in a working environment. Testing interviewees on data structures
is an excellent way to tell if the person is able to succeed with the company
and be able to see what the person’s critical thinking skills are like when it
comes to solving a particular problem. Since data structures are conceptually the same for other programming languages, it is easier to compare
two programmers’ knowledge by asking them questions that tests the basics of programming than comparing whether this programmer knows this amount of information more than the other.
Data structures are a vital part of being a programmer and without having a deeper knowledge of them may result in finding a job in the programming career field a bit more difficult.
Hi Anacleto,
ReplyDeleteYou gave your post a personal touch by telling about your projects and how you are using data structure in your project. I agree with you that the knowledge of data structures is very important to every programmer. Once you understand a data structure, you can implement in any programming language. No wonder data structures are one of the most favorite topic for interviewers.
The picture of the data structure is good, but it would have been nice if you mentioned which data structure it is.
Hi Anacleto,
ReplyDeleteI do enjoy reading your blog since you share personal understanding about data structure and even talked about some very attractive topics like the relationship to job interview. I agree with your opinion that choosing the most suitable data structure for a specific problem is very important while also interesting. And I deem this process as the art of computer science. I will be very interested to reading If you can extend the discussion in this a little more.
Regards.
Hello Anacleto, this post is a good example of establishing a personal tone.
ReplyDeleteYou start off by letting us know about your inexperience with programming and how you adapt to it. Like you, I am working on the same calendar project for my object-oriented design. I have a feeling that a lot of novice Java programmers would make every data structure an ArrayList and call it a day. In reality, of course, some classes are better at storing objects than other, depending on indexing, sorting, iteration, et cetera. Being efficient and know the different ways to solve a problem is invaluable, and I am glad that you said so. I would suggest having future images be easy to see when shrunk down, but otherwise, good work.
What I get from your post is your desire to learn and become better at Computer Science. The desire to explore is what makes our field great! I also like that you describe this in light of work experience as I feel a lot of students focus too much on the curriculum, and not enough on developing practical and real-world skills required to get an internship or grad job. Great read.
ReplyDeleteHi Anacleto,
ReplyDeleteI really enjoyed reading your post. Your personal experience of learning data structure makes this post more interesting. Data structure is important both in cs classes, plus get a job. It is most common and hard part is select right data structure for right project. That why understanding data structure makes programmer life easier. I think you described all basic points of data structure. Good work!