View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Patrick Burns


Patrick R Burns : Email gtg824g : Aim enigmatrigger

About me

This is my forth year here at tech and my last. This December I'll be going to work full time at my company Playmotion!. I've been working there almost two years now. We make games for childern and parties. Check it out! I also this last fall I got best in show on my 2335 project. I got the second highest grade in dvfx this spring. I also like to play guitar and long walks on the beach.

Cases for CA1:

Mini Java-to-Squeak Tutorial
This seems like a Useful referance. I can just scan down the page find the Java code that I want, and look at it equivalant in squeak. Since I don't haven't really look over the slides yet I don't know much about squeak. This is a good intro to the syntax to a java program. (which I am)

XML Tutorial
I've been using XML at work for a very long time but I've never read anything about how it works. I just accecpted that rules of Tags, elements and attributes. This tutrial gives you a good run down on XML as well as how to use XML in your squeak programs. It shows how to parse the file and set up an xml editor called visual works xml.

Down and dirty Commanche basics
This is a great little tutorial. We use a squeak wiki at work and it think i runs on appache. I think this set by set document will be very helpful if I need to set up a web application in squeak. It's quite in depth and has lots of nice helpful friendly pictures.

Answers for CA2:

Refactoring +1 Point
Refactoring is the practice of rewriting code to make it better. You refractor code to make it easier to read, easier to extend,cheaper to maintain, and more efficient. A sign that you need to refractor your code could be if another programer can't understand your code. That programer could be you when you come back to the project in six months. Another sign that code needs refactoring is if you when you change part A of your program it requires extensive changes to parts B and C. Well written code should be extensible.

Unit testing can come in handy after you have refactored your code you run your test and your program still passes. The unit test can give you some assurance that you didn't break the code when you were rewriting it. Or it that doesn't pass and obviously you changed your functionality of the code and still need to rewrite the code, or the unit test.

Tracing +1 Point:
1 + 2 3 – 4 factorial = - 15

a := #(1 2 3 4 5) = #(1 2 3 4 5)

a select: [:i | i odd] = #(1 3 5)

b := a = #(1 2 3 4 5)

a := a reversed = #(5 4 3 2 1)

b collect: [:i | i i] = #(1 4 9 16 25)

a perform: #at: withArguments: #(4) = 2

Answers for CA3:

EXTREME Programing + 1 point
How Pair Programing is done and it's use in XP?
Pair programing is done when two programmers sit at one computer to code a chunk of a program. One "drives” and the other watches on. The watcher is looking for mistakes and thinking of over all design. While the driver is worried about the method and implementation at hand. They will take turns doing this. This is used in XP because these two programmers will do as much or more work then if they worked apart and there will be less mistakes in their code. Over all better code is written when two people work together.

Unit testing in XP.
Unit testing is used in XP because it makes testing and retesting code structured and easy. In XP unit test are often written before the object they were written to test. In theory we should know what an objects will inputs and outputs from our requirements. For a piece of code to be rolled into trunk it must pass all the unit test. Or in other words it must act as it is expected and designed too.

History of OO + 1 point
What was the first OO language?
It was a version of small talk developed in Xerox PARC Labs.

What did it combine that that had been separate in structured languages?
Object could contain methods and variables. These were procedures and data something that structured languages had kept separate.

Three contribution made by Xerox PARC.

Garbage Collection
Why was reference counting problematic?
Because every time an copy of a reference to an object is created or destroyed we must update our count. Objects are created and destroyed constantly through the life time of a program. This causes some slow down for this system. Also, there is the over head of having to create a counter for each object and having a place to store it. Finally, it's possible to create cycles; where an object directly or indirectly references itself, and can never have their reference counter get back to zero so it may be deleted. The problem of cycles and the slow down from the over head are the reason that it is problematic.

Two Advantages

One Disadvantage

Link to this Page