CS
205 – Programming for the Sciences
Spring 2008 –
Syllabus
Instructors
Dr.
Deborah Hwang
KC-264, 488-2193
hwang@evansville.edu
Home
page: http://csserver.evansville.edu/~hwang
Dr.
Dick Blandford
KC-266A,
488-2291
blandfor@csserver.evansville.edu
Home
page: http://csserver.evansville.edu/~blandfor
Office Hours: See instructors' home pages.
Course Web Page
Announcements regarding handouts and assignments will be made in class. Assignments will be available only at the course home page (http://csserver.evansville.edu/~hwang/s08-courses/cs205.html). It is your responsibility to consult the course home page on a regular basis. Grades will be posted to Blackboard (http://acebb.evansville.edu).
Catalog Data
Explores the power and limitations of using computers in the sciences. Includes the study of various approaches to solving scientific problems such as numerical representations, computational numerical methods, and scientific simulations. Course may not be counted toward graduation for computer science or engineering majors.
Objectives
Learning problem solving techniques used in programming software solutions for problems that arise in science and mathematics. Note that you will be learning and using the C# programming language as a vehicle towards these goals, but this course is not about learning C# in its entirety.
Prerequisite: MATH 134, 211, or 221
Required Textbook
Sharp, Microsoft Visual C# 2005 Step by Step, Microsoft Press, 2006, ISBN 0-7356-2129-2.
Required Software
Microsoft Visual Studio 2005 or Microsoft Express Visual C# 2005. The Express edition may be downloaded without charge at URL: http://www.microsoft.com/express/2005/download/default.aspx
Daily and Weekly Requirements
Assigned daily reading assignments. During each lab time, there will be an in-class assignment. Weekly programming assignments to be completed outside of class. Generally, these will be given out on Thursday and due the following Thursday.
Class Format
This class meets in a lecture/lab format. Typically, the first half of the class will consist of lecture and example programs demonstrated by the instructors. The second half of the class is typically for you to work on the currently assigned in-class or weekly programming assignment. You are expected to use this time for this purpose. The only valid reason for leaving early is if you have already completed the assignment. During this time the instructor is available to answer any questions regarding the program and its design. This is incorporated into the design of this course and if you do not take advantage of this, you may miss some key concepts and your grade will probably reflect this.
Exams and Evaluation
The final grade will be determined from three components weighted as follows:
|
Item |
Weight |
|
Two In-class Exams |
25% |
|
Final Exam |
25% |
|
In-class Labs/Programming Assignments |
50% |
There will be two in-class exams and a comprehensive final exam. In-class exams will be announced at least 2 weeks in advance. Your final grade will be no worse than it would be if computed using the following scale:
A: 90%-100%; B: 80%-89%; C: 70%-79%; D: 60%-69%.
Make-up exams will be considered only for excused absences and documented emergencies.
Late Programming Assignments
Programming assignments are due electronically as appropriate by 4:30pm on the date specified unless otherwise noted. Any assignments arriving after 4:30pm are considered late. The following automatic late penalties will be applied:
|
|
10% |
if handed in by 4:30pm, one day late |
|
|
20% |
if handed in by 4:30pm, two days late |
|
|
30% |
if handed in by 4:30pm, three days late |
Unexcused late work will not be accepted for credit after three days after the due date without prior arrangements. For the purpose of counting days, Friday 4:30pm to Monday 4:30pm is considered one day. Please note that the purpose of the automatic late extension is to allow students leeway when needed. It is usually better to hand in something late and completed than on-time and incorrect. However, chronically handing in late submissions will lower your final grade.
Attendance Policy
Attendance is important and expected. Attendance records will be maintained in accordance with Federal Law, but will not be used in the determination of grades, except to the extent it affects the in-class exercise portion of your grade and in borderline cases. Students are responsible for all material covered in class. If you miss a class, find out what was covered from another student. You are responsible for checking the course home page for new assignments even if you miss class.
Valid excuses for missing exams, missing classes, and handing assignments in late include illness, family emergencies, religious observances, official UE events such as varsity games and concerts, etc. They do not include (most) work conflicts, studying for other classes, leaving a day early or staying home an extra day over a weekend or holiday, etc. In general, an excused absence is one caused by circumstances beyond your control.
The instructor will rely on your integrity for getting work excused. If you have a valid excuse, put it in writing, sign your name to it, and give it to the instructor. For religious observances and official UE events, you must inform the instructor that you will be absent before the absence occurs, otherwise it will be considered an unexcused absence.
Excused work must be made up within one calendar week from the original due date for full credit. Late excused work will not be accepted Exceptions will be made for serious or prolonged illness, or other serious problems. Please note: It is your responsibility to take care of missed or late work.
Honor Code
All students are expected to adhere to the University's Honor Code regarding receiving and giving assistance. The following specific guidelines are in force for this course.
In-class lab exercises are for you to gain experience and practice. You should collaborate with your classmates on these, but each student must submit a solution reflecting their own work. In particular, the sharing of files is prohibited.
Programming assignments are to be your own work unless otherwise noted. Discussing the meaning and general solution techniques of an assignment with other students is permitted. For example, discussing “How is this assignment similar or different from problems presented in the text or in lecture?” is acceptable.
Asking another person for assistance on specific items in your own code also is permitted, but you may not observe another person’s solution or code in its entirety for the purposes of studying or copying it, with or without that student's permission. For example, asking, "What does this compiler error mean?" or "Do I have the correct class syntax here?" is acceptable. Whereas asking "Can I see how you coded your method?" is not acceptable.
Exams are to be solely your own work. Giving or receiving any type of unauthorized aid on any exam will result in a final grade of F and possible disciplinary action.
If there is any doubt as to whether assistance is acceptable, consult the instructor.
Tentative Course Schedule of Topics
This is a tentative schedule. The math and science topics especially are subject to change.
|
Math and science topics |
C# topics |
|
Formulas |
Chapters 1, 2: C# IDE and basic Windows form, variables, operators, expressions, assignment Chapter 3: methods
|
|
Finding roots, differentiation, integration Infinite series, harmonic oscillation |
Chapters 4, 5: decision statements, iteration statements |
|
Number representations – rational numbers, arbitrary precision integers, factoring |
Chapter 7: classes and objects Chapter 19: operator overloading
|
|
Vectors, difference equations, Matrices, automatas, graphics |
Chapter 10: Arrays, collection classes Graphs, graphics
|
|
Monte Carlo simulations and random numbers Random walk simulations Population statistics |
|
01/09/08