CSCI 285
Scientific Computing


TR 2:45 - 4:00pm




Prof. Joshua Wilson
(919) 323-6369
Office Hours


Students visualize scientific data from a wide variety of sources, perform data analysis and dimensionality reduction using clustering techniques, understand system dynamics through differential equation approximation and agent-based modeling, construct probabilistic Monte-Carlo simulation models, and optimize continuous and discrete problems with local search techniques. Topics may include Markov models, bioinformatics, and signal processing. Each assignment requires writing a clear and coherent data analysis report that properly characterizes legitimate conclusions to be drawn from the data.

Learning Goals

Upon completing this course, you will be able to,

W2 Requirements

This course is designated as a W2 Writing Intensive Course and includes these learning goals and assessment criteria. Writing will be assessed throughout the semester through lab reports and the final paper, with multiple revision opportunities and feedback provided regularly.


We will be meeting this semester in MCREY 315. This course will be using all of our scheduled time slots (TR 2:45 PM-4:00 PM) starting on 8/23/2022 and ending on 12/15/2022. I expect you to be present and participating in our discussions and small group work sessions. If we are forced to meet remotely (e.g. weather, public health, etc.), then I expect video and audio turned on for at least part of each class. If you have difficulties meeting these expectations, please contact me, the Office of Academic Success, the IT HelpDesk, and the Provost’s Office to discuss alternate accommodations.


Three times throughout the semester, you are expected to make an office hours appointment and check in with me about the course. This will be conversation and feedback about your current progress and understanding. These should be scheduled, in advance, using the available time slots found here. These checkins are a component of your final grade.

Late Work Policy

Each student has four late days to spend throughout the semester as they wish. Simply inform the instructor any time prior to the due date for an assignment that you wish to use a late day; you may then turn in the assignment up to 24 hours late. Multiple late days may be used on the same assignment. There are no partial late days; turning in an assignment 2 hours late or 20 hours late will both use 1 late day. Note that late days are intended to cover both normal circumstances (you simply want more time to work on the assignment) and exceptional circumstances (you get sick, travel for a game or family obligation, etc.). After you have used up your late days, late assignments will receive at most partial credit.

In order to spend a late day, the instructor must be notified, by email, prior to the deadline.


Specifications Grading

Each assignment is assessed as Complete, Partially Complete or Not Complete. Criteria for the first two categories will be specified for each assignment. Final course grades are earned based on cumulative assignment outcomes. Late Work is automatically given Partially Complete without any further consideration. See the Late Work Policy to understand this requirement.

Revising Labs

If a submitted Lab receives a Partially Complete assessment and the student seeks a Complete assessment:

If a submitted Lab receives a Not Complete assessment, a similar list of requirements will be provided. In most cases, a Not Complete assessment can only be upgraded to Partially Complete, but the instructor reserves the right to allow students to achieve Complete on a case-by-case basis.



Much of your experience with programming in this course will be through labs. We will set aside time in class for working on labs together. The instructor will make time for lab Q/A every week to address common pain points and we’ll generally spend half of our in class time working on labs together.

Labs will be issued on the morning of a “lab day”. Attendance is required on these days. Every lab (sans the final lab) is due before the next lab begins. This results in most labs being due one week after being discussed with a couple spread out over longer time windows. All labs are weighted equally within the lab portion of your final grade.

On these labs, you will work with partners on the lab assignments. Their name must be listed on any code you hand in as joint work. A partnership should only turn in a *single copy* of the assignment. If students working as partners wish to turn in a lab late, all students must use a late day.


There will be three exams administered throughout the semester in order to evaluate your competency with the course material. They will consist of individually working through problems directly related to the labs and lectures. There will be no “pop” quizzes. You will know when each exam is scheduled to occur.

These exams will be allotted three full class periods. We will also reserve the class period before the exam for “Module Review”. This is meant to be exam prep, Q/A, and cover any lingering subject matter in the module.

Final Project

A major component of this course is a “Final Project” which we will build up to over the second half of the semester with various incremental deadlines.


Here is a link to the deck I’m presenting in class each week: slides.pdf. I’ll continue to update this link with new slides after each class period.

Date Topic Resources
T 8/23 Start Module #1 (Data Analysis) pandas_intro
  Intro to pandas Palmer_Penguins_1 raw data cleaned data
R 8/25 Lab #1: Lake Trout  
T 8/30 Markdown overview
  Intro to seaborn Palmer_Penguins_2 cleaned data
R 9/1 Lab #2: Data Visualization  
T 9/6 Intro to scikit-learn Distance Measures K-Means
R 9/8 Clustering & PCA Palmer_Penguins_3 K-Means Considerations
T 9/13 Lab #3: K-means and PCA  
R 9/15 Geopandas & More Visualizations Geopandas Flight Delays
T 9/20 Module #1 Review & Catch-up Datasets Lemurs
R 9/22 Class cancelled  
T 9/27 Exam #1  
R 9/29 Lab #4  
T 10/4 Start Module #2 (System Dynamics) Euler’s Method Taylor Expansion Population Growth
R 10/6 SIR Modeling Pred_Prey_Revisited SIR_Modeling Newton’s law of cooling
T 10/11 Lab #5  
  Due: Project topic selection one-pager  
R 10/13 No class (fall break)  
T 10/18 Monte Carlo Methods Monte_Carlo_Method
R 10/20 Project Work Day #1  
T 10/25 Project overview presentation day  
  Due: Project overview one-pager  
R 10/27 Monte Carlo Methods Saving for College Estimating PI
T 11/1 Lab #6  
R 11/3 Agent-based modeling Agent Modeling Forest Fire mesa
T 11/8 Module #2 Review & Catch-up Hunting Season
R 11/10 Exam #2  
T 11/15 Lab #7  
  Due: Model descriptions one-pager  
R 11/17 Agent-based modeling  
T 11/22 Project Work Day #2  
  Due: Project paper rough draft  
R 11/24 No class (Thanksgiving break)  
T 11/29 Project Work Day #3  
R 12/1 Exam #3  
W 12/7 Final Project Presentations (08:30 - 11:30am)  
M 12/12 Due Final Project Paper (including all data and code)  
F 12/16 Final grades are due @ 9am  


It is my ultimate goal for this course, and my teaching, to develop your academic skills, advance your learning of computer science concepts, and support the liberal arts in general. To do so will require commitments from myself and from you toward meeting this goal.

Active Participation

I will be prepared and on time for class each day, ready to use class time to help you understand the course material. I will respectfully listen to, understand, and answer questions asked in class.

You are expected to attend class and actively participate in discussions every day, answering questions, asking questions, presenting material, etc. Your participation will be respectful of your classmates, both of their opinions and of their current point in their educational journey, as we each approach the material with different backgrounds and contexts.

Constructive Feedback

I will keep office hours and be available for outside appointments, and respond to emails within one business day (not including weekends). I will provide feedback on group presentations within one day. For exams, projects, and homeworks, I will provide graded feedback within two weeks.

You are encouraged to provide constructive comments for improving this course for furthering your learning throughout the semester. There will be an opportunity for anonymous course feedback at the end of the term, in which I hope you all participate. Through your feedback I can improve this course and others for future students.

Academic Integrity

I will abide by the above syllabus and grade your work fairly.

As stated in the Hendrix Academic Integrity Policy, all students have agreed to adhere to the following principles:

  • All students have an equal right to their opinions and to receive constructive criticism.
  • Students should positively engage the course material and encourage their classmates to do the same.
  • No students should gain an unfair advantage or violate their peers' commitment to honest work and genuine effort. It follows that any work that a student submits for class will be that student's own work. The amount of cooperation undertaken with other students, the consistency and accuracy of work, and the test-taking procedure should adhere to those guidelines that the instructor provides.
  • Members of the Hendrix community value and uphold academic integrity because we recognize that scholarly pursuits are aimed at increasing the shared body of knowledge and that the full disclosure of sources is the most effective way to ensure accountability to both ourselves and our colleagues.
More details of our departmental stance on integrity can be found in the Hendrix Computer Science Academic Integrity Policy

Learning Accomodation

I will make this classroom an open and inclusive environment, accommodating many different learning styles and perspectives.

Any student seeking accommodation in relation to a recognized disability should inform me at the beginning of the course. It is the policy of Hendrix College to accommodate students with disabilities, pursuant to federal and state law. Students should contact Julie Brown in the Office of Academic Success (505.2954; to begin the accommodation process.

Physical and Mental Health

I am willing to work with you individually when life goes off the rails.

Coursework and college in general can become stressful and overwhelming, and your wellness can be impacted when you least expect it. You should participate in self-care and preventative measures, and be willing to find support when you need it.

  • The Office of Counseling Services welcomes all students to see a counselor in a private and safe environment regardless of their reasons for making an appointment. Counseling services are available to all Hendrix students at no cost.
  • Student Health Services provides free healthcare to Hendrix students. Services are provided by an Advanced Practice Registered Nurse (APRN) in collaboration with a local physician.

The Offices of Counseling Services and Student Health Services are located in the white house behind the Mills Center for Social Sciences at 1541 Washington Avenue.