CIS Logo SVC Logo

   Computing & Information Systems
   Department

 

Schoology Facebook        Search CIS Site      Tutorials

CS 270 Syllabus



Introduction to Numerical Computation



Spring 2018



CIS Department



Saint Vincent College



General Information

  • 3 credits
  • Prerequisite: MA 109 or MA 111 or the equivalent
  • Instructor: Brother David Carlson
  • Office: Dupre Science Pavilion, Tenley Hall W217
  • Office hours:
    • Mon, Fri 8:30 am - 9:20 am
    • Tue, Thurs 8:30 am - 9:50 am
    • Mon, Fri 10:30 am - 11:20 am
    • Mon 2:00 pm - 2:50 pm
    • Tue 2:00 pm - 4:30 pm
    • Thurs 3:00 pm - 4:30 pm
    • and by appointment
  • Phone: 724-805-2416
  • Email: david.carlson@stvincent.edu
  • The CIS lab in W214 of the Dupre science complex will be available according to this schedule that will also be posted on the bulletin board outside our lab. This schedule also shows you which tutor is staffing the lab at what times.
  • Text: Fortran for Scientists and Engineers, 4th edition, by Stephen J. Chapman. McGraw-Hill (2018). ISBN: 9780073385891 or 9781260152333 for the loose-leaf version. The 3rd edition would be OK if you find one of them. An electronic book (if there is one) is not recommended as you will not be able to use it during the exams. Only paper materials, including the printed textbook, can be used on the exams.

Description

This course has two main goals: to teach the student the basics of programming in a modern version of the Fortran language and to use that language to find numerical solutions to mathematical problems, especially problems of interest in mathematics, science, and engineering. In order to do this, a good deal of time is spent on studying elementary numerical analysis. Good software engineering techniques are emphasized in the programming portions of the course. Mathematica and hand calculators are used to help in solving several types of numerical analysis problems. However, the Fortran work that forms the bulk of the course is done on the CIS department's new Linux server, in part due to its speed.

It is assumed that the student is familiar with derivatives and integrals, algebra, and typical precalculus topics. No programming background is required. The coverage of Fortran will start at the beginning. GNU Fortran on the CIS Linux server will be used throughout this course. Programming topics covered include the structure of a Fortran program, input/output, arithmetic, built-in functions, decision structures, loop structures, software engineering techniques, number representation, errors, arrays, functions and subroutines. Numerical analysis and mathematical topics include limits of computer arithmetic and number representation, power series, Taylor series, Fourier series (briefly), roots of non-linear equations, systems of linear equations, the use of a library of numerical subroutines, numerical integration techniques, approximating the value of a derivative, an introduction to eigenvalues and eigenvectors, and finding numerical solutions to ordinary differential equations.

Why Take This Course

This course is needed by some 3/2 engineering students (depending on the engineering school to which they plan to go). The course might also be of interest to some mathematics majors, CIS majors, physics majors, and anyone else interested in numerical analysis.

The Text

The text provides plenty of material on Fortran, but nothing on numerical analysis. The latter will be supplied by the instructor in class. We expect to cover chapters 1 through 7 plus the start of chapter 8 but will not attempt to go through the entire book.

Core Goals

This course contributes especially toward the following core curriculum goals, listed in order of emphasis. Writing good mathematics in the solution of problems is the key communication skill for this course, but also included is the oral presentation of solutions by individual students and small teams of students.

  1. To develop mathematical skills and quantitative literacy
  2. To form habits of ordered inquiry, logical thinking, and critical analysis
  3. To develop effective communication skills
  4. To foster historical awareness (of numerical analysis and Fortran especially)

CIS Department Learning Goals

This course contributes mainly to the following desired departmental learning goals, listed in order of emphasis.

  1. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
  2. An ability to design, implement, and evaluate a computer-based solution to meet a given set of computing requirements in the context of the discipline
  3. An ability to apply theory in the design and implementation of computer-based solutions
  4. An ability to function effectively on teams to establish goals, plan tasks, meet deadlines, manage risk, and produce deliverables
  5. An ability to reason about and explain computer-based solutions at multiple levels of abstraction
  6. An ability to communicate effectively with a range of audiences about technical information

Course Goals and Means of Assessment

Specific course goals include the following. These goals will be assessed by means of homework assignments, small group presentations, class participation, and tests. Informal student comments are also considered.

  • By the end of the course the student should be able to write basic Fortran programs that use the constructs outlined above. Programming assignments are the main means of assessment for this goal.
  • By the end of the course the student should be able to write Fortran programs that use the techniques of numerical analysis that were listed above. Programming assignments are again the main means of assessment for this goal.
  • By the end of the course the student should be able to explain the mathematics behind the numerical analysis techniques that have been covered and to use this to explain the tradeoffs among competing techniques. Tests, student class presentations, and discussions are the main means of assessment for this goal.

Methods Used to Reach These Goals

Lectures, demonstrations, small group presentations, and class discussion are used to assist students in mastering the course material. Homework assignments are designed to allow students to grow in their understanding of the topics at hand. Exams provide an opportunity for students to demonstrate what they have learned.

Grading and Course Policies

  • 20% Exam 1
  • 20% Exam 2
  • 30% Final Exam
  • 30% Homework and Small Group Presentations

Homework and Exams

Letter grades will be given using the scale found in the College Bulletin. Due to the technical nature of the course, exams will be open book, open notes and will be announced in advance. Be sure to bring to each exam notes from class, handouts, homework solutions, and example programs. However, you must still be well-prepared as it is not possible to look up how to solve every problem in the time given. Homework and test answers are expected to be written using good English and good mathematics. These items will be graded not just on the correctness of their answers, but also on the clarity of their presentation. This is intended to help the student to develop good written communications skills. On exams, cell phones, tablets, laptops, and similar devices should be turned off and put away. The use of calculators is encouraged (and, in fact, necessary to answer some exam questions), but calculators are not to be shared among students during an exam. Some homework will be done on an individual basis, but a seminar approach will be used at times. Thus a problem may be given to a small group of students, who will be responsible for solving it (usually by writing a Fortran program, using Mathematica, and doing some math), analyzing it, and presenting the results to the class. Some of these small group problems will require you to look up additional information about the type of problem given. On homework, students can use computerized mathematics systems such as Mathematica to supplement their work in Fortran.

Producing a Good Class

Both the instructor and students are expected to do their best to produce a good class and to treat each other with respect. This includes many factors, such as listening when someone else is speaking, trying to understand what others are saying, being of assistance to others, etc. It definitely does NOT include making fun of others. On a practical level, do your best to improve your grade: read the course materials, attend class, review what was done in each class before having to go to the next class, do the homework and small group work, ask questions, and try to answer questions in class! Computer science requires active participation and repeated practice. If you begin to feel lost, consult one of the tutors, see the instructor, or work through the difficulties with the help of another student in the course. Do not let yourself get behind. In fact, one key to academic success is to start early on homework and other tasks. Last-minute miracles seldom work, particularly with software development! Note in particular that attendance is expected. Student performance is bound to deteriorate when classes are missed. Partly in order to emphasize the importance of attendance, the policies outlined right after this paragraph will be used.

Course Policies

  • If the student does not attain a passing average in the test category, a failing grade will be received for the course.
  • Each unexcused absence after the first 3 results in 1.5 percentage point being deducted from the final course grade.
  • Arriving late for class or leaving early (without a proper excuse) is counted as 1/2 of an absence.
  • An unexcused absence from an exam results in the failure of the course.
  • Unexcused absence from more than one-third of the semester's classes results in the failure of the course.
  • Attendance is used to decide borderline grades at the end of the semester.
  • Unexcused absence from class also means a grade of zero on any homework or class presentation due in that class.
  • Late work is not accepted unless resulting from an excused absence or other significant complication, but partial credit is given for incomplete homework that is submitted on time.
  • Written documentation (such as a note from a doctor's office or coach of one's sports team) is normally required for an absence to be excused. Always bring a copy of such a note to give to your instructor when you can do so. In special circumstances, check with your instructor, as it is not always possible to get documentation.

Make-up Exams

Make-up exams are strongly discouraged. If possible, take the regularly scheduled exam. For an excused absence or other significant reason, the instructor may agree to give a make-up exam. Whenever possible, see your instructor ahead of time if you know you must miss an exam (e.g. due to sports). Normally some type of written documentation is required (such as a note from the coach, doctor, etc.). If the documentation or reason for missing an exam is poor, the student can count on receiving a significantly more difficult exam, if one is given at all! Do ask about a makeup exam if you have a good reason to miss an exam, even if documentation is not readily available, as it is understood that illnesses and other complications do happen.

Exam Questions

Tests will ask critical thinking questions that require careful analysis (often using mathematics), explanation, and meaningful conclusions. For example, you might be presented with a section of a program and asked to trace what it produces, to write the documentation describing at a high level what this section does, or to give an alternative implementation of this section. You might also be asked to write a section of code that carries out a particular task, to solve a numerical analysis problem using appropriate mathematics and a hand calculator, or to explain the mathematics behind a certain numerical analysis technique. You will usually not be asked to prove theorems. In this course you will write programs that are about 1 to 6 pages in length, including well-written documentation. There will be about 8 to 10 programming assignments in this course.

Homework Questions

Homework usually consists of programming assignments, solving numerical analysis problems using mathematics and/or programming, and sometimes giving a small group presentation of the solution. Programming involves typing code into a source file, compiling it, testing it, and fixing it as necessary. Programming assignments normally require careful planning and the use of several hours of out-of-class time. Plan to have the program done early so that there will be time to test it and to fix the problems that testing usually reveals. Engineering a program requires a development process that cannot normally be done at one sitting. Allot several hours over multiple days to develop your program. Note that it nearly always takes longer than you expect! All homework assignments that are not marked as small group assignments must be done separately by each individual. The purpose of group homework is to allow students to learn from each other, to enable the creation of larger and more complex software, and to provide practice at a cooperative project like those demanded by many job situations. Further information about each group assignment will be provided during the course. Pay attention to the instructions for each assignment in regard to how the assignment is to be turned in and when it is due.

Intellectual Honesty and Plagiarism

Every programming homework assignment should list all sources that contributed to the solution. This would include the individual student (on an individual assignment) or the students assigned to a group (in a group assignment). It may also include the instructor, a tutor that was consulted, a reference book, a web site, etc. You may not consult other students (or other students not in your group for a group assignment). If you need assistance, the best person to consult is the instructor. Tutors may also be able to assist with this, though only the instructor knows the full details of how the homework should work. You may not look at the homework code for another student in this course or show yours (even a part of it) to another student in the course unless this is a group assignment and you are in the same group. You may not work out the design or code for a homework assignment with one or more other students from the course unless you were specifically assigned to work together on this problem as a group project. If you break one of the conditions spelled out in the last two sentences, then this is a case of program plagiarism. See the next paragraph for how this gets handled and the possible consequences.

Intellectual honesty is important at Saint Vincent College. Attempts to pass off the work of another as one's own or the work of a different group as the work of your group will result in action appropriate to the seriousness of the situation. If there is some doubt as to whether you wrote a programming assignment yourself (or solved a test question yourself), you may be asked to explain the solution. If you can do so, that provides good evidence that you did do the work yourself. All cases of apparent intellectual dishonesty will be referred to the administration. If the administration does not say what to do about the grades in such a case, the first offense will involve a significant grade penalty (such as a grade of zero) on the assignment, while a second offense may result in failure of the course. In this course, students are expected to do entirely their own work on tests and individual homework assignments. Homework assigned to a group should not include work from a different group. Assignments that are unduly similar (which means that a prudent individual would reasonably conclude that the assignments were done by the same person or collection of persons) will be reported to the administration as likely cases of plagiarism. If you really do your own work, you will not produce something that is unduly similar to someone else's work. Note, too, that copying someone else's work does little to help you to learn the material. Remember that you are responsible for knowing how to solve the homework problems and that you will have to face the test questions on your own.

Policy Documents

Be sure to read and follow the CIS Department Policies, available under the CIS Department web site. (This statement covers especially the proper use of departmental computing facilities, policies concerning your web pages, academic honesty, etc.) Be sure to read the Regulations section of the College Bulletin (which covers such things as grading, academic honesty, etc.) and the Student Handbook (which covers academic honesty, classroom etiquette, etc.).

Title IX: Sexual Misconduct and Harassment

Saint Vincent faculty are committed to helping create a safe learning environment for all students and for the college as a whole. If you have experienced any form of gender or sex-based discrimination or harassment, including sexual assault, sexual harassment, intimate partner (dating or domestic) violence, sexual exploitation, or stalking, know that help and support are available. Saint Vincent College has staff members trained to support students in navigating campus life, accessing health and counseling services, providing academic and housing accommodations, and more. The College strongly encourages all students to report any such incidents.

Please be aware that all Saint Vincent employees (other than those designated as confidential employees such as counselors, clergy and healthcare providers) are required to report information about such discrimination and harassment. This means that I have a mandatory duty to report to the Title IX Coordinator any information I receive about possible sexual misconduct. This includes information shared in class discussions or assignments, as well as information shared in conversations outside class. The Title IX Coordinator will contact you to inform you of your rights and options and connect you with support resources, including possibilities for holding accountable the person who harmed you. Know that you will not be forced to share information and your level of involvement will be your choice. The purpose of reporting is to allow Saint Vincent to take steps to ensure that you are provided with any necessary resources needed and to provide a safe learning environment for all.

The College's Title IX Coordinator is:
Eileen K. Flinn, Esq.
Saint Vincent College
Second Floor, Alfred Hall
724-805-2897

The College also has confidential resources available, who can provide assistance to those who have experienced sexual misconduct without triggering a mandatory reporting duty. More information about confidential resources is available at http://www.stvincent.edu/student-life/title-ix.

If you wish to speak to a confidential employee who does not have this reporting responsibility, you can contact Campus Ministry at 724-805-2350 or the Wellness Center in the Carey Student Center at 724-805-2115. For more information regarding your rights and options, please see the Sexual Misconduct and Harassment policy which can be found on MySVC portal under Quick Links or on the web at http://www.stvincent.edu/student-life/title-ix.

Students with Disabilities

Students with disabilities who may be eligible for academic accommodations and support services should contact Ms. Marisa Carlson, Director of Academic Accommodations and Academic Advisor, by phone (724-805-2828), email (marisa.carlson@stvincent.edu) or by appointment (Academic Affairs-Headmasters Hall). Reasonable accommodations do not alter the essential elements of any course, program or activity. The Notification of Approved Academic Accommodations form indicates the effective date of all approved academic accommodations and is not retroactive.

Class Cancellation

If the instructor needs to cancel class, every effort will be made to send an email message to students' Saint Vincent email accounts.

Maintained by: Br. David Carlson
Last updated: January 12, 2018
Disclaimer