Instructor: Dr. Durell Bouchard
Office Hours: MWF: 2:10-3:10, TTH: 2:40-3:40, also by appointment or open door
Office: Trexler 365-C
E-Mail: bouchard@roanoke.edu
Phone: 375-4901
Course Objectives
This course is designed to introduce students to fundamental concepts, methods, and tools of scientific computing. The course begins with an introduction to the Python programming language in the context of solving scientific computing problems from a variety of disciplines, including physics, chemistry, biology, and mathematics. The course concludes with a series of guest lectures by experts in scientific computing in various disciplines where students can apply their programming and problem-solving skills.
Intended Learning Outcomes: At the end of the course the successful student will be able to
write programs, in the Python programming language, to solve scientific computing problems. In particular, the student will be able to
design, implement, and test algorithms.
use the basic control structures (conditionals and loops), data structures (lists and dictionaries), and modules (math and random) of the Python language.
use the SciPy scientific computing software library.
apply scientific computing methods, such as the Monte Carlo method, principal component analysis, or Fourier transforms, to scientific computing problems.
create visualization of and analyze scientific data.
Course Content
Prerequisites: There are no formal prerequisites for this course. Prior experience with programming is not necessary.
Text: How to Think Like a Computer Scientist: Learning with Python: Interactive Edition 2.0, by Bradley Miller and David Ranum, Runestone Interactive, 2015.
Activities: Learning to program is easy, but becoming a skilled programmer requires a lot of practice. In-class activities give the student an opportunity to practice the programming and problem-solving skills that are integral to scientific computing in an environment where help from the instructor is easily accessible. Unless otherwise specified, the activities must be done during class and turned in before leaving.
Assignments: In addition to regular reading and in-class activities, there will be programming assignments. These assignments are designed to give the student the opportunity to put into practice the problem-solving and programming skills they have learned. As such they are one of the most important aspects of the course both for student learning and for assessment. The assignments will vary in length and difficulty. You are encouraged to start on them immediately when assigned and get help from the instructor as needed.
Quizzes, Tests, and Exams: Two tests and one comprehensive final exam will be given.
Test Dates:
Test #1 | Tuesday, February 7 |
Test #2 | Tuesday, March 16 |
Final Exam | Thursday, April 27 (8:30AM-11:30AM) |
Co-curricular: The Department of Mathematics, Computer Science, and Physics is offering a series of lectures designed to engage the campus community in discussions of ongoing research, novel applications, and other issues that face these disciplines. You are invited to attend all of the events but participating in at least two is mandatory. Within one week of attending an event you must submit a one page, single-spaced, paper (to Inquire) reflecting on the discussion. If you do not turn the paper in within the one week time frame you may not count that event as one you attended.
Grading: Course grades are assigned based on the following weights and scale:
Grade Weights:
quizzes………….10% | tests…………30% | final exam…….20% |
assignments……26% | activities…….12% | co-curricular….2% |
Grade Scale:
93-100….A | 83-86……B | 73-76……C | 63-66……D |
90-92……A- | 80-82……B- | 70-72……C- | 60-62……D- |
87-89……B+ | 77-79……C+ | 67-69……D+ | 0-60……..F |
Course Policies
Attendance Policy: Class attendance is vital to your success in this course; material covered during missed sessions is the responsibility of the student. Conversations held in class illuminate the published class materials and are subject to evaluation on subsequent tests and quizzes. Moreover, quizzes and in-class assignments are not available for make-up. Students with excused absences will not be penalized for missing quizzes or in-class activities. Students with unexcused absences will receive no credit for missed quizzes and in-class activities.
Late Assignment Policy: Unless otherwise specified, assignments are to be turned in before the start of class on the due date. If you anticipate being unable to meet a deadline, talk to me at least 24 hours before the deadline. In extenuating circumstances we may be able to make special arrangements. Please note that this must be discussed – just sending an email does not automatically grant you extra time. If you have not been granted extra time ten percent per calendar day (24 hours) will be deducted for late work (including weekends and holidays); work more than 2 days late will receive no credit. Electronic “glitches” do not waive your responsibility to submit your work in a timely manner.
Make-up Policy: Everyone is expected to take the exam at the scheduled time. Make-ups will be given for legitimate, documented absences. Make-up tests, if given, may be oral. There will be no make-up quizzes.
Academic Integrity: It is accepted that you have read and understood the standards for academic integrity at Roanoke College. All tests and exams are to be the work of the individual student. You are encouraged to get help from the instructor if you need help with any aspect of the course including programs and assignments. Student assistants, tutors, and classmates may help you understand course concepts but may not show you how to do any particular aspect of an assignment. Students may discuss in-class activities and assignments and help each other out but in all cases the work you turn in must be your own. Copying someone else’s work or turning in someone else’s work is NEVER allowed. Using someone else’s work or ideas as your own is plagiarism and an academic integrity offense. Examples of academic integrity violations include copying a program or part of a program (even one line) from someone else, writing code for someone else, telling someone else how to solve a problem or having someone tell you how to solve a problem. Discussion among students about programming projects should be limited to general concepts, not specific aspects of how to complete the work.
Electronic Devices: All cell phones must be turned off prior to entering the classroom. The use of any electronic device during a test or quiz is prohibited. This includes cell phones, personal media players, personal digital assistants, and laptops. Any use of such a device during a test or quiz will be considered a breach of academic integrity.
Disability Support Services: The Office of Disability Support Services (DSS), is located in the Goode-Pasfield Center for Learning and Teaching in Fintel Library. DSS provides reasonable accommodations to students with documented disabilities. To register for Disability Support Services, students must self-identify to the Office of Disability Support Services, complete the registration process, and provide current documentation of a disability along with recommendations from the qualified specialist. Please contact JoAnn Stephens-Forrest, MSW, Coordinator of Disability Support Services, at 540-375-2247 or e-mail her at: stephens@roanoke.edu to schedule an appointment. If you have registered with DSS in the past, and would like to receive academic accommodations for this semester, please contact Ms. Stephens-Forrest at your earliest convenience, to schedule an appointment.
Course Schedule
This course expects you to spend at least 12 hours of work each week inside and outside of class.
Dates | Topics |
---|---|
Jan 17 – Feb 7 | Expressions, Loops, and Functions |
Feb 9 – Mar 16 | Branching, Collections, and Numpy |
Mar 21 – Apr 20 | Guest Lectures |