Saturday, October 17, 2009

Midterm Question

Here is my question list to prepare for the midterm.
  1. Describe the three prime directives that could be found in the distribution of the Robocode.

  2. - PD #1: Robocode is Java-written game. User can control which tanks to add to the battlefield and watch the moving and targeting strategy of each tank.
    - PD #2: user can successfully download and install robocode from sourceforge.net.
    - PD #3: Robocode also meet the PD#3 because it provides instructional document that external developer can use to develop their own robots and upload to the server.
  3. According to the article "The poetry of Programming", what are two aspects that Richard Garbriel used to differentiate the software creation from engineering discipline?

  4. #1: there are always a mixed of old and new design in each released version.
    #2: write software requires a lot of practicing work including write your own code while also review and critique other's code to become an expert.
  5. Provide a name that meet the naming convention standard to the following item:
    • a class of publication record:
    • Publication
    • a variable for list of authors:
    • authorList
    • a method to get the author list:
    • getAuthorList
  6. How do you verify the installation of Ant 1.7.1?

  7. At command line, type the following command and see if you can get a readable message.
    ant -version
  8. When does the happy path test consider as the antipattern"?

  9. The happy path test consider as the antipattern when the developer stop testing at the happy path test.
  10. Write a method to display every element in a list that take the list as the input. The method must use the new feature of Java 1.5.
  11. function displayListElement(List<string> authorList){
     for (string author : authorList) {
      system.out.println (author);
     }
    }
    
  12. Briefly describe the three advantages of using Git mentioned in Carsonified's blog?

  13. - Git clone is much faster than SVN Checkout
    - the ability to synchronize with other Git respositories
    - multiple remote respository help collaborating the team work when the centralized server fail to perform.
  14. How does the centralized workflow in Git different from SVN?

  15. Git allows user to have multiple remote respositories for each project with different access type. It also provide the ability to synchronize between multiple respositories to get the last complete version of the project too.
  16. What is the GNU manifesto to the meaning of free software?

  17. The GNU meaning of free software is the freedom to manipulate the source code.
  18. Under the GPL, how can a business make money from "free" software?

  19. You can add some useful functions to the free package and ask user to pay the fee.
The advantage of creating this question list is to basically self-review all materials that have been covered so far in the class. Hopefully, this question list will remind you to review some of the forgotten parts.

No comments:

Post a Comment