CSCI 102 : Introduction to Computational Modeling
General Information
Lecture: MWF 11:1512:10 Parmly Hall 307 Lab: T 9:0512:10 Parmly Hall 405 Professor: Simon D. Levy Office: 407B Parmly Hall Office Phone: 4588419 Email: simon.d.levy@gmail.com Office Hours: MWF 1:303:30 and by appointment 
Textbook: Angela B. Shiflet and George W. Shiflet, Introduction to Computational Science, (Second Edition) Princeton University Press, 2014.
Objectives
This goal of this course is a handson understanding of the computational modeling methods that support science and technology today and that will be essential for success in science, engineering, and the business world tomorrow. The course is open to both science majors and nonmajors and will benefit both. The only background you need for this course is highschoollevel math (mainly, algebra and trigonometry). The central theme of the course is building computational models of the processes that surround us everyday, from the effects of drugs on the body to the interactions of nations in the global economy. We will learn about these models through classroom lectures and textbook readings, and will implement the models in lab with easytouse but powerful software tools that you will likely see again in your career. If you are a science major, you will come away from this course with a core set of concepts and skills that will serve you throughout your research career. If you never take another science or math course again, you will come away with an ability to think critically about trends in science, technology, and everyday life â€“ an ability that will benefit you in any number of careers. Perhaps most importantly, you will come to appreciate the importance of experiencing and dealing with failure and frustration as unavoidable waypoints on the path to success.
If you’re still wondering why you have to take this course for your major (Neuroscience, Biology), consider the following remark from the most recent external review of the Neuroscience program:
We thought that one of the most distinctive elements of the neuroscience major was the computer science (CS) component. Being able to offer courses in scientific computing and computational modeling provide[s] a tremendous educational benefit to the majors.
How is this course different from Computer Science 101 / 111 / 121 ?
Like CSCI 101, this course is an introduction to computing that assumes no background knowledge and does not require you to write programs. In 102, however, the focus is entirely on computational modeling. If you want to learn about how computers work, then 101 might be a better choice. CSCI 111 is an introduction to programming for Computer Science and Math majors and anyone interested in gaining general programming skills. If you are a science major (e.g. Biology, Geology, Neuroscience) and need to learn to program right away for your research, CSCI 121 would be of more immediate use to you; though (as with 101 and 111), 121 is also a natural followup for students whose interest is sparked by the material in 102.
Attendance, Preparation, and Labs
I will not take “official” attendance, but I will not help students who miss class for no good reason. The textbook is wellwritten and easy to follow, so I encourage you to keep up with the chapters as we cover them in class. A very nice feature of the textbook, which I will mirror in the classroom, is the organization of the materials into short modules of about 10 pages each â€“ equivalent to about an hour of lecture. This means that you can keep up with the course by doing a small amount of reading each night, and coming to class every day. It also means that it will be easy to fall behind and eventually fail if you’re not willing to make this small daily investment of time and effort. I also strongly encourage you to come to office hours. In my experience, the most successful students are the ones who first make a reasonable effort to do the homework on their own, and then come to office hours for help on finishing it.
The single most important aspect of the course is the labs, which is where you turn concepts into working models. Again, the policy is simple: do not miss lab. One missed lab puts you at risk for a bad grade, and two or more mean you’re likely to fail.
As for making up missed exams, quizzes or labs, my rule is simple: You can only make up a missed exam, quiz, or lab if you have (1) a genuine medical emergency, documented by a visit to the health center or other provider; (2) a professional obligation, like an interview for a job or medical / graduate school; or (3) a genuine concern about your ability to travel safely to campus during inclement weather. Please do not waste my time or your own with other excuses; I will not respond to email or other communication involving them.
Optional Final Project
The whole point of modeling is, of course, that you have something interesting that you want to model! You may already be pursuing research that will benefit from what you learn in this course, or something may excite your interest along the way, or you may find a topic of interest in one of the modules that we did not have time to cover. No matter where the idea comes from, you will have the opportunity to spend the final two lab sessions preparing a final project applying what you have learned in the course to modeling some interesting phenomenon. I welcome team projects, but it will be up to you to make sure that everyone contributes equally to both the work and the final presentation. If you decide to do a final project, an email with a paragraph or two outlining your project project proposal will be due by the end of the ninth week (20 March).
Grading
I will determine your course grade as follows:
 Six short exams, occasional quizzes: 30%
 Six problem sets, due midnight Friday: 20%
 Final project or final two labs: 10%
 Lab work, due at end of lab period: 40%
The fast pace of the course means that (with the obvious exception of genuine emergencies) no late work can be accepted, and no makeup exams will be given. As a way of helping with unanticipated emergencies and bad days, I will drop everyone’s lowest lab, quiz, or homework grade. You don’t want to waste this one allowance on anything but a genuine emergency.
The grading scale will be 93100 A; 9092 A; 8789 B+; 8386 B; 8082 B; 7779 C+; 7376 C; 7072 C; 6769 D+; 6366 D; 6062 D; below 60 F.
Here is a histogram of last year’s grades for CSCI 121, to give you some idea of the grade you can expect in this course.
Honor System
The quizzes and homework assignments should be done without assistance from other students. Because scientific research is such a collaborative activity, you may work with another student on the lab assignments and on a final project, but (1) this should be acknowledged in your submission, and (2) you still have another 50% of your grade left to earn on your own, so you want to be sure that you understand your own lab writeup! You’re better off letting me know when you’re having difficulty in lab, so we can work together on improving your understanding of the material.
Submission of Work
Lab work will be submitted as electronic documents copied into your Sakai dropbox folder by the end of the lab period. You will mainly be turning in writeups, which you can create in MS Word, but you will also be turning in other kinds of documents like VensimPLE .MDL and Excel .XLS files. Every document should be named with your username, as well as some other identifying information; e.g., levys_lab1.pdf. You will receive no credit for a document that doesn’t identify you as its author. Homework writeups should also be submitted electronically, either through the turnin folder or as an email attachment (so you don’t have to be on campus to submit it). Because PDF is the standard format for document exchange, you must submit writeups as PDF, not as MS Word .doc or .docx files, for which you will get no credit. To do the conversion, you can use the “Save as / PDF” feature in MS Word; if that feature is missing, there are also free online services like doc2pdf (scroll down to bottom, where it says Convert this document:). I strongly recommend that you keep your own copy of your work in a sensiblynamed folder (usually in your H: drive), so that you can return to it in the future.
Tentative Schedule of Topics and Lab, with Online Notes
Monday 
Tuesday 
Wednesday 
Thursday 
Friday 

12 Jan Week 1 
Course Intro.
Readings: 
Lab #1: Systems Dynamics Tools, Part 1  Quiz #1: Three outside readings  1.2 The Modeling Process  
19 Jan Week 2 
5.2 Errors  Lab #2: Systems Dynamics Tools, Part 2  2.2 Rate of Change  Due: Problem Set #1
Exam #1 

26 Jan Week 3 
2.2 Unconstrained Growth  Lab #3: Drug Dosage  2.3 Constrained Growth  
02 Feb Week 4 
Numerical simulation methods: 6.2 Euler’s Method 
Lab #4: Falling & Skydiving  Numerical simulation methods: 6.4 RungeKutta 4 Method 
6.4 RungeKutta 4 Method
Due: Problem Set #2 Exam #2 

09 Feb Week 5 
Datadriven models: 8.2 Function Tutorial 
Lab #5: Numerical Simulation methods  8.2 Function Tutorial  8.3 Empirical Models  
16 Feb Week 6 
8.3 Empirical Models  Lab #6: Spread of disease & Predator/Prey  9.2 Simulations  Special topic: Monte Carlo Simulation
Due: Problem Set #3 Exam #3 

02 Mar Week 7 
9.4 Random Numbers from Various Distributions  Lab #7: Random Numbers  9.4 Random Numbers from Various Distributions  9.5 Random Walk Simulations  
09 Mar Week 8 
Special topic: Bayesian Modeling  Lab #8: Monte Carlo Area & Random Walks  Bayesian Modeling  SSA Conference: No class
Due: Problem Set #4 Exam #4 (takehome) 

16 Mar Week 9 
10.2 Diffusion & Cellular Automata  Lab #9: Cellular Automata in Matlab  10.2 Diffusion & Cellular Automata  Due: Project Proposals 

23 Mar Week 10 
Intro. to Matlab  Lab #10: Introduction to R  HighPerformance Computing: 12.1 Concurrent Processing 
Exam #5  
30 Mar Week 11 
HighPerformance Computing: 12.1 Concurrent Processing 
Lab #11: Intro to Unix and MPI  HighPerformance Computing: 12.2 Parallel Algorithms 
Special Topic: Sensor Networks
Due: 

06 Apr Week 12 
Sensor Networks  Lab 12: Remote Sensing in Python  Course Evaluations  Exam #6 