Assignment 1, Due 8/31 at 12:30 p.m.
(To be done individually)

  1. Form a group of 3 students.  You will work with this group for the rest of the semester (if your group turns out to be non-functional, I'll allow you to change groups later in the semester).  Pick a name for your group.  This name should be made of only letters and numbers (i.e., no spaces or special characters).  You will use this name as a password so you should keep it secret.  As an answer to this question, list your group members and the name of your group. 
  2. (Skill 1.3) Table 1.1 gives a nine characteristics that have a bearing on the criteria (readability, writability, and reliability) for evaluating programming languages.  When comparing languages with respect to these characteristics, we usually find that each language has its strengths and weaknesses.  In other words, it is rare for one language to be better than another language with respect to all the characteristics.  This is where personal preferences and taste comes in: different people may rank the different characteristics differently.  For example, you may consider "simplicity" to be the most important characteristic while your friend may feel that "type checking" is the most important one.  Pick three characteristics that you feel are the most important and discuss why you think these are more important than the ones left out in your list.
  3. (Skill 1.1) Problem set #15, page 35.  Be sure to refer to the relevant characteristics.
  4. (Skill 1.1) In C/C++ you can increment a variable by doing "a = a + 1" or "++a" or "a++" (and there are other ways also...).  Do you think that having three ways of incrementing variables is a good idea or should C/C++ have only one way?  Use the characteristics in Table 1.1 to support your answer.
  5. (Skill 1.2) Some languages, such as C perform only weak type checking, while others, such as Java, check for many more type errors.  Compare C-style type checking with Java-style type checking with respect to the characteristics in Table 1.1.
  6. (Synthesis) Problem set #11, page 35