Isc3313 syllabus

( Overview | Syllabus | Schedule | Lectures | Assignments | Project | Code | Misc)


Instructor

Dr. Peter Beerli
Professor
Department of Scientific Computing

Office: 150-T Dirac Science Library
Phone: (850) 559 9664
Email: beerli at fsu dot edu
Web: http://people.sc.fsu.edu/~beerli
Web: http://www.peterbeerli.com

Class hours: Tuesday, Thursday 2:00pm-3:15pm in DSL 152.
Office hours: Wednesday 1:00pm-2:00pm. You are welcome to talk to me at any other times, but I may not have always time to answer in depths.

Teaching assistant: Ben Crysup

Class website

enter through my personal website http://www.peterbeerli.com/classes or follow the link on blackboard. (for more information check out my older site http://people.sc.fsu.edu/~pbeerli/classes/ the newer site will eventually hold all class materials.

Course Description:

This course introduces the student to the science of computations. Algorithms for standard problems in computational science are presented. In this course, the programming language C++ is used. The basics of this object-oriented programming language are taught to facilitate the student’s implementation of algorithms. Aspects of the programming language are taught through a set of standard problems in scientific computing.

Course Objectives:

At the conclusion of the course, the students will be able to

  1. identify the components of scientific computing;
  2. identify standard problems in scientific computing;
  3. implement basic algorithms for standard problems in computational science using the programming language C++;
  4. write, debug, and verify computer codes;
  5. output results of computer simulations in a meaningful manner.

Computer Competency Requirement:

In order to fulfill FSU’s Computer Competency Requirement, the student must earn a “C-” or better in the course, and in order to receive a “C-” or better in the course, the student must earn at least a “C-” on the computer competency component of the course. If the student does not earn a “C-” or better on the computer competency component of the course, the student will not earn an overall grade of “C-” or better in the course, no matter how well the student performs in the remaining portion of the course.

Grading Policy

The student’s grade for the course will be based upon classwork/quizzes, assignments, and a final capstone project. This work is weighted as follows:

  • Quizzes - 10%
  • Assignments 50%
  • Capstone Project - 40%

Grading scale: A 100%-90%; B 89%-80%, C 79%-70%, D 69%-60%, F 59%-0%
fractional percentages will be rounded at 0.5, for example 89.51% will be an A; but 89.49% will be a B.

Quizzes, Assignment/Project Submission

We will have weekly quizzes on Fridays, assignments are either weekly or biweekly, The capstone project will be in lieu of the two last assignment. Each assignment or project must be submitted as a PDF document and computer code in a single tar or zip file via email to the TA and copy to the instructor. Assignments are late after midnight of the due date. We accept assignments up to a week late but the work will be penalized for each day late: Maximum points for deliver on due day before midnight 100 points, After midnight (first day late) 95, second day late 90, third 85, fourth 80, fifth 75, sixth 70, seventh 65, all later days zero. Exemptions from this rule are granted for sickness and other hardships preferably discussed with me before the due date.

University Attendance Policy

Excused absences include documented illness, deaths in the family and other documented crises, call to active military duty or jury duty, religious holy days, and official University activities. These absences will be accommodated in a way that does not arbitrarily penalize students who have a valid excuse. Consideration will also be given to students whose dependent children experience serious illness.

Academic Honor Policy:

The Florida State University Academic Honor Policy outlines the University’s expectations for the integrity of students’ academic work, the procedures for resolving alleged violations of those expectations, and the rights and responsibilities of students and faculty members throughout the process. Students are responsible for reading the Academic Honor Policy and for living up to their pledge to “. . . be honest and truthful and . . . [to] strive for personal and institutional integrity at Florida State University.” (Florida State University Academic Honor Policy, found at http://fda.fsu.edu/Academics/Academic-Honor-Policy.)

Americans With Disabilities Act:

Students with disabilities needing academic accommodation should: (1) register with and provide documentation to the Student Disability Resource Center; and (2) bring a letter to the instructor indicating the need for accommodation and what type. This should be done during the first week of class.

This syllabus and other class materials are available in alternative format upon request.

For more information about services available to FSU students with disabilities, contact the:

Student Disability Resource Center
874 Traditions Way
108 Student Services Building
Florida State University
Tallahassee, FL 32306-4167
(850) 644-9566 (voice)
(850) 644-8504 (TDD)
sdrc@admin.fsu.edu
http://www.disabilitycenter.fsu.edu/

Free Tutoring from FSU

On-campus tutoring and writing assistance are available for many courses at Florida State University. For more information, visit the Academic Center for Excellence (ACE) Tutoring Services’ comprehensive list of on-campus tutoring options - see http://ace.fsu.edu/tutoring or contact tutor@fsu.edu. High-quality tutoring is available by appointment and on a walk-in basis. These services are offered by tutors trained to encourage the highest level of individual academic success while upholding personal academic integrity.

Syllabus Change Policy

Except for changes that substantially affect implementation of the evaluation (grading) statement, this syllabus is a guide for the course and is subject to change with advance notice.


Tentative Content

I.Components of Scientific Computing

II.A simple example - Using a Monte Carlo approach to approximate problems
1.UNIX basics
2.Netbeans IDE: an integrated development environment for C++ programming
3.Introduction to C++
4.Algorithm development
5.Program testing and documentation
6.Visualization and analysis of results

III. Solving a non-linear equations
1.Description of problem and some simple algorithms
2.Iterative methods, required accuracy of result
3.Implementation of the Bisection method
4.Program testing and documentation

IV.Object oriented programming concepts in detail
using the non-linear equation problem and implementing more methods
1.Encapsulation
2.Inheritance
3.Polymorphism
4.Abstract classes and datatypes

V. Operations on vectors and matrices
1.Development of general functionality that is usable in many places
2.Vector and Matrix operations
3.Vector norms
4.Concurrency and parallel processing of such calculations using C++

VI. Polynomial interpolation of data
1.Description of problems and (biological) applications
2.Algorithms: Lagrangian interpolation in detail
3.Implementation to fit a set of data
4.Piecewise interpolation
5.Implementation and visualization of of piecewise interpolation

VII.Solving ordinary differential equations systems
1.Description of problem: Lotka-Volterra Predator-Prey system
2.Algorithms
3.How to use functions from other libraries
4.How to assess correctness of program
5.Visualization of results

VIII. Markov chain Monte Carlo Integration
1.Description of method
2.Example application
3.Implementation
4.Testing and visualization of results

IX.Capstone project