AST 3148: Principles of Scientific Modeling

Please refer to this page for the latest updates on the course information and material. The syllabus in electronic form is available here.

Course description:

Principles of Scientific Modeling is a capstone course dedicated to solving real world problems. The course carries an AST designation, but in reality it is a physics course, so brace yourselves. You should be comfortable with all areas of physics, especially mechanics, statistical thermodynamics, optics, E&M and modern physics. A strong background in mathematics is very desirable, especially calculus, vector/matrix algebra, solving differential equations, integration, minimization and optimization. If you haven't already, you will become best friends with your computer, as numerical/computational mathematics is the foundation of scientific modeling. Scared yet? No need – if you aren't all the way there with all of the above, you will be by the time the semester ends!

The course consists of two parts: lecture (1.5 hours) and discussion (1.5 hours). In lecture I will present common approaches to solving a particular type of problem in physics. Every week I will assign a problem that you are required to solve in one week and hand in the typeset results. All results, caveats and lessons learned are discussed at length in class. You will all be assigned the same problem but, although interaction and discussion is encouraged, you are required to work on it independently. Reports must be typeset (LaTeX is strongly encouraged), figures and tables properly formatted and equipped with captions. I will put all interesting results in a presentation and we will discuss them jointly in class.

For solving problems you can use whatever programming/computing environment you feel most comfortable in. If you have no preference or have not been exposed to scientific computing before, I would suggest python, a high-level programming language that comes with the numpy/scipy/ matplotlib trinity. Matlab, Mathematica, IDL and other environments might also be very useful. Please stay away from Excel and other spreadsheet-type tools.

This course aims to offer a joyful, meaningful, and empowering experience to every participant; we will build that rich experience together by devoting our strongest available effort to the class. You will be challenged and supported. Please be prepared to take an active, critical, patient, and generous role in your own learning and that of your classmates.

Course objectives:

Once you have successfully completed the Principles of Scientific Modeling, you will be able to:

  • synthesize the physics/mathemathics background knowledge to describe a complex problem;
  • solve such a complex problem using analytical, numerical and approximate methods;
  • write professional-grade reports and discuss your findings/results in-class among your peers;
  • gain an extended knowledge and experience solving a wide range of problems in physics;
  • gain independence and authority in applying numerical methods to a broad range of problems.

Course material:

Weekly schedule (subject to change due to University closures or unforeseen events):

Jan 14: Getting your toolbox ready for modeling
Jan 16: Ordinary differential equations and the Kepler problem
Jan 21: The restricted and non-restricted 3-body problem
Jan 28: Dynamical chaos
Feb 4: Continuous population models, associated census data
Feb 11: Stochastic (Markovian) population models
Feb 18: Simulated annealing
Mar 10: Linear programming, associated data
Mar 17: Symmetric and asymmetric least squares fitting, spectrum of Vega
Mar 24: Spectral analysis, correlation and convolution, theory, associated data
Apr 7: Artificial neural networks, link to MNIST and theory
Apr 14: Individualized assignments

Solving problems and writing reports:

For solving problems you can use whatever programming/computing environment that you feel most comfortable in. If you have no preference or have not been exposed to scientific computing before, I would suggest python, a high-level programming language that comes with the optional scipy module. Matlab, Octave, Mathematica, Maple, IDL and other environments might also be very useful.

Reports must be typeset. I strongly suggest that you use LaTeX, the de-facto standard for typesetting in mathematical sciences. You may submit your reports either printed or electronically, via email, in pdf form. You should include any pertinent figures and tables, properly captioned and referenced in the text, as well as all used literature. You should never include any program listings -- only discuss the results. If you want to discuss implementation details, make sure you avoid any technical details that would pertain to any given environment and give only general comments on the method and/or intermediate results. The reports must be in my mailbox (physical or electronic) by 9am on the due date.


Good news first: there are no quizzes, tests, or the final. Modeling analysis is a project-based course.

Every assignment is graded on a scale from 1 to 5 points. Minimal effort will earn you 2 points. 4 points constitute 100%. I will award full 5 points for exceptional work. If you are late submitting the homework, you will get a single point, irrespective of the quality of the work -- this is because everyone has ample opportunity to harvest other people's ideas during discussion. Thus, it is of utmost importance that you submit your reports in time. If you are unable to submit your report because of an illness or any other serious situation, you must notify me before the submission deadline and I will either extend the deadline for you or drop that problem from your grade-sheet. If you notify me of your absence after the fact, it will not be excused unless you were demonstrably unable to contact me.

The grading will be done according to the following breakdown:

0-56% F 68-72% C- 84-88% B
56-60% D- 72-76% C 88-92% B+
60-64% D 76-80% C+ 92-96% A-
64-68% D+ 80-84% B- 96-100% A


Regular attendance is essential for completing all class assignments. Please arrive to class on time. If you are more than 10 minutes late to the discussion part of the class with no prior arrangement, your work will not be discussed in class. Note that auditing this class makes little sense as it is earned experience that you will benefit the most.

Commitment to Equity:

The Department of Astrophysics and Planetary Science (APS) considers Diversity and Inclusion to encompass true and complete equality of gender, gender identity, race, sexual orientation, disability, spiritual values, political beliefs or nationality. We are committed to treating all students, staff and faculty in a dignified manner, where we celebrate diversity and highlight its principal role in enriching our academic, professional and personal lives. We commit to respect, recognition and support for the achievements, talents and successes of everyone in our community, irrespective of any human differences.

Academic integrity:

Finally, here goes the standard blurb: any violation of the Code of ethics will be grounds for failing the course. Any cheating, copying, duplication of work, etc, will result in a 0 for that lab assignment. A repeated offense will cause you to fail the entire class. If you have any concerns about your performance, come talk to me in due time and we will figure it all out.

Special needs:

It is the policy of Villanova University to make reasonable academic accommodations for qualified individuals with special needs. If you are a person with a special need please contact me after class or during office hours and make arrangements to register with the Learning Support Office by contacting 610-519-5176 or at as soon as possible. Registration is needed in order to receive accommodations.