Due: Monday, Sept. 16 by 8am
Last Date to Turn in: Monday, Sept. 23 by 8am
16 points
The purpose of this part of the assignment is for you to learn how to send email and how to post messages to newsgroups. Every Duke student is given an account on the Public Unix Clusters. If you are a new student, the account login id and password should have been mailed to you. If you have been here awhile and don't know your login or password, you can get this by visiting the Office of Information Technology (OIT) on the first floor of the North Building. The book "Introduction to the Public Unix Clusters at Duke", which is available at the Gothic bookstore, explains how to login, send mail, and read newsgroups.
You can receive help from the TA or Prof. Rodger, and from UTA's at Teer 106 and Carr 125 clusters in the evenings, usually 7-11pm every evening.
Your message MUST HAVE THE SUBJECT: CPS 100: (your name here)
Your FIRST and LAST name must be on the subject line (no nicknames!).
For example, Prof. Rodger would send her message with the subject line
CPS 100: Susan Rodger
http://www.cs.duke.edu/~rodger/courses/cps100/intro.html
Your message MUST HAVE THE SUBJECT: CPS 100: (your name here)
Your FIRST and LAST name must be on the subject line (no nicknames!).
You should receive a reply back from Scot indicating receipt of your message. If you do not receive an email note back within 48 hours (not counting the weekend), you may not have sent the email message correctly, try again or ask a TA or prof for help.
For those of you who didn't take CPS 6, a Getting Started document will be available on the web page sometime Friday that will show you how to create a directory, how to create and compile a simple C++ program, etc. For those of you who took CPS 6, you still might want to look at this document as it will tell you how to setup your environment and may include some new things you didn't do last semester.
Create a cps100 directory, and in this directory create a directory called "assign1". Change into the "assign1" directory. If you did this correctly, when you type "pwd" you should see a long path name that ends with "/cps100/assign1"
In order to do this assignment, you need to copy a Makefile using the following "cp" command (don't forget the trailing period, or dot):
cp ~rodger/cps100/assign1/* .
If you type "ls" you should see "Makefile", and "sample.cc". The sample.cc file is just a template file you might want to use to get started with.
For the programming problem that follows, you should use the style rules discussed in class, which includes meaningful variable names, indentation, and comments (pre and postconditions) at the top of the file and for each function. Also include your name, date, course, and purpose in a comment at the top of the program.
Write a C++ program to solve the anagram problem in the Groupwork 1 assignment. Your program should be modular and well designed. and should be in one file called anagram.cc
The input and output are described on the Groupwork 1 assignment. You can assume there are no blanks contained in a word.
When your programs compile and produce the correct output, create a "README" file (please use all capital letters). Include your name, section number, the date, and an estimate of how long you worked on the assignment in the "README" file. You must also include a list of names of all those people (students, prof, tas, tutor) with whom you collaborated on the assignment. See the rules for collaboration in the CPS 100 syllabus.
To submit your programs electronically type:
submit100 assign1 README anagram.cc
You should receive a message telling you that the program was submitted correctly. If it doesn't work try typing ~rodger/bin/submit100 in place of submit100 above.
Your program should contain a meaningful class.
You can put the class definition at the top of the file. If you want to create separate files for the class, then you will need to create a Makefile and also submit it. Name the extra credit program anagramX.cc Typing make anagramX must work for compiling your program.
Follow the instructions above, but type anagramX.cc instead of anagram.cc. Also include any additional .h or .cc files and the Makefile if you created separate files.