<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Scott&apos;s Csci 3081 Blog</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/geexx041/myblog/" />
    <link rel="self" type="application/atom+xml" href="http://blog.lib.umn.edu/geexx041/myblog/atom.xml" />
    <id>tag:blog.lib.umn.edu,2011-09-26:/geexx041/myblog//14546</id>
    <updated>2011-11-09T03:31:24Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Enterprise 4.31-en</generator>

<entry>
    <title>Blog 4</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/geexx041/myblog/2011/11/blog-4.html" />
    <id>tag:blog.lib.umn.edu,2011:/geexx041/myblog//14546.321158</id>

    <published>2011-11-09T03:21:15Z</published>
    <updated>2011-11-09T03:31:24Z</updated>

    <summary>It&apos;s pretty common for me to make mistakes in my coding when I try to create a program. The solution to this problem is testing. CxxTesting and unit testing are two different ways that I have been able to test...</summary>
    <author>
        <name>geexx041</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/geexx041/myblog/">
        <![CDATA[<p>It's pretty common for me to make mistakes in my coding when I try to create a program. The solution to this problem is testing. CxxTesting and unit testing are two different ways that I have been able to test my code for the class project. These two types of testing are great ways to figure out if my program not only works, but also helps me narrow down what part of my program does not work. This can save me a lot of time when I'm trying to fix the code to make the program run.</p>

<p>CxxTesting involved running tests where I had a collection of files that were given to me and I can make asserts for my code. This will take other files and run them with my code to see if it works correctly. If it doesn't work correctly, then I know that my coding is wrong. If the assert fails, then it means my code works but it also means that it doesn't work the right way. Although it won't pinpoint the problem, it surely does narrow down what part of my code needs fixing.</p>

<p>Unit testing for me was testing different parts of my code. I can make sure that a method that I wrote functions the way that I want it to. I can run tests to see if the output is what it is suppose to be. There are many different possibilities that can break my methods when I first create them and unit testing can help me strengthen my methods to make them less buggy.</p>

<p>Using these tests with svn is also a great combination. I can use svn to save different checkpoints as I create my code. I'm able to revert back to earlier code if the newer code that I create doesn't work with my tests. This saves a lot of time in case I made a mistake that I don't know how to fix. Svn also a great way to go back to the code without having to change the code by hand, because this could cause even more problems with the code.</p>

<p>Although these are great tools to fix the code in many programs that I have worked with, it will not actually do the fixing by itself. I still consider it to be very helpful and other testing should be done to make sure the program works the way it wants to do. If someone can't create code that will execute, then these tests will not always be useful to the programmer. However, if the code compiles, then these tests are very useful to check whether the program works the way you expect it to work.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Blog 3 - Subversion and Source Control</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/geexx041/myblog/2011/11/blog-3---subversion-and-source-control-1.html" />
    <id>tag:blog.lib.umn.edu,2011:/geexx041/myblog//14546.318812</id>

    <published>2011-11-01T17:00:00Z</published>
    <updated>2011-11-01T03:39:32Z</updated>

    <summary>When a team of programmers are working together on a project, it&apos;s often important to maintain the organization from the beginning of the project to the end. Source control offers us the ability to save the pieces of the project...</summary>
    <author>
        <name>geexx041</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/geexx041/myblog/">
        <![CDATA[<p>When a team of programmers are working together on a project, it's often important to maintain the organization from the beginning of the project to the end. Source control offers us the ability to save the pieces of the project as we go along. Subversion is a source control which keeps track of the progress and changes made to the code, as well as an updated copy of the project. These tools are extremely helpful to use to keep the creation of the project organized and accessible to the entire team.</p>

<p>Source control can keep track of the changes that the team makes to the code. If a new feature is added into the code and the programmer wishes to remove it from the code, they can look back at the code before the changes were made and remove the applied changes. Another example where source control is important is when errors occur. If the program was working fine and was updated using the source control, they can always go back to that saved code if they ruined their program without knowing what was wrong.</p>

<p>Subversion is a kind of source control where it keeps an updated copy for everyone to access. The programmers also can change the program and commit their changes to the updated copy. This is useful, because the team can break down the workload and assign different members tasks to work on. As long as they are not working on the same part of the program, there shouldn't be any problem. In some cases where it does happen, subversion has the ability to notify the conflicting members of their lines of code that they both changed so they can figure out whose code to use. This means that their work can be merged together, which saves a lot of time when creating a large project.</p>

<p>I think that using source control is very important, because I can look back at the progress I made starting from the beginning and continuing as I go along. If I need to remove the changes that I made to the program, I can always revert to an earlier copy of the code that I had. Subversion is very useful, because it has the properties of source control and additional tools that help me resolve conflicts when coding with my lab partner. If we both changed the same line of code, it will notify the second person so that we do not overwrite the updated version with the wrong code if the coding was already correct.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Blog 2</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/geexx041/myblog/2011/10/blog-2.html" />
    <id>tag:blog.lib.umn.edu,2011:/geexx041/myblog//14546.315096</id>

    <published>2011-10-14T03:38:17Z</published>
    <updated>2011-10-14T14:13:31Z</updated>

    <summary>I think that working on iterations when there is more than one person is more of a benefit than a challenge. There isn&apos;t a doubt that there are challenges when more than one person works on the same iteration, but...</summary>
    <author>
        <name>geexx041</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/geexx041/myblog/">
        <![CDATA[<p>I think that working on iterations when there is more than one person is more of a benefit than a challenge. There isn't a doubt that there are challenges when more than one person works on the same iteration, but there are several ways to overcome it. As we proceed through the iterations and overcome the challenges that arise, we are able to practice overcoming these challenges and that is a benefit in itself to overcome future challenges. </p>

<p>When I was working on my first iteration, I had to learn how to use subversion in a way where my progress does not conflict with my lab partner's work. The problem with this was very minor. When I was working on the code, and when we submitted changes, we were able to communicate easily so that the conflict was easily solved when subversion reached a conflict. These tools make it a benefit because it overcomes the challenge of keeping the version of the program up to date and merging our work together.</p>

<p>One of the biggest benefits of working on iterations with another person is another perspective. Everyone comes from different backgrounds and has gone through different experiences. There is also more than one way to code something. By having more than one person creating iterations, the two people can decide whose way works better. They can also teach each other why their method works, and it will help expand the knowledge of the other programmer. </p>

<p>Colluding and creating the iteration together saved a lot of time. If I had to do the iteration by myself, I would have taken a lot more time to try to understand the concept. With a lab partner, I was able to understand it in a faster way with his help. The benefit of combining knowledge can also enhance the quality of the program. When creating iterations, it is also important to think about what could go wrong. With more people, different ideas can come together to strengthen the program by preventing these incidents. Likewise, we can combine our knowledge to strengthen the program by efficiently producing the output.</p>

<p>By using these benefits, we can continue through the iteration and overcome the challenges faster as we go along. Learning how to work with another person is also good practice because working on programs alone forever does not seem very likely. It is an advantage to start working with other people so the challenges that seem to be bad will not be challenges at all.<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>First Blog Entry - Objectives of the Course</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/geexx041/myblog/2011/10/first-blog-entry---objectives-of-the-course.html" />
    <id>tag:blog.lib.umn.edu,2011:/geexx041/myblog//14546.312667</id>

    <published>2011-10-05T00:38:40Z</published>
    <updated>2011-10-05T00:42:32Z</updated>

    <summary>When it comes to computer programming, there are many things that I am not very good at, but there are things that I can do to help get out of a bad situation. Coding in general is something that I...</summary>
    <author>
        <name>geexx041</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/geexx041/myblog/">
        <![CDATA[<p>When it comes to computer programming, there are many things that I am not very good at, but there are things that I can do to help get out of a bad situation. Coding in general is something that I am good at. This includes loops and other basic programming techniques. I started out programming with the Java language. The first thing I learned, like many others, was to print out "Hello world!" From there, I learned how to do loops. Some of the more confusing loops involved interactions with arrays. For example, when using for loops, sometimes the loop would run out of the bounds in the array. Through trial and error, I was able to learn from my mistakes and I would be able to remember how I got into the mess. That helped me avoid messes in the future. </p>

<p>Something that I never really got to learn was how to program using useful class hierarchies. I have made programs that were modular and had several class hierarchies, but I've always thought whether I was programming in the best or efficient way. There probably are a ton of better ways, and I assume that making useful class hierarchies would be a giant step forward in making my program the best it can be. </p>

<p>Since this class is called Program Design and Development, I hope that I can learn how to design my program in a very efficient way, and develop it in an efficient way as well. The last time I created a program from scratch was when I was in high school. Planning the program was a disaster. I would start working on the program and then change the design to fit what I can do easily. The problem with that was instead of overcoming an obstacle when I was creating my program, I would change the design and avoid that obstacle. The final result of the program did work the way it was intended to work, but it had far fewer extra features that would have been helpful. It was the opposite of efficient programming, so I want to be able to code like a professional. </p>]]>
        
    </content>
</entry>

</feed>
