Groups & Your Favorite Programming Language

CS 4500 Assignment A

This assignment has two parts. Note that the due dates are different for each task.

Task 1 – Get Together

Due: Monday, September 16, midnight

The first task is for you to team up with your fellow students and form groups of 4.

Potential Groups of 5

Of course, the numbers will not quite work out and a few groups of 5 will be necessary. Some of you even asked to form groups of 5, because you do not want to break up the band. However, since only up to 3 groups of 5 are necessary in each section, we need to have a way of resolving this situation. We will do it simply on a first come, first served basis as follows. On Friday, September 13, on or after 6:00:00pm EDT, send your instructor (Ferdinand) an email stating:

When I determine that a group of 5 needs to be formed, I will give preference to groups in the order I receive your emails, but not if I your email arrives before 6pm. Only after you receive a confirmation from me, should you go ahead as a group of 5. If I receive a registration email (see below) for a group with 5 members without me confirming beforehand, your grade for this assignment will be reduced and I will reassign one of you to another group.

Finding Group Members

If you are having trouble finding group members, use Piazza to advertise that you are

Do this as soon as possible. It is up to you to communicate with your fellow students and negotiate teams.

Registering Your Group

Once you have formed a group, it is time to announce it to the world. Well, your instructor. First, choose a group nickname. The nickname has to adhere to the following rules:

  1. It may only contain alphanumeric characters or hyphens.
  2. It cannot have multiple consecutive hyphens.
  3. It cannot begin or end with a hyphen.
  4. It is at most 18 characters long.

To register your group, (s)elect one member to send an email to your instructor (Ferdinand) by the due date above using the following template:

Subject: CS 4500 Group registration

Body:

Group: [group nickname]
 
Members:
  1. [Last name, First name]
  2. [Last name, First name]
  3. [Last name, First name]
  4. [Last name, First name]

Usernames:
  [username1], [username2], [username3], [username4]

Email addresses:
  [email1], [email2], [email3], [email4]

Do not forget to Cc all the other group members.

If your group has 5 members, add a corresponding 5th element to each of the sections AND quote my confirmation email in full, together with the timestamp of when you received it.


Task 2 – Your Favorite Programming Language

Due: Wednesday, September 18, midnight

Background

Your group is to implement a project from scratch for a new customer, the Khoury College of Computer Sciences at Northeastern University. (Yes, they teach you how to program there but apparently they can’t produce software for their own needs. These professors …)

The project has no connection to any pieces of the existing code base in your company, meaning you are free to choose the “best” programming language. In this day and age, programming language tends to include the entire ecosystem: include libraries, web-based library repos, IDE, community, books (like “Effective Copy and Paste from StackOverFlow”) and so on. So feel free to interpret the term tightly or loosely.

Here are the project constraints. The target platform are the Linux machines provided by your customer. The chosen language must thus satisfy two deployment constraints:

  1. the code will be deployed on the Linux lab machines of Khoury College, and
  2. the code should run without any real changes on your own computer/OS as well so that you have a proprietary development machine.

Additionally, it must come with support for:

Task

Your task is for your group to choose the language, justify the choice, and write a draft memo for your manager that spells out the justification. As a part of the justification, include at least one alternative language you have considered, briefly explaining why it wasn’t chosen.

Formality

Address your memo to your manager. The subject is “Programming language for CCIS project.”

Format

Your memo must not exceed a single letter-format page at a 12 point font/16point base line with a 1.5in margin all around.

Delivery

To submit, the group member, who was selected to send a registration email in Task 1, should head over to Blackboard and find Assignment A under Assignments. Submit a PDF copy of the memo as a file named project-programming-language.pdf

Grade

Your grade will depend on satisfying the specified delivery and formatting instructions and its style, grammar, and organization. If the content is blatantly wrong, your grade will suffer, too.