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.



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 4 of 4