Procedural Questions


What will be on exams?

Anything covered in lectures is fair game, along with items on the Web pages or handouts, and material covered by homework assignments. Material in the textbook not covered in lectures, will not be covered in exams. However, there will be material in the exams that is not covered in the textbook.

How will Homework be graded.

I will give 20 points for each group programming homework. Breakdown will generally be 4 for a functioning program, 5 for proper documentation (mostly comment cards), 5 for details of implementation, and 6 based on peer review within your group. You could end up with a fair number of points even if the program doesn't work. However, there isn't much excuse for a non-functioning program. I am willing to give you any advice necessary to get your program to the point that it at least gives some answer.

Points for individual homework assignments will vary according to difficulty and/or my desire to force you to do the exercise. Your total homework score will be obtained by adding all of your scores and dividing by the total possible number of points. This will give 25% of your final grade.

I still don't understand the process of sending homework.

The process begins with gathering all files that your group wants to send to me in a single location. You can use the "cp" command in the same way that you copy files from my home directory ( commands like "cp ~jhm/tutor.vi . "). You can also collect them by mail then use the mail utility's "w" command to write mail messages to files in your directory. Put yourself in the directory where you want your files. Type "mail" and you will see a numbered list of messages in your mail box. Let's say that message 3 is from user cba123 in your group and needs to be included in the homework mailing. While still in "mail" type the command "w 3 cba123.txt". A file named "cba123.txt" is created in your directory with the contents of the mail message (I picked the file name arbitrarily). You can exit "mail" with either the "q" (clean up and leave) or the "x" (leave with the mailbox contents untouched) command. If you can't work out a way to move spreadsheet results, from a PC to the Unix machine, just print it and hand in the paper. I'll be running labs on moving files next week.

Now that you have a group of files for me, combine them into a single file with the cat command discussed above ( example: "cat cannon.f cba123.txt jra123.txt spread.out > grp23.hw3"). When you have the final file together please open it with vi and insert lines at the top giving your group number and the names of all members. Mail this file to me with the command "mail cs201@mowgli.psu.edu < grp23.hw3".

Were can I go to get access to a Unix machine?

You can use the ECSEL lab (305 Hammond) from 7-10 PM Sunday - Thursday. You can use the Workstations in 316 Hammond any time the building is open (unless a class is in progress). You can also access these machines through any PC with a modem, or from any CAC lab. You can get more help on dialups by logging into PSUVM and typing "HELP DIALUP". Check with a Lab attendant or see me for help on making a telnet connection to the Workstations.

Do you want both the Fortran text and executable file in the homework?

Please, never send the executable file to me. Mail only likes text files.

How can I access group members' programs?

If they haven't shut off read access, all you need to know is the ID of the person holding the program and the directory where it is stored. Let's say that user cba123 has put program cannon.f two directories below their home directory in "homework/hw3/cannon.f". You get it with "cp ~cba123/homework/hw3/cannon.f . ". Best way to learn this is to try a few copies with a group member sitting at the next terminal to help locate files.

Why do we do the programming in groups, I'm not getting enough practice.

Groups were created to get you to cross-check work, and keep you from getting bogged down chasing subtle errors. I encourage you to work each problem yourself, and if you aren't getting adequate comments from the group, bring it in for me to look over.

What do we have to submit for each homework?

This varies from one assignment to the next. Part of the homework is learning to read instructions. The big item will be the Fortran program.

How do I study for an exam, particularly with Unix commands?

Associate names with functionality. The exam questions for these items will be multiple choice, so you will have visual clues to trigger your memory.

What do you expect in Fortran output formats for homework?

When I ask for simple variables the format should include a descriptive label like "Sample Mean ". When I ask for tabular output, the columns of the tables should be aligned and labeled at the top. If I do not ask for a specific number of digits, give me full machine precision (7 for REAL*4 and 15 for REAL*8). In some cases I will provide you with the Fortran statements to produce output. Do not alter these in any way.

Where do you want the cat file for our homework.

Your group collector should have a subdirectory called homework directly under his or her home directory. As an example, for homework number 4, my automated collection procedure will look for all files ending with ".hw4" in that location. For example if I know that ajb123 is the collector for group 22, I will be issuing a command like "cp ~ajb123/homework/*.hw4 .".

Could your define why the group exists?

Groups were created to get you to cross-check work, and keep you from getting bogged down chasing subtle errors. The group structure is supposed provide support for those having problems, and to force those operating on cruise to think more clearly about what they are doing. They were also created to force you to begin learning to work in such an environment. It is up to the group to define how your work is split up, but you should all end up comfortable with all Fortran constructs in the assignment. If someone is not contributing to a group, including not performing programming tasks assigned by the group, that should be reflected in your peer evaluation of that individual. However, be careful. Peer review is meant to reflect participation and the attempt to learn. A group member who is making an honest effort, but producing incorrect coding contributions should still receive high ratings. It is my problem through the testing process to determine levels of basic knowledge and ability.

We are having problems scheduling regular group meetings.

Look carefully at your work breakdown. It may be appropriate to form subgroups with compatible schedules (2 is a subgroup) and meet as whole group relatively infrequently. One tactic that I have mentioned for using such subgroups is for each to do the whole problem and compare code and results after the basic Fortran is written and the errors start to appear.

Besides reading ".f" files what are we supposed to do with them? What are they?

You should read through all of my Fortran program examples and be certain that you understand everything that I am doing in the sample. Compile and run the program to be certain that none of the output surprises you. At times I suggest in comments, changes you should try. To be certain that you know what is going on from time to time, you should produce a simple English description of what the program is doing, then write your own program from scratch to match these specifications. Do the results match?

If we turn in Homework early can we resubmit if we want to change it?

Yes. When it is submitted by E-mail, I try to pick up the last mail received. If you submit by using directory drop point, you can replace at will until I pick it up.

Are you going to ask us subtle questions on Fortran syntax? We will have the book for real life programming.

I will try not to be subtle, but my idea of subtle, and yours may not be the same. To function efficiently as a programmer you need to be able to pull most of the syntax out of your head. You can't produce a good paper or report in a reasonable time if you have to constantly turn to a dictionary or book on English syntax. I've made an effort to avoid questions that hinge on your knowledge of exact spelling of commands. By the way, if you do enough programming in your life, you will be unpleasantly surprised by the number of times you are stuck somewhere grinding out code and can't lay your hands on an appropriate manual.

Will we lose our Unix accounts after this Semester.

Yes. Use ftp to copy all of your files to floppies in a PC lab. If you can't get a Unix account next fall and really want one, check with me. I'll see what can be done.

What does the "Estimated grade" mean on the posted sheets?

It says that if you continue with the same average homework scores, and if your final exam has a score equal to the average of the first two exams, then this will be your final numeric score.

How do you put files on Hard Disk?

I may be misinterpreting this questions, but I assume you want to put files from an ECSEL machine ( already on that machine's hard disk) onto a hard disk on your own PC. If your PC is wired to the network just fire up the CACTWIN ftp and use the "chdir" button in the left half of the ftp window to put you in an appropriate directory on your "C" (hard) drive. If you aren't connected use a machine at a CAC lab to ftp files to a floppy disk, then take the floppy to your own machine and copy files onto your hard drive. I'll be happy to walk through a demonstration of this for you, or come up with a better answer if I've missed your point. It's important to get your files and my examples tucked away somewhere, since your ECSEL accounts will vanish at the end of the semester. Three months to a year from now, most of you are going to be asked to do programming to solve problems. Having some familiar samples will help you get going again.

Will the final Exam contain any information from before Exam 2?

Yes. The basic rule is that if it wasn't important enough to ask about on Exam's 1 and 2, then it's not important enough to me to ask on the final. However, don't interpret this to mean that questions from the first two exam's will be repeated. I'll try to get at the same knowledge from a slightly different angle.

Since the Final Exam is early in the Morning on a Monday, you'll make it easier, right?

I rank hope and wild optimism as the leading causes of human progress. Never lose them, but also realize that they contribute heavily to premature mortality in the species.

How do you suggest studying for the final?

Start by understanding the material covered in the first two exams. I won't guarantee the same questions, but I will guarantee the same topics. Pick up material first from class notes, homework, and examples, and finally use the text book for clarification if you need it (I don't pull questions out of the text).

Up one level / Home


Maintained by John Mahaffy : jhm@cac.psu.edu