2007FallQM130Syllabus - University of St. Thomas

advertisement
Course Syllabus
QMCS 130
Problem Solving in the Natural Sciences
Fall 2007
Instructor: Dr. Patrick L. Jarvis
Meetings: §01
§02
Lab §51
Lab §52
Lab §53
8:00 – 9:40
9:55 – 11:35
8:15 – 9:20
9:35 – 10:40
10:55 – 12:00
Tue Thur
Tue Thur
MWF
MWF
MWF
OSS 432
OSS 432
OSS 428
OSS 428
OSS 428
Office Hours: 1:30 - 2:30
Wednesday
also by appointment. Email me or see me in class.
Office:
Telephone:
E-mail:
425 OSS
962-5482
pljarvis@stthomas.edu
Required Textbooks:
1.
2.
Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Prentice Hall, 1988.
ISBN 0-13-110362-8.
Danital T. Kaplan, Introduction to Scientific Computation and Programming, Thomsons
Brooks/Cole, 2004. ISBN 0-534-38913-9
Prerequisites:
It is assumed that the student is familiar with the use of the Windows operating system and is comfortable
with handling files and directories. No prior knowledge of programming is assumed.
Course Objective
This course is designed to give an introduction to computers, both hardware and software. The hardware
section will include how computers acquire, store, process, and output information. The software section
will include how computer systems are designed, programmed, and tested. The course will cover problem
solving in general as well as problem solving using the computer. The latter topic will include both
programming and also the use of an application package designed to implement programming features at a
level more accessible to non-programmers. The course taught this semester will use the C programming
language and the MatLab application package.
Teaching Methodology
There are two lecture meetings and three lab meetings each week. The labs provide a "hands-on" exposure
to the ideas developed in the lectures, thus reinforcing the material covered there.
Since a major goal of this course is the development of programming skills, the homework assignments will
involve the writing of programs and use of the application package to illustrate key features and to develop
your logic skills. The level of difficulty of the assignments will increase with time, reflecting the increase in
Fall 2007 Course Syllabus for QM130
-1-
Dr. Patrick L. Jarvis
your knowledge. With courses of this type, the student will usually find that a significant amount of time
outside of class is required to complete the homework assignments.
Attendance will not count toward the grade. Success in examinations correlates well with attendance,
however. You are adults and will be treated as such. You will be held responsible for all materials covered
in class, whether you attend or not and whether the material is in the assigned text or not. Much of my
communication with you will be done via e-mail. This communication will include such things as
changes/clarifications of assignments, class cancellations, etc.
Course Content
The course will cover the following concepts although not necessarily in the order listed.
Two areas: using logic and common knowledge, identify problem
Problem Solving
cause; using pseudo code, create algorithms
Algorithms
Rules for developing; methods of expression
Components of the computer; organization of central processing
Computer Architecture
unit; purpose of memory; peripheral devices; fetch-execute cycle
Operating Systems
Memory management; file buffering
Input, output, assignment, looping, conditionals; functions;
parameter passing theory and practice; simple variables and
Programming
pointers; documentation; writing understandable code;
incremental development; stepwise refinement; testing;
debugging, trace tables
Problem identification and specification; structure chart;
Design
flowchart; design for testing
Application Package
Use; programming; characteristics; appropriate target problems
Procedures
1.
You are responsible for all material in the assigned readings, handouts, lab exercises, and assignments,
whether discussed in class or not, as well as all material presented during the class lecture. Since some
material presented in class will not be in the readings, you are advised to take accurate and complete
notes during the lectures.
2.
If you are unable to attend a class, it is your responsibility to find out what material was covered and
what announcements and assignments were made. I will not give the lecture a second time. Please
arrange with a classmate to inform you of anything that you missed because of your absence. You will
be responsible for any material presented in the class, whether or not it is from the assigned texts and
whether or not you were there to hear it.
Detailed descriptions of assignments will be given in class. These descriptions may augment or modify
the written descriptions given to you. You will be responsible for the assignment as discussed in class.
Homework:
There is only one way to learn how to program, and that is by programming. You cannot learn
programming by reading a book no more than you can learn how to play the piano by reading a book.
You have to actually write programs. You must practice. Since this class is designed to help you learn
programming, there will be a number of programming assignments. There may be other nonprogramming assignments as well.
3.
4.
Assignments are due at the end of class on the due date. Assignments handed in after the end of the
class will be considered to be “late”. Late assignments will be given minimal credit, if any, and have no
guaranteed return date. Other than some extraordinary event, the due date for homework will not be
extended. In particular, no extension will be given due to job requirements (such as traveling or
meetings), oversleeping, or your desire to go on, or stay on, vacation. No credit will be given to
assignments turned in more than two weeks after the due date. Nothing will be accepted after the last
class of the semester.
Fall 2007 Course Syllabus for QM130
-2-
Dr. Patrick L. Jarvis
In order to be accepted for grading, homework programs must be executed in a near-correct state.
Specifically, a program must execute and it must generate substantially correct output. Only minor bugs
not affecting the primary program function will be acceptable. Programs submitted with syntax errors
or which do not execute in a near-correct state will be given no credit. Documentation is an important
part of programming and nearly all programs will require the accurate and complete documentation.
The type and amount of documentation required will be discussed in class.
Student consultants are available (at posted hours) in some of the campus labs. Their assistance does
not extend to writing your programs for you! Moreover, the consultants cannot offer help unless you
are prepared to show them a listing of your program and the compile/execution which has raised your
question.
5.
Testing: The material given in readings, lectures, and assignments will be tested in the classroom. I
will tell you in class several days before the day a test will be given. You must take the test on the day
and time it is given to the class as a whole. If you miss taking an exam and do not have an acceptable
excuse, you will get a zero on the exam and will not be permitted to take a makeup exam. If you think
you have an acceptable excuse, you must talk to me about it well before the day of the exam.
Things come up in life and there are a lot of acceptable excuses but I decide what excuses are
acceptable. Unacceptable excuses include: work, over sleeping, forgetting about the test, not knowing
about the test, going on vacation, etc. In addition to formal tests, I may also given short quizzes. These
quizzes may or may not be announced prior to the day on which they are given. Quizzes cannot be
made up. The word exam in this document includes both quizzes and formal exams.
Material in the assigned readings may contain errors. If I correct such errors during lecture, you are
required to provide the corrected version on the exam, not the erroneous version from the readings.
6.
Course Grade: Assignments will count 25% toward the course grade and exams will count 75%. The
assignments may not contribute equally to this 25%. Some assignments may be longer or more difficult
than others and will contribute more to the 25%. The same is true of exams. Some exams will cover
less material than others and will contribute less to the 75%. Other, more comprehensive tests, will
contribute more. The final percent score is used to determine the course grade. The final percent score
is determined by taking [25% multiplied by your total assignment points divided by the total possible
assignment points] plus [75% multiplied by your total exam points divided by the total possible exam
points]. Grades will be assigned as follows:
Grade
Final Percent Score
A
92%

82% and92%
C
72% and82%
D
62% and72%
F
58.67%
Pluses and minus will be distributed more or less evenly between the whole grade categories. Final
grade percents may be adjusted slightly, but you should assume that the percents listed will be those
used. N.B., if your average score on the exams is less than fifty percent or your average score on the
assignments is less than fifty percent, you will be assigned a grade of F for the course regardless of
your Final Percent Score.
7.
Cheating: Copying programs or other assignments is cheating. Working collectively on programs or
assignments is cheating. Allowing one student to copy your program is cheating by both students.
Cheating will be dealt with according to the University of St. Thomas cheating policy. See the
University of St. Thomas Student Handbook for details. This will, at a minimum, result in a grade of
zero on the assignment for all parties involved. Students are encouraged to help each other with
concepts but each student is required to write his/her own assignments.
Fall 2007 Course Syllabus for QM130
-3-
Dr. Patrick L. Jarvis
Accommodations for Students with Disabilities
“The University of St. Thomas offers services for students with learning disabilities, psychiatric disorders,
Attention Deficit Disorder, and traumatic brain injuries. Services are offered under the philosophical
premise that qualified students with disabilities can succeed academically if given appropriate programming
and adequate support. All accommodations, auxiliary aids, and services are offered through the
Enhancement Program. Qualified students with disabilities are responsible for identifying themselves and
making all requests for accommodations and aids or services to the staff of the Enhancement Program.” i. If
you have such a disability, you must contact the Enhancement Program - Disability Services (651-9626315), located in Aquinas Hall, room 110 on the St. Paul campus in order to request an accommodation.
They determine what accommodations are appropriate. If the accommodation is the granting of a different
forum for the taking of an examination, that examination must begin at the same time and on the same day
as it does for the class as a whole. Note that arrangements for accommodations must be made well in
advance of the event for which the accommodation is being requested.
Participation in University Sponsored Events
Participation in a university sponsored event (such as being on the baseball team or part of the band) that
prevents you from attending class will be considered an acceptable excuse for late assignments or missed
exams only if you provide me with a complete list (the entire semester) of the class days you will miss due
to such events. You must give me this list of dates no later than two weeks after our first class meeting of
the semester. The list will be used in scheduling exam dates. Whenever possible, exams will be scheduled
on dates where the entire class can be present. If this is not possible, a makeup exam will be given for those
students with acceptable excuses. This makeup exam may be scheduled before or after the normal exam
date. If you do not so provide me with the list of dates that you will miss class due to university sponsored
events, you will be required to take the exams at their normally scheduled time. See the discussion on
Testing, supra.
Decorum
You will be expected to deport yourself appropriately in class. Behavior that interferes with the learning of
other students will not be tolerated. You may come and go as you see fit, providing that you do not disturb
the other students or me. Food and beverages (this includes water) are not permitted in the classroom or lab.
My experience has been that there is neither heavy rainfall nor oppressive sunshine in the classrooms.
Therefore, you are not permitted to wear hats in the classrooms or labs. Many people are allergic to
fragrances (perfume, after shave, etc) and you are warned that your social interaction may be limited if the
object of your attention is gasping for breath due to the superabundance of your cologne. In any case, do not
wear fragrances when you come to my office. Chewing gum is a questionable practice that presents you in a
most unflattering light. I advise against it, especially when interviewing for employment.
Cell phones, pagers, and other noisemakers must be turned off or turned to vibrate mode during class. As
obvious as it might seem, you are not permitted to make or receive phone calls during class or lab.
You all know when class begins. Make sure you are on time.
How To Do Well In QMCS 130
Doing well means more than getting an acceptable grade. It means arriving at a thorough understanding of
the material that will last beyond the end of the semester. Learning requires commitment and discipline. No
one can learn for you. While the instructor can facilitate your learning, in the end, you must teach yourself.
Here are some suggestions:
1.) The use of illegal drugs and alcohol are pretty much sure ways of screwing up your life. You’re young.
There will be ample opportunity as you age to completely mess things up. I’d avoid them now, if I were
you.
i
University of St. Thomas Undergraduate Catalog, p. 38
Fall 2007 Course Syllabus for QM130
-4-
Dr. Patrick L. Jarvis
2.) Regular exercise is essential for a healthy body. Since the mind resides within the body, its health is
determined by the body’s. There are countless ways to exercise. Find something interesting and do it
regularly – at least three times a week. It’s one of the most valuable habits you can develop.
3.) Do not sacrifice school for work. Remember, you are working in order to go to school. Do not let some
low-paying job keep you from class or your studies. School is the important thing, not work. I understand
that, for many, work is necessary. Just keep school as the top priority.
4.) Get enough rest. You cannot function at 100% without adequate amounts of sleep. If you stay up all
night playing video games and screwing around, you will learn little, if anything, the next day.
5) Arrive at class awake and ready to learn. This means waking up before class, not during it. Get up well
before class starts and eat breakfast. Learning takes energy and you won’t have much energy without food.
6.) Take careful notes in class. Much of the material will not be in the texts. You need to develop the habit
of noting the important concepts. Without notes, your learning will be seriously diminished. Definitions and
examples are particularly important. Definitions should be copied down exactly as they are given.
7.) Ask questions and do research when you are confused. If I could read minds, I’d be in the circus. I
don’t know what you know and what you don’t know. If you don’t understand something, you must ask me
to explain it. Asking questions is one of the best ways to learn. The internet is full of stuff on Java and
programming. Try to make use of this resource.
8.) Be prepared for class. After each class you should review the material covered that day. Make notes of
any questions you have. Next, read the assignment and make notes of the important concepts. (Highlighting
is not nearly as beneficial as note taking.) Answer all the questions at the end of the section or chapter.
Review your list of questions. Have some been answered? Have new ones been posed from the reading?
Before each class, review your notes and questions. If the lecture does not answer your questions, ask!
9.) Approach the material with a desire to really learn it, not simply memorize it. Material you “learned”
while cramming for a test is quickly forgotten. Once you truly understand material, you remember it
forever.
10.) Study the material every day. This includes weekends. You should set aside specific times each day for
study and always study during these times. Developing this habit will greatly improve your learning. Where
you study is important, too. You must have quiet to study. Many people think that they study better with the
radio or television turned on. They are wrong. They learn despite the noise, not because of it. Focusing on
learning can be difficult enough without the distractions of noise, and televisions, stereos, telephones, and
loud roommates are noise just as surely as a jackhammer is. A quiet atmosphere for study will increase the
amount that you learn and reduce the amount of time it takes to learn it. The library as well as the science
building have quiet areas that can be used for study.
11.) Begin working on homework the day it is assigned, not the night before it is due. It is quite likely that
you will have questions that need to be answered before the homework can be completed. If you wait until
the night before, there will be no one to ask.
12.) It is important to practice when studying programming. Developing skills in this area is similar to
learning to play the piano. Reading all the books in the world will not make you an accomplished piano
player. You have to practice. It is no different for programming. The books and class notes will provide
plenty of examples for you to use as practice material, but it is up to you to sit down and “play”.
Fall 2007 Course Syllabus for QM130
-5-
Dr. Patrick L. Jarvis
Download