Tuesday, October 29, 2019

Project 2 Day 7-11

Through the last 4 days, my team and I have been working on our assigned functions. Jose had some other priorities to do, and I ended up doing some of the functions that he did.

The group that was given our implementation had some questions about our design. One question related to an issue on my part where I wrote in the design document a function in a different name. This caused some confusion, and that was my bad.

The implementation group also suggested some ideas to make the design better, which in my opinion were really smart.

After working on the rest of the functions, our group decided to try working on the spin function. Where we came up with the idea that we would rotate the names of the nodes rather than the actual nodes. This would cause some issues later in testing.

On our final day, Jackson updated his remove functions, but I did not see his tests at first. Thus, I wrote some tests and I tried to make some edits on Jackson's code so the tests would work. Unfortunately, it was not Jackson's code that was wrong it was rather then functions that I worked on had some bugs, and was unable to be in sync with Jackson's code. Later on Jackson was able to fix the bugs so the add() functions would be in sync with his remove functions.

While he has working on that I decided to try writing code for a spin function that would swap names. I first worked on the spin() function using indexes, so that it would then call the spin() function using nodes. I was able to make a spin() index function that worked at first, but then I began testing spin() with node input and that caused issues because the names I initially set up were all mixed up after all the spin() tests.

It was at that point, where I tried to fix the spin() code so that it would swap the actual node instead of just the name. I tried to work on fixing the code, but had to take a break cause at that point I had been working on the project for almost 6 straight hours. So Lisa and Jackson were nice enough to take over and finish up the Spin(). Jackson had already made some spin() tests, but the spin() tests had only used spin() with index input, so based off my mistakes I wanted to make sure that spin() with node input worked, and it was able to. After I made spin() tests so that the list was in order, I encountered a bug in CheckOrdered(), it turns out the amount of checks was too much by one.

Jackson and Lisa did a great job on the project. Although I understand that Jose was busy, I wish he had communicated with us a bit better about his situation.

Friday, October 25, 2019

Project 2 Day 6

So far I've just made some edits to one of the functions I have been working on.

Also Team D is requesting a progress report, so I have updated our google doc to show what our team has already written, and what other functions need to be completed. I plan to share the document with Team D around the morning/afternoon.

Tomorrow I hope to talk with my group a bit more and that we can finish the writing the rest of our individual functions

Tuesday, October 22, 2019

Project 2 Day 5

After the previous blog, our group collaborated to work on our class diagram and our design document.

Unfortunately, our professor thought our idea of using a red-black tree was a bad idea. After thinking about it, he does have good points. And I learned some lessons after his critique

Lisa and I then worked on making doubly linked list data structure, and so far Jackson has agreed it was a good idea. Lisa, Jackson, and I have been working to make a new design document, class diagram, schedule, and possible functions for our new bucket data structure.

On top of that Lisa, Jackson, and I have been starting to work on the Spin project for Group D. I thought that Group D's design is pretty good, and explains itself pretty well. Lisa has already worked on setting up the classes. Jackson has already worked on a few functions. I have created a folder so that our group can do branching and merging later. I have also worked on a few functions for spin.

So far we have not heard from Jose today, but hopefully he will be in contact soon.

Sunday, October 20, 2019

Project 2 Day 4

So far everyone is connected through taiga and the slack site, so that is good

Although we are all in agreement to use a red black tree for a bucket class, there may be some confusion about the data structure for the item class. Hopefully, we discuss about this more.

I have been trying to work on more formal documentation by making a class diagram instead of writing pseudocode. I plan to make more diagrams soon.

Saturday, October 19, 2019

Project 2 Day 3

So far I have been talking more with my group. Our initial idea for a hash table has been scrapped, and we thought about using a ternary search trie. An issue though was wondering how we could balance this ternary search trie. I also thought this could be confusing for the remote team doing the implementation. So I proposed a red black tree, which can be easy to know how to balance and also is not too hard to implement. Hopefully, the rest of my group likes this proposal.

I have been talking with Lisa the most about these ideas, and I recently have been talking to Jose, who has recently got a new job. I have emailed Jackson twice and been posting on piazza, but I have not heard from him yet.

I’ve been writing some pseudo code on the design of a red black tree bucket, and my hopes are that I will finish writing the rest of the pseudo code by tomorrow. I also hope that I can get communication from Jackson soon, so that we can coordinate better as a group.

Thursday, October 17, 2019

Project 1 Day 2

I have been communicating with a few of my team members about the data structure to use for our project. After thinking about, I think my team member's idea of a hash table would be best with the use of linked lists. I have asked my other team member whether he agrees, and hopefully will hear from him soon.

I have also tried communicating with the last member who has not accepted his invite to our taiga site. I tried to email him to figure out his situation, but I have not gotten a reply from him yet. I emailed him early in the morning and it is now around midnight.

So far, hash tables seem to be the best idea, and I have proposed an abstract idea of the design of the hash table. I have shared my proposition and asked my other team members for their ideas on taiga.

Lastly, I have created a slack for our group to use. Although only one member has accepted the invite for now.

My goals for the future is to polish my proposed design and to find out how to make further documentation. Additionally, I hope to talk and communicate with my other team members more.


Wednesday, October 16, 2019

Project 2 Day 1

Today I have been trying to contact some of my group members through Piazza. I noticed that a few of my group member were missing on our taiga website, so I posted if everyone was able to get an invite.

I also thought maybe a schedule would be good to add on our taiga site. I thought this would  allow the group to know when is it good times to contact each other, and could be useful for the group doing our implementation next week. I have shared a google doc, and when everyone fills in their schedule, I hope we will post it on our taiga site.

So far, I have been thinking of ways to design our buckets program, and I have thought of maybe using a tree or a hash table. I have posted a note on taiga for our group to discuss their opinions, but I have gotten no comments so far. Hopefully, I will be able to hear more from my group.

Monday, October 14, 2019

Project 1 Day 7

So far I have completed my Paper and have sent it up to the depot. To be honest I wish I had done it later because I would have re evaluated some of my team members. Currently, there is an issue where one of the unit tests is throwing an error, and it has not been resolved yet by the person assigned to that unit test.

Overall, though all the unit tests seem to be working well.

Saturday, October 12, 2019

Project 1 Day 6

I have been forgetting to blog for the last few days. But within these few days I have been working to unit test my ToByteArray. Also I've been trying to help out one of my groupmates in understanding a function. Both my groupmate and I thought there was a lot of setup, and that it was best to switch options. I also have been making tests for the Clone() function by testing out the length of the cloned string and its content.

I also have been working on my Q&A questions, which have given me some time to reflect on the project. The Q&A made me feel that this project would be easier if we had planned what to do in the beginning a bit better. 

So far, most of our members have completed unit testing. I hope that the rest will be able to upload in time.

Tuesday, October 8, 2019

Project 1 Day 5

I made some edits to my ApplyPadding UnitTest to print out statements to show what is being tested. I also made a log test to check out the function Log(). I also removed some of the old test methods I did due to the fact that our group had to rearrange who did what methods.

So far it seems the group is making good progress. I have completed two of my unit tests, and I have an idea of what to do for the ToByteArray() function. I do have some concerns with the fact we have not gotten our Q&A prompt yet, but hopefully the professor will post it soon.

Sunday, October 6, 2019

Project 1 Day 4

I've been working on making unit tests for ApplyPadding and ToByteArray. I tried making a random String generator to test both of these functions. Not only were the characters random, but so were the length of the Strings. I used random lengths to make sure that the padding worked in order to test that I get the right results from the function. I also made a random number generator from 0 to 3 to test all the padding modes used in ApplyPadding.

In order to test the ToByteArray I compared the Byte array I gave as input to making a state, and compared each value in the byte array with the output Byte array given from the ToByteArray function.

My teammates seem to be doing okay. I have seen that one (Lisa) of my teammates has been in the testing phase, I understand that my teammates have other priorities and may not have time yet to work on the project.

Tuesday, October 1, 2019

Project 1 Day 3

Today all of the group members went for a meeting at the CDM building, and we talked about how we plan to split up the work on the assignment. We also had some confusion about what is expected of us when making a sketch for the more complex functions. Additionally, we were confused on whether our unit tests have to sum up to a cyclometric complexity of 12 or if it is the function that we have to test that sum up to 12. We established folders and set up the AES project in P4V. All of the members in the group were very nice and were very cooperative.

I also tried to go ahead a little bit by trying to make a test for one of the functions I was assigned, at first setting the main function in AES to allow unit testing was tricky, but it turns out it was an issue with my setup and the solution which was resolved. Although I'm not sure if it what the assignment is looking for, I practiced the polynomial function by getting the results of all 256 possible options, and stored them into an array. Next, I set up an array called translated, which would be the results for all 256 possible options. Lastly, I compared the functions results with the translated array by using the CHECK() function. Some difficulties that occurred were filling up the translated array, I ended up using a decimal to binary function to help me in filling the array.