Time and location. Monday 2:30 - 5:20 and Thursday 10:30 - 11:45.
Course web site: http://physics.weber.edu/schroeder/javacourse/
Finding your instructor: They normally keep me in SL 208, but if I'm not there, check the computer lab (220). My official office hours will be MWF from 10:30 until 11:30 and TTh from 1:30 until 2:30. I'll often be around at other times as well. To ensure that I'll be here at a particular time you could make an appointment. My office phone number is 801-626-6048 and my cell phone number is 801-393-4603.
Required materials. Other than your lab manual, there's no required textbook for this course. However, you'll need a three-ring binder to hold the lab manual, and a USB flash storage device (of any capacity) or similar backup device to save your work. A pocket calculator will occasionally come in handy.
Class format. This course will be taught in a hands-on, laboratory format. On Thursdays I'll do a bit of lecturing and give some short quizzes, but most of the time you'll be working at a computer, writing and running simulation programs. Feel free to stand up, walk around, and talk with your classmates (preferably about the course material). Your "homework" will be to continue working on the projects that we begin during class, and occasionally to review the material to prepare for a quiz. There won't be any major exams (sorry!).
Computer lab policies. Besides our scheduled class and lab times, the computer lab will be available for your use at most other times when the building is open. If another class is using the room, be sure to ask the instructor whether it's ok for you to work quietly during the class. When you leave the room, shut down your computer and, if you're the last one to leave, turn out the lights and make sure the door is shut. Note that the computer lab is to be used only for academic work (classes and research). Occasional "incidental" use for such things as email and web browsing are fine, but you should not use this room for nonacademic activities. Please don't bring any food or drinks into the computer lab--eat your snacks across the hall in the physics majors room.
Due dates for the projects will be announced in class. My tentative plan is for most of your work to be due on Wednesdays at 1:30 pm (immediately before the weekly physics seminar). Late work will be marked down 10% for every day or portion thereof.
How to submit your work. For each project you will turn in both your computer code (one or more program source files) and a "lab report" consisting of the filled-out pages from your lab manual and any attached printouts. You can turn in the lab report by handing it to me, leaving it in my mailbox in the Physics office (SL 202), or slipping it under my door (SL 208). To turn in your program source files, please email them to me () as attachments, with an appropriate subject line on your email such as "Physics 2300 Project 3." In the body of your email message, please include a few comments on how the lab went--whether it was easy or hard, what you learned from it, how it could be improved, etc.
Grading standards. In grading your projects I'll ask myself three basic questions: (1) Does your code compile without errors and produce correct results? (2) Is your code easy for a human to understand, and adequately documented with comments? (3) Have you followed all the instructions and answered all the questions in the lab manual completely and correctly? Each of these aspects will be about equally important in determining your grade. If you do significantly more than the lab manual asks, you may get an extra credit point or two.
Excuses? You already have enough experience with computers to know that they don't always work as expected, so you need to plan ahead to provide alternate ways of getting things done. For instance, I'll expect you to back-up your files, allow plenty of time for debugging, troubleshoot your own computer (or use one of ours), and check to make sure your emails to me don't bounce due to something like a mistyped address. Sometimes our overloaded campus email system really does go down or delay messages significantly, but I'm pretty good at telling the difference between an unavoidable system failure and an avoidable sender's slip-up.
I may occasionally grant time extensions for good reasons. If you believe you have a good reason, it is your responsibility to consult with me as soon as possible.
Lab partners. For some of the projects you will work with a lab partner, turning in only a single set of source code files for the two of you. This will give you an opportunity to discuss every detail of your work with another student, and to help each other design and debug the code. Needless to say, it is crucial that you work together. Never let one partner work alone while the other is left behind. Take turns at the keyboard. At times you may even want to be working in parallel on separate computers, merging your code together periodically. But when you're working separately, you both need to be working.
Even when you're working with a lab partner, you will still turn in your lab reports (filled-out pages from the lab manual) individually. I encourage you to check your answers in the lab manual with your lab partner (and with other classmates), but you must write them out yourself (no photocopies). Whenever you print graphs to attach to your lab reports, print a copy for each person.
Occasionally there may be significant incompatibilities between lab partners. If you find that things aren't working out due to incompatible schedules, backgrounds, personalities, or some other factor, please let me know and I will try to assign you to a different lab partner. I reserve the right to reassign lab partners at any time, for any reason.
Further collaboration? Please also try to interact with the rest of your classmates. Give each other hints. Check your results with each other, and help each other find bugs. Just don't turn in someone else's work as if it were your own. With a computer program, this means that every character in your source code must be typed by your own fingers (or your lab partner's). It also means that you never copy even a single line of someone else's code verbatim. You really shouldn't even look someone else's code unless you've already written your own version of it. The same goes for answers to the exercises in the lab manual. And of course, don't tempt your classmates by putting your work in front of their eyes before they've done the work themselves.
I hate saying this, but the lawyer-types tell me I have to: Penalties for plagiarism or other academic dishonesty will be severe. There. Blecch.
Quizzes. No, these aren't exams in disguise. They'll cover only a small fraction of the course material, focusing on the essentials of the Java language and the numerical algorithms that you need to memorize in order to succeed in the course. We'll probably have about 10 quizzes, given on Thursdays at the beginning of class. I'll warn you about each quiz in advance, and tell you what to study.
Independent projects. In addition to the eight "canned" projects from the lab manual, each of you will get to carry out an independent computer simulation project of your own choosing. You'll do the independent project by yourself--not with a lab partner. The project could be an extension (with significant additional coding) of one of the projects in the manual, or a simulation of some other mechanical or thermodynamic system, or a simulation from some other branch of physics (electromagnetic fields, waves, quantum mechanics), or even a simulation applied to another scientific discipline. For full credit, your independent project should be comparable in scope to one of the other simulation projects (4 through 8); I may award extra credit for well-executed projects that are more ambitious. My plan is for the class to be finished with the eight canned projects by November 16, leaving you more than two weeks to work full-time on your independent project. I'll be asking you to turn in a one-page project proposal in early November, but please consult with me sooner as you think about ideas for your project, and don't start on a project before I've approved it. There are dozens and dozens of project ideas in the two books by (1) Gould, Tobochnik, and Christian; and (2) Giordano and Nakanishi.
The final results of your project will be: (1) one or more computer simulation programs, emailed to me as usual; (2) a typed, self-contained report on the project written in your best English, describing in detail your goals, methods, and results; and (3) a 7-minute presentation to the class of your project's highlights, given during our scheduled final exam time (Thursday, December 8, 10:30 am - 12:20 pm).
Final grades will be computed as follows. Each of the eight projects in the lab manual will be worth 10 points, except for the first three projects which will be worth 3, 6, and 6 points, respectively. Your final project will be worth 20 points. Another 15 points will be based on class attendance, quizzes, and any other in-class activities that I may come up with. In summary:
|Projects in lab manual @3%-10%     ||65%|
|Attendance, quizzes, etc.||15%|
Extra credit will be possible on any of the projects--especially the final project--if you do significantly more than required. But don't count on extra credit to make up for inadequate work elsewhere. Extra credit points will be harder to earn than regular points.
If you're accustomed to being graded mainly on what you know (as measured by exams), then this course may take a little getting used to. Notice that your grade will be based almost entirely on what you produce: finished computer programs and lab reports. In many ways this is more like a "real job," where you're paid for your accomplishments, not your knowledge. What's the secret to succeeding in such an environment? In a nutshell: Take pride in your work!
Special notice: Any student requiring accommodations or services due to a disability must contact Services for Students with Disabilities (SSD) in room 181 of the Student Service Center. SSD can also arrange to provide course materials (including this document) in alternative formats if necessary.