I was told that is a violation of University privacy guidelines. With the right additional data another computer programmer could pick up the listing and determine exactly who did what in the class.
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 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.
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.
Can we get the answers to the practice exams?
The answers are there but may be hard to see. In True-False look for question numbers that are slightly lighter that the rest of the text to see True statements. For multiple choice look for one letter that is slightly lighter. For fill-in-the-blank, look at the text with a straight horizontal line through it for one possible answer.
How do I print the sample exam's?
When in the Postsript viewer (Ghostview) click on the "File" menu, and click on the "Print" item. If a menu comes up asking for the printer name just hit the Return (Enter) key to take the default (or click on the OK button). This worked at all PC labs last time I checked (December). If there are problems, see me.
Do we have to know about interpolation for the exam, or just be familiar with what it is and what it does?
You should always know how to do a linear interpolation (obtain the equation for a straight line given two points). Beyond that be familiar with what it is and what it does. This includes ideas of keeping derivatives continuous at table points, the concept that cubic ( also quadratic , and higher order) interpolation functions can develop "kinks" (at which point they are worse than linear), and relative merits of even versus uneven spacing of the table independent variable (x value). I will not ask you to derive any quadratic or cubic interpolation functions.
How much do we need to know about the FORMAT statement for the exam?
FORMAT statement and FORMAT edit descriptors: "i", "f", "e", "a", "x", "p", "/"
Repeat Count in FORMAT: 5X, 3(f5.1,2x,i5) etc.
Re-use of portions of FORMAT (wrap-around) when the list of variables to write exceeds number of edit descriptors.
What will we be accountable for on the exam in terms of ODE solutions?
Know Crank-Nicholson, Forward (Explicit) and Backward (Implicit) Euler completely, including how to use it, how their errors depend on step size, and stability behavior of each. Be able to recognize the names Runge-Kutta, Adams-Bashford, and Adams-Moulton, and associate them with errors that are formally proportional to the integration step size to the fourth power (Fourth Order methods) . Also note that these higher order methods will develop instabilities at a sufficiently high time step size (you don't have to know what "sufficiently high" is).
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).
Could you give us sample questions on determining output of code containing recent commands?
Try this one:
DO 100 I=IMIN,IMAX,ISTEP
2000 FORMAT(' I=',I5,' C=',/, (1P,4E15.7))
DO 100 I=IMIN,IMAX,ISTEP
2000 FORMAT(' I=',I5,' C=',/, (1P,4E15.7))
What is the value of "I" printed out. What are the values of "C" printed? Also check my sample "essay" question on the back of this handout.
Points for each Homework will be included in the Homework description. I will calculate your percentage of total possible points, then weight that as 25% of your grade.
How would we know our grade for each individual homework? Will they be posted somewhere?
I keep a posting on my office door, and will post the grades on the classroom walls from time to time. You should receive Email notification of grades on anything submitted electronically.
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.
Do I have to run "setup" for each homework?
No, that was a one shot deal. Don't run it again.
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.
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.
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.
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. This becomes more important as homeworks get longer. 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 (two is a viable 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.
Do we change as we get older and work together, or do we always try to go around group work? Maybe we just don't want to work at all.
At the core, we don't change as much as some people think, we just develop behavior patterns that let us slide by, including working better with others (or avoiding them completely). You hit the nail on the head with the last statement. My observation is that most of us are driven by a pair of conflicting hardwired desires: 1) the need for accomplishment (creation, discovery); and 2) the desire to avoid as much work as possible. Depending on the relative levels of your interpersonal and technical skills, this can drive you to work in groups or work alone. There is another hardwired driver that eventually comes into play here. The desire not to starve (self preservation). Given the work requirements for earning a living in science and engineering, learning to work with others will probably be a big plus on this one.
How do you add the LINPACK subroutines to your Fortran Program?
I'll assume that you have 3 files: main.f containing the main program; sgefa.f containing the matrix factorization subroutine, and some routines from BLAS; and sgesl.f containing the linear system solution subroutine plus some more stuff. The quick way to do the job is to use the Unix "cat" command. At the Unix prompt type:
cat main.f sgefa.f sgesl.f > hw11.f
This combines the three files into a new file named hw11.f. The other option is to open the file containing your main program with "vi". Place the cursor in the last line of the file and type the command ":r sgefa.f". Move the cursor to the end of the file again and type ":r sgesl.f".
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?
Is there a book that explains the heat transfer stuff that you talk about.
Many such books. I don't have a personal favorite, but when I want to learn about something new, as you do with heat transfer, I take advantage of the Dewey Decimal system. Look for the call numbers on a few books listed under the general areas of "convective heat transfer" or just "heat transfer", using Lias. When you see an obvious clustering of numbers, go park yourself at that location in the shelves of the Engineering Library. Page through some books until you find one that makes sense to you. Remember that this is a fairly old field. Just because a book has a 1990's copyright doesn't mean that it will be the clearest text on the subject.
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.
Will the grades in this course be scaled if they are too low.
No scaling on homework. I will "renormalize" test scores using a program that you will see later in the semester.
Maintained by John Mahaffy : firstname.lastname@example.org