Table of Contents

Data Structures Journal

August 26th, 2014

Today was that wonderful first day of class that everyone loves. As always, Haas has the energy of Tube Man. I'm looking forward to see what these very long codes we will be writing will look like and what we will be able to do with them.

September 7th, 2014

During the week we reviewed some C. The main thing was pointers, in Joe's class I didn't learn much about them. In class, I started to understand them a lot more. I might get a hang of them soon, might not, it'll click eventually. I'm still wondering all that we're going to end up doing in the class.

September 14th, 2014

We have been learning about structs and what we can use them for. The process of making once and using it seems simple. I still haven't understand the point of make many inside of one yet though. They are very useful when it comes to information and I'm starting to get an idea of what these long scripts are going to look like in the end.

September 20th, 2014

Now we are getting more into the structs and talking about the different types of structs that there are; the linked list (singly and doubly), also the ring.In class we also discussed what we'll be doing down the road. Making many functions that can do things like inserting a node before or after another one. Displaying a node backwards and forwards, or even searching for a specific number within the struct and returning where that number is at. There is another function to disconnect a specified node from a list. There is much to learn in this class.

October 5th, 2014

Falling a little behind on this… In the past two weeks, both the node0 and node1 projects were due. Pretty sure I did well on those. In class, we started talking more about the functions we will be using through this course to make our lives much easier. Like mknode(), call this function so we don't have to malloc a new node every time we decide to create one. Also in class, the sample code for 'insert' was written, but didn't work. So that was the awesome opportunity to introduce the debugger. A debugger is a powerful tool, I just need to sit down and play with it a bit.

October 13th, 2014

I believe I have hit that wall in this class on SLL0. I believe I am not the only one. I understood how all the functions work while going over them in class and writing code on the board. It seems I know how they work but I just didn't know how to write them. I shall see this week if I will get through that wonderful wall, taken the advice to not do it all at once.

October 21st, 2014

I have been working on SLL0, it is quite the project, it is making me think more about things then usual. This project seems to be that one where I have a big obstacle in the way. I have three project now due within the next 8 days… good luck to me.

October 26th, 2014

In class on Tuesday we started to talk about doubly linked lists. Instead of our lists just having a next, we'll now also have a prev(ious). In my mind, this seems helpful in the way of navigating through the list. In class on Thursday… I was not there, sorry Haas. I have have been working on my projects. The functions seem to be easier to create as I go through each project. That may be because I'm getting use to the way it all works but I don't know if it all clicked. If it has, I missed it, and I think it has.

November 16th, 2014

We began to talk about queues and how to implement them, well more of what they are and how to work.(Almost the same thing) Soon that will be due, hopefully I can finish it. Soon we will talk about trees I believe and then we'll be done. Last will be the EOCE, that lovely long thing everyone… loves. Queues are quite simple, first thing in is the first one out, it's like a game, waiting to join a full server. The first one to wait will be the first to join, the last to try to connect will be the last one.

December 2nd, 2014

It was a lovely week off…

EoCE Response

0x0: Universal Implications

The entire universe…? Hmmmmmm. The whole universe could be implemented from just linked list. A long list of stars and galaxies within the universe to start. Then all of the stars and galaxies could also have their own lists. Each star would show a list of all of its particles and even its temperature as it changes, if it's changing. The individual galaxies would also show the stars and what else there is out there. Our galaxy would also show the stars (even the sun), the planets, and all of the other things out there in outer space within. Focusing more on Earth. Earth can use all of the data structures that we have implemented in class. Linked lists, stacks, trees, and queues. For us humans, a tree could be implemented, a tree from the first one/s on Earth to the ones now on Earth. It could even be sorted by age, if needed/wanted to be. For our everyday lives. Stacks, queues and even lists can be used. Stacks, you go to a grocery store, all of the shelves are stacks. The products put up in a way so the idea of first in, last out occurs. Unless someone comes by and picks the item from the back, it happens. A stack of tests, needed to be graded or handed out. Once students are done with their test, the hand it in. Once all the students are down, they created a stack together. As the teacher is grading these test, s/he is also creating another stack from the stack the students made. Once all the tests are graded, in a normal world, the first student to hand in their test should be the first to get there's back. Queue are used everywhere. Every time we drive our cars we will most likely going to stop at a red light. As we are stopped, a queue begins. The first one at the light will be the first one to go into and past the intersection. The last one will obviously be the last. This even happens in gaming. You want to join a game, if the lobby is full then you are most likely going to be put into a queue (if the game is setup that way). If you are the first to enter the queue, then you will be the first to join the lobby once someone leaves. You can end up in a queue at a restaurant, or even a bathroom. You arrive at a restaurant, all of the tables are full and you, if you stay, are put into a queue. You must wait your turn to go in. The people that have come and waited before you have the right to be served first. At a bathroom, all of the stales and urinals are being used, a line is most likely going to form is there are many people, a queue forms. Even just one person waiting can be considered to be in a queue. Lists can be used everywhere. A list of a person's belongings. A list of a person's friends. A list of places a person wants to go. These structures are used everywhere and can be used for so much. These are just some examples in which structures can be used to implement the universe. The list goes on and on.

0x3: Meaning

The whole idea of data structures was meaningful to me. It makes you look at things differently. Even more so after implementing the ones we did. The things that people look at normally can be applied to a data structure. For example, at work, working on a cash register, the items that go onto the belt are in a queue. The first ones to arrive to me are the first ones the go into a bag. Even the cart racks at work, the first one that goes into the rack is going to be the last one to come out. On the work subject now, the employees in general are put into a list, they all have numbers. This will always stick to my mind because it allows me to look at things in a way of data structures. Like the universe implementation, everything can be applied using structures.

0x4: Reflection

I think I did well in this course, in terms of computing education. Throughout the entire course, as we were introduced to new things, I understood everything the instructor thought us. From just nodes to trees, I understood it all. Implementing these “new things” made it even easier to understand. Even though I didn't get to implementing all of the structures, I still understand how they are used and their functions. The course was very useful and very interesting. I felt the course actually improved my coding ability greatly. I felt, going into the class, I was a noob. And now, now I'm less of a noob. Everything we did in the course interested me, I wanted to know how each and everything we learned worked. So implementing the structures that we did was fun to me. Of course it can get frustrating sometimes when a program continues to segfault. My least favorite aspect of this course would have to be all of the projects and me not doing all of them. That could easier just be on my part, not the courses. With all other classes and work, I felt I should have just managed my time better possibly and then I might have gotten most of the projects done. The idea of a project being due once a week, was not very helpful either. Just an idea can mess with someones mind. I would suggest something that you, Haas, have already brought up in class. For the student to write their own unit tests for each of the functions. I feel like that would help the students so much more in a way of understanding each of the functions more in depth and also I feel as if it would improve their programming skills as well. Yeah it's a data structures class not C/C++ but we keep learning as we go and as we rewrite things. That suggestion may not be the best too because it may interfere with learning more data structures than planned.

0x5: Personal Assessment

Considering attendance and timeliness, I feel I deserve a C. I have gone to all of the classes, but one. In each and every class, I put in my best effort to understand everything that was being taught to us, and I did understand it all. The part that got me in this class was time. I feel I should have managed my time more on the projects, even this one, the ECOE. If I did do that then I would probably feel I deserve an A, but I didn't manage time well enough. Deep down within my soul, I would have to stick with a C. I wish I could say even a B, but not would not even be close to honest.