Software Construction Assignment 1: Essay

Due: March 30, 2017 @ 5pm. Please include a README.txt that has both partner's names and email addresses.

You are leading a team of programmers. Your team is about to embark on a new project. You will not modify old code, and you don't need to use some existing infrastructure. It is up to you to choose the programming language for this new task, an opportunity that comes along rarely.

Here is what you know so far about the programming task:

  • The project's goal is to implement a game, which requires some amount of "automated reasoning". Typically, automated reasoning uses dynamically allocated memory.
  • The software will interact with consumers (players) via a graphical user interface. Your language should provide a good GUI library.
  • The software will interact with other software pieces over the Internet. Hence, your language needs some basic networking libraries.
  • Your company likes object-oriented programming, but (un)fortunately your boss doesn't really know what that means. He went to business school and learned to program in RPG. He's aware of old trends in the world: ASP, JSP, Java, PHP, Perl, Python, Racket, and trusts in your judgment about newer ones.

Your task is to write a memo to your boss that informs him of your choice and justifies it concisely. Since your boss is a busy, old man, your memo must be one (letter) page or less. He doesn't have time or patience for more. He also likes order. So your memos have to have a certain look. Here is what worked in the past:

 To: Mr. Boss
 From: ...
 Subject: ...

 blah blah blah ... 
Write the memo with your partner. This assignment will also serve to inform us who is working with whom.

Grade: I will use four dimensions for evaluating your writing: content, thesis statement, paragraph management, and sentence connections.

Hand in this assignment via canvas.

Software Construction