Tuesday, May 13, 2014

I am currently very happy, ecstatic even; our group provided a very fine performance of our pitch presentation after all of our practice, and the results couldn't have been better. We received the 1st Place UNM CS Software Engineering Project Showcase award, bragging rights, and a $200 dollar cash prize (extremely unexpected, but a pleasant surprise). I am glad that I was able to perform my part up to par with the others to achieve this; I feel that I have redeemed myself of my poor performance on my project pitch early in the semester. We split the cash prize in such a way that Dan was able to recoup his out of pocket costs for flyer prints and image licensing: Dan got $100, and Zach, David, and I split the remaining $100. We are all on good terms and will definitely get together after this semester to have a few drinks in celebration of this achievement in light of our hard work.

I am very relieved that this semester is over after this blog post; I have already turned in both my group member evaluation and  final self-evaluation, and all of my other classes are finished. I hope that my increased effort in these last three weeks has been noticed in regards to CS 460 to better my grade. This class has been a good insight into what it is like to be a software engineer. It has also been nice to compare my experiences within CS 460 with my experiences in my internship; there are a ton of similarities. The amount of work I have had to do this semester has blown all of my past semesters' work loads out of the atmosphere; however, even with how much work this semester has demanded, I appreciate the vast amount of experience I have accrued.

I am glad that this semester is at an end, I am glad that I will (hopefully) be graduating, and I look forward to see what life brings my way.

Monday, May 12, 2014

My group and I have worked on our showcase pitch for more than 6 hours over the weekend and today. It has improved a lot during this time, and I believe that we'll be able to perform very well for tomorrow. We are covering all of the bases; an intro into the problem, why what is currently available is bad, why our web application helps solve the problem, the technology behind our web application, how we plan to generate revenue and market our web application, and demos for both the manual scheduling, and the schedule generator. I really hope that what we have prepared will be well received by the judges. Since we've had a code freeze for the last week or so, we have been able to focus on our parts as well as being able catch up on other classes; it has been insane how much time CS 460 eats into your other classes. However, with a team like ours, we've been able to keep the stress down, get what we needed implemented, and maintain the CS 460/other classes work balance, resulting in a healthy work/work balance throughout the semester (see what I did there?). I hope that Professor Ackley sees that I'm attempting to redeem myself from my poor project pitch performance and graces me with a passing grade for the class.

Wednesday, May 7, 2014

It's the last week of classes and I'm feeling pretty damn good, I'm essentially done with three of my classes after tomorrow (Thursday), and I have plenty of time to focus on my remaining two classes (cs460 and cs 442).

This semester has probably been one of my most difficult, mainly because of all of the group projects/homework and having a 20 hour internship doing front end web development. I was pretty down trodden with such a low projected grade for CS460, but I'm trying to make the best of it. My group and I are planning to meet tomorrow and Saturday to polish up our pitch for this coming Tuesday. I know my project pitch at the beginning of the semester was extremely poor, due to various reasons (lack of confidence/front teeth), but I feel much more confident in being able to perform to a professional standard for our final pitch. I've also been asking other members of the class how they did their self evaluations, so I hope I'll be able to create a final self evaluation that is better than my mid-semester one.

Monday, April 28, 2014

My predicament.

So... I am currently freaking out about my "mid-semester" review for my CS 460 class, much more than I was initially, after speaking with Professor Ackley after class today. I had been under the impression that he had already completed the mid semester reviews and that there was going to be additional padding of the grade after the fact... but with recent knowledge, the additional padding has already been applied to the grade... and thus, my lowest possible grade as a D+, and my highest possible grade a C+. This is really hard for me to comprehend since I usually get A's and B's, and currently have a 3.61 GPA at UNM with only my CS and Minor classes (my core classes were completed at CNM and are not included in the UNM GPA). It is even harder for me to comprehend that my projected grade is this low in a class that's grading criteria is almost entirely subjective: there was no syllabus stating how each aspect of the class would be graded besides a little fuzzy explanation on blog posts. It completely baffles me. This class, from what I can tell, is purely about experiencing a faux real world software development experience in a protected environment; anyone that has been actively attending classes and working with their group is garnering this experience, and, thus, should be passing the class with flying colors.... except, apparently not. I've attended every single lecture, I've participated in the discussion when I felt comfortable I could without getting mocked, I've attended 20+ hours of meetings with my group, and have worked more than that on the our project itself. Sure I could have done better on my project pitch, I'm not very comfortable doing those kinds of things (especially knowing that there was no way in hell people would pick my project anyways, thus it's kind of hard to pep yourself up), but I did what I could given that I didn't have front teeth (I was in the process of getting implants): it's a hell of hard time trying to motivate yourself to present when you don't have front teeth. And not only that, my grade has been impacted significantly because I didn't present well, which is a purely subjective grading criteria. The only person who should receive negative marks would be someone who did not present a pitch at all. Also, the grading criteria for the mid-semester self evaluations was also non-existent and is based subjectively; There were only some fuzzy guidelines in what to do. Essentially, everyone should receive a minimal grade of a B so long as they attended and participated in the class in it's various aspects, since everything is "graded" subjectively.

I've been struggling through this semester with a 20 hour internship, and all of my classes essentially consisting of group projects: That's a lot of time having to meet after class with different groups. I've also been struggling internally because of the aspect of actually graduating and having to enter the real world; It's damned scary. I've essentially been attending school for my entire life, and now I have to ram my head against the reality of finding a job and entering the work force; It's daunting for me.

Do I think that this blog post will affect my grade? Probably not in a positive way; but I felt that I needed to get what was on my mind out there.

Note 1: I have typically been writing my previous blog posts rather curtly, since I am more of the type of person to get to the point and avoid the fluff.

Note 2: During a client meeting with Professor Ackley, the topic of what the life of our project was going to be after the class was discussed. He asked a question about who all was going to continue working on it and I mentioned that I planned on graduating: he then made a little jibe about seeing if that happened and chuckled (this was before we received our "mid-semester" reviews). Looking back on that, I am rather offended that he would make light of something like that (since he likely knew my projected grade at the time).

Saturday, April 26, 2014

Besides meeting about and working on the schedule generator this last week, we have been focusing on planning out our pitch so that it is a little more cohesive; our first pitch was received rather well, but I feel that we didn't get much feedback because of having presented in the middle of the three presenting that day. I know that we will be presenting in the same order, but I feel that what we have developed and implemented since the first pitch will really have our pitch stick in the minds of the audience (class).
The schedule generator is looking really good. We've got it implemented and have it generating schedules that we can now show on the schedule generating page. There are a few optimizations we could implement on it, such as organizing the class section lists from smallest to largest and then running the algorithm, but that is something that can be dealt with later. I really think that the class is going to be blown away by this feature.

Sunday, April 20, 2014

After our last meeting we have divvied up the rest of the work load for this semester. There can only be one person working on coding up the schedule generator algorithm (outside of pair programming), and, thus, we have come up with other minor stories for bug fixes and minor tweaks for those of us that are not working on implementing the schedule generator.
We recently got together and discussed the algorithm we are going to use for the schedule generator. We've come up with a way so that it performs better than brute force, but still gives us all of the permutations of the schedule that we want. It will take in a list of classes, the algorithm will then create a list for each class of each of the class's sections. We will then step through the list of lists and compare each section to the other class's sections. On the comparison of the first two section lists, if the sections fit, another list of the possible schedule will be created. We then use the new schedule lists to compare with the other classes. The growth of the # of lists is the number of current schedule lists * the number of classes in the next section list. If there is a class that does not have a section that fits with any of the possible schedule lists, the algorithm will short circuit and declare that there are no possible schedules with the selected set of classes.
Our client meeting with Dave this past week was very helpful. His urgency on us implementing our final feature (the schedule generator) put our time frame in perspective. However, I feel that we should be able to implement the feature in time for the next demo.

Sunday, April 13, 2014

We recently had our meeting for filling out the business model form to help solidify what information we are going to present for the pitch. It is really amazing at how something with so little can eek out so much thought of what would actually have to be done to create a fleshed out business model. We, of course, did not fill out everything since we only have 4-5 minutes to actually present the information during the pitch. It was interesting that there was a lot of overlap in the topics within each box. As we were filling out the information, we would get to another whole box that would be there to flesh out a single aspect of a previous box.
VisualScheduler is looking good. The static pages are done, the backend is essentially complete, and the Scheduling page is making wonderful progress for the the pitch demo.

Tuesday, April 1, 2014

Finally finished the html frontpage for the web app. It looks pretty bare at the moment, but it's at least ready to be polished to everyone's liking. Time to start on the about, help, and contact pages.
Hell f*****g yeah! Intellij fixed my project problems (though it took me a few hours to figure out how to set everything up). I can finally code without having to deal with janky hacks around the problems (still don't know why they even existed) and can now jump on making our html pages with piece of mind.

Monday, March 31, 2014

Since I've been having severe issues with our project on eclipse, I have been looking into Intellij by the recommendation of Zach Harding. I really hope that it is as good as it claims to be and will resolve my issues.
The lecture from the guest speaker was really interesting to me. The main reason being that I see a lot of similarities of what he was talking about with my current internship. A lot of the processes sound the same, the commit sizes are small because of a mature code base, etc. The only difference is that there isn't too much significance of time at the moment, or it may just be me being out of the loop since I'm only a lowly intern.

Sunday, March 23, 2014

Things are looking really good for our project. Dan's girlfriend has delivered on a massive scale with a wonderful series of mockup images. Dan is thinking that the backend is almost done, and that we can begin focusing on working on implementing the front end to look like the mockup images.

I've been having issues with my eclipse project folder settings for a while so I haven't been able to keep track of everyone's work; so I have just been working on the calendar portion and some of my own simple mock up pages that are coded to start off with.

Monday, March 17, 2014

Our project is moving along well. Dan recently got a remote server up and running using Amazon's AWS services. Our backend is looking to be in good shape and we've started on developing a basic front end. Unfortunately, I've been running into project/repository issues with the recent project consolidation/cleanup from the initial repository. Hopefully I can get that resolved quickly with the help of Dan.

Wednesday, March 12, 2014

I've found something very promising for the calendar visualization. There is an AngularJS framework based utility packaged called AngularUI. AngularUI has a full calendar (month view, week view, day view) that I think we'll be able to use for our project. I've started looking into it and hope to have a demo up within the next couple of days.
I've been tasked with researching how we are going to visualize the schedule. It will most likely be some sort of weekly calendar, similar to what UNM has for their weekly schedule or Google's calendar, in which you can add schedule objects that will then appear as blocks of time in the calendar.
I'm feeling good about our project, it looks like all the separate pieces that we've been working on are fit together well and we're able to get basic query functionality. With the basic guts implemented its now time to start working on the front end design of things and make it look pretty.