Sunday, February 23, 2014

Week 6 - Keeping On

Hi,

Thanks for coming back to see what happened this week in class. Unfortunately, without a project assigned and the test still a week out, there isn't really much to report.

One thing interesting did happen, and that is that Downing decided this semester to switch up the overall project format for the rest of the semester. What this means is that this semester we get to form teams and propose a project, more or less in the same vein as the project from the earlier iterations of the  class, but with something that may be more interesting for us to design than a site about world crises. Of course, our idea must be approved, but we still have some creative freedom, which is fun! Now I just need to figure out what team I'm in before it's decided for me.

On that note, I would like to let folks in my class who are looking for project partners know that I am available to group up. I know some web dev stuff and I'm alright with Python too.

Since the week was pretty chill, I'll take the rest of this post to continue on talking about the extra credit in the class. If you've taken a class with Dr. Downing before, you may already have an idea about all of this, but for those of you who don't know, there are a lot of opportunities in this class. One is the blog. We write a weekly post to you to tell you about the class in at least 350 words, and it is worth 10 points. Next, each of the earlier projects has an extra credit component. For Collatz, if you get your program to run really fast, and you can pass a different version of the problem, you get 5 points. For the second project, if you pair program you get 5 points. For Netflix, if you best the RMSE of 0.94... you get 5 points! If you write a blog post about an approved article, 10 points! And, if you create a portfolio to showcase your work, 10 points.

Hope that gives you some more insight into the class. I'll be back again next weekend.

~Sophie

Sunday, February 16, 2014

Week 5 - Project 2 is Done

Hey,

This week project 2 - Netflix was due. I was able to work with a pair programmer, Keyon, on this one and we met up to get coding and just about finished it in one evening. So we turned it in relatively early when we thought we had it done. Little did we realize that we had not actually gotten the code running to spec, under one minute for reading in a ~1.4 million line text file along with calculating the RMSE values of our predicted movie rating data compared with that of the actual rating data. So our first attempt, while it did seem to solve the problem, still needed a bit of tweaking. Of course, we had to meet up again. After a bit more reading into the problem and a little refactoring of our code, we got it running in time and turned in the project a day before it was due. Then, the due date was extended. We could have used the time to try and get our prediction values to be even tighter, but we did not.

Most of the week in class we went over some of the neat little features that Python has including assignments and unpacking. During the last couple of weeks we touched a bit on Python generators, and for project 2 Keyon and I used a generator and some fun syntax that we had never seen used before in other languages. All in all, I think that this language can be a bit confusing, even after taking a programming languages course, when looking at the different types, and how list comprehension works. As soon as I felt like I had a grasp on some of it, we had a quiz, and I ended up mixing around what I thought would work and what I thought did not work. But, as I usually find is true for myself, making mistakes and being shown the correct answers helps me out in the long run to hopefully not make the same mistakes twice.

One new thing this week was the book we are reading. Our weekly assigned reading had us finish up the XP Installed book the week before last and onto Database Design with UML and SQL this week. This is the second of three books used in the class and is available online. Hooray for saving some money!

Well, with the project turned in and the weekend coming to a close I wonder if we will begin looking at some Project 3 information and get started with that, or if we will be diving even deeper into Python before continuing on that way. Our first test is next week, so it's definitely time to look back at what's been learned and taught thus far.

Talk to you next time,

Sophie


Sunday, February 9, 2014

Week 4 - Netflix and the Snow Days

Hey,

Continuing on from the last post, this past week, and current semester thus far, has been interesting for us at UT Austin because of the many school closings. School was cancelled on Thursday and Friday of this past week giving us much to catch up on in our classes that fall on those days. This class in particular has now only had one full week of classes with a day being cut out of each of the earlier weeks due to the school closures for inclement weather. No matter how people are viewing the days off, we know that the closings put us behind in our studies, though it may be better to be safe than sorry when dealing with cold weather in Texas.

So, we turned in Project 1 the week before last, and this past week we were given the next one, Netflix, as I mentioned in my last post. Well, this project is due this Thursday and I have just gotten a pair programming partner to work with today. The articles we were given to read this week consisted of a lot of pair programming information, so I am definitely glad to be working with another classmate. In fact, the next three projects in this class will be done with at least two other people, I believe, so Downing has been pushing us to work with someone on this project to see if we have compatible schedules and could possibly form groups later on.

The Netflix assignment's due date comes one day after another class's project's due date, which I am lucky to have already pretty much done. But, this is always a reminder for me to look to the future due dates and see where they coincide in order to prevent deadline scheduling with homework. In all cases, Murphy's Law rules, and it is better to give oneself some leeway with turning in assignments.

The last couple of classes consisted of a lot of information for Netflix, and for the RMSE problem I mentioned last week. I expect the quiz tomorrow to have some questions either about those two things, or about the book reading that was due before Friday of last week. We have a quiz at the beginning of each class, which I am certain will help us to study for the exam coming up in a couple of weeks by showing us what types of things Dr. Downing likes to look for.

And with that, until next week, I bid you adieu,

Sophie

Sunday, February 2, 2014

Week 3 - Project 1 is Done

Hi again,

So, Project 1 was due on Thursday. This project was one of the problems from Sphere Online Judge, spoj.com. This online oracle takes submissions for solutions to the huge project set they have, and "grades" your submission based on its ability to solve the problem as well as timing the solution. For the purposes of this project we wrote code in Python, and had to implement a cache in order to speed up our solution in addition to being one of the base requirements for getting a non-zero grade.

Dr. Downing gave us examples of the different types of caches available for us to use, and I found that with some tweaking and changing of my code, the fastest iteration that submitted was one with the simplest solution, a lazy cache. I later realized that had I not used recursion I probably could have sped up my code, but I did not go back to adjust it. I decided this time that the solution I turned in was good enough. And, because I know that the semester will ramp up pretty quickly with multiple deadlines and exams in the same week, I thought it would be better to use any extra time I had to be sure to be caught up in my classes for now.

Then, I was reminded that the career fair was on the same day that the project was due, and felt really glad that I got my project ready to be turned in ahead of time. The career fair was exhausting. I spent a lot of time talking to a bunch of different people about some of my past projects, what I like to do, why I would like to work for their company, or be a good fit, all while standing for hours, and feeling overly hot in that building. Even though the conditions can be overwhelming, I did enjoy talking with all of the recruiters and engineers, and know it was well worth it. I have some interviews coming up, and those require some study time too.

The next day in class we talked about Z scores, standard deviation and a root-mean-square (RMSE) problem. We went through some of the code for solving this problem in class, and we will be using this information for our next project, Netflix, which we will be learning about this coming week. I'm looking forward to hearing the specs on this one.

Reading this blog post over, it reads a bit disjointed to me, and I feel like I must be extra tired right now. The weather has been fluctuating between 30 degree ranges nearly every two days, and my allergies have been kicking my butt. I have been trying to keep from getting a cold, and stress is not a good agent for keeping the immune system high. So, I think I had better rest up, and stay on top of my studying.

I'll be back to write some more next week.

~Sophie