Sunday, March 30, 2014

Week 10

One week less to go! In terms of projects, this week was the ready-set-go week for the 2nd phase of project 3. The main goal of this phase is to change everything from working statically (if any) to a more dynamic approach. So, in our particular case, no more hard coded names of games, consoles, and studios in our splash page. However, thankfully during phase one we decided to take the less appealing approach at the time, which was making everything dynamic from the get go (except for the references in the splash page). So since last week our project has been using templates for all the categories and feeding them with data retrieved with the help of Django and our API. So in terms of that we really have less work than groups who implemented everything statically during phase 1, however, there are still other aspects to phase 2. For example, during this phase we will be implementing the data base that will be feeding the data from now on. That is what we have been doing during the weekend. This actually has a lot to do with what we have been discussing in the class room (SQL and getting information from data bases). I think that in the end, when the project is complete (after phase 3) I will feel very proud of it and will probably be able to talk about it during interviews and any type of professional environment. It has been by far one of the most "real-world/professiona-ly" projects I have worked in since I have been a student in UT CS.

In class, prof. Downing has spent some time teaching us how to code in SQL and different techniques to manipulate data stored in large databases. This obviously comes in very handy for our project. I am also currently taking a class called Data Management, which emphasizes quite a bit on SQL so between that class and prof. Downing's Software Engineering I have began to feel very familiar with SQL's syntax and way of manipulating data. We will see how all this fits into phase 3 eventually.

Sunday, March 23, 2014

Week 9

This past week was the first week after Spring Break. My team and I knew that the project would be due right after the break so we spent the break getting familiarized with the technologies that each would be using in its respective task. I chose to work on the front-end along with Blake Ellingham, so I started researching Twitter Bootstrap templates and going through the source code to see how my group and I could adapt it to fit our project. Before leaving for the break we had discussed what the splash page and what the templates would look like, so I had an idea of what I was looking for.

I had a lot of fun with this phase of the project. We used technologies such as Twitter Bootstrap, Django, Heroku, and Apiary. Our splash page looks very sexy and I learned a lot about passing information through JSON blocks, which I hadn't used before. I am looking forward to the next phase and hopefully I will learn a little more about the back-end that supports the site, given that the front end is pretty much done. We have working templates that can display any data that is fed to them. As I mentioned in my previous post, one of the features that I had never experienced before was working with five other software engineers in a project. It really gave me a sneak preview of what, in my opinion, some projects in the real world will be like. The whole team is divided into sub-groups, they all complete their assigned tasks, and then we all combine our results to make up for the whole project. It's a really interesting, chaotic at times, and efficient way to work.

I would say one of the take aways my group and I got from the project is that communication is key in order to succeed. It really cannot be emphasized enough, planning ahead and staying in synchronization with the rest of the team definitely pays off in the long run. We, as a team, will work on that to improve our efficiency and working style altogether.

Wednesday, March 12, 2014

Week 8

This week, in my opinion, has been somewhat of a slow transition between midterm week and new material (plus the beginning of the 3rd project). We did learn a little more about Python's inheritance functionality and how it compares to Java's. We also spoke about some of the String functionalities, and Python's so called regular expressions. However, at least in my case, I think that the IDB1 project is what took the most attention during this week. My team and I started preparing and dividing the project among all members so we all know what we are supposed to be doing. Something that seems very interesting to me is that, for the very first time, I will be working in a project that will be divided into several sub-pieces, which will be brought together eventually to form the whole project. So this "divide and conquer" technique is a new one for me in terms of working with several partners in a coding project. It is worth mentioning though that, at all times, all sub-groups will be aware of what the others are doing. It's just that given the time constraint it does not make much sense to try to do the whole project as a whole group, especially when each group has between 5 and 6 software developers.

Now, in terms of the actual components that will end up forming the project, there are several that either I have never heard of before, or that I have never used. Heroku, for example, the cloud platform that allows you to build apps, is a tool I hadn't heard of before. I have read up on what it is and how it is used, this part will go to the team that works on the back end of the project. I will be working on the front end, which consists of using twitter bootstrap to come up with a nice UI for the website. About a year ago I created a website using the same exact tool so I have some decent experience with it but it definitely will be challenging to connect all of the pieces together later on.

Sunday, March 2, 2014

Week 7


This week was midterm week, definitely a lot of pressure. I had already heard that prof. Downing’s tests were very meticulous and detailed-oriented. I felt relatively comfortable with the multiple choice questions given that I had done all of the readings, and then for the Python short answer questions I think I did run into some trouble at first but I think that I was able to solve them relatively decent as well. Definitely challenging questions. However, in the longer coding questions I did take some time to try and come up with a good design algorithmically. I am not sure what the balance will end up being in terms of my grade. I definitely think that what makes this test most stressful is the fact that we only have ninety minutes. It’s a very short amount of time when you think of the type of questions that are asked there. However, to be fair, prof. Downing does give us a so called cheat sheet so we can bring any information we want to the test. In theory this also contributes to the idea that it’s a very challenging exam but it’s definitely nice to have an information resource during a test.
In terms of lectures, this past week we also went over Python’s concept or way of “overloading” class methods. Prof. Downing used the example of writing an equals method so that it compares content and not memory address because, as in Java, the generic equals method goes directly to memory comparison. We also discussed iterators, which had some strange parts to it such as if you call the iterator function on an iterator, it just returns the iterator itself. However, I do feel much more comfortable with Python and with my programming practices and standard in general since this class started.
The next part of the class consists on a project that has been assigned in groups of approximately five programmers. We need to be able to come up with a theme that expands to several other sub-themes. I am not sure what the other requirements of the project are since I was not able to attend class on the day prof. Downing first explained the project, but I assume this week will start off with more information regarding the project.