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 computational physics course. All STEM majors should take modeling, even those that think of themselves as observers/experimentalists. You should be comfortable with all areas of physics, especially mechanics, statistical thermodynamics, 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. If this sounds scary, do not worry: if you aren't all the way there with all of the above, you will be by the time the semester ends! And, judging by the testimonies of students that preceded you, this may well be the most useful undergrad course you take.
The course consists of two parts: lecture (1.25 hours) and discussion (1.25 hours). In lecture I will present a particular type of problem in physics, and common approaches to solving it. 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 will be 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. Your task is to capture as many details as possible about your path of solving the problem – be it theoretical, practical, computational, or anything in-between. 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 heavily exposed to scientific computing before, I would suggest python, a high-level programming language that comes with the numpy/scipy/matplotlib trinity. Matlab, Mathematica, Octave, R, 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 meaningful, 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. Modeling will transform the way you solve problems. It will be very hard in the beginning and it will take a lot of time. But week after week, as your experience and skill-set grows, you will find that you are spending less and less time on assignments each week.
Course objectives:
Once you have successfully completed 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 by 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 by solving a wide range of problems in physics;
- gain independence and authority in applying numerical methods to a broad range of problems.
Course material:
- Python scipy reference, https://docs.scipy.org/doc
- Python numpy reference, https://numpy.org/doc/stable
- Numerical recipes, http://numerical.recipes
- GNU Scientific Library Manual, http://www.gnu.org/software/gsl/manual
- The Not So Short Introduction to LaTeX, http://mirror.ctan.org/info/lshort/english/lshort.pdf
The use of generative AI
Generative AI chat bots (ChatGPT and similar) are allowed to be used as aid in typing up the reports, with a few caveats. The most important caveat: do not let AI think for you. If it generates the code for you, and you do not understand the code through and through, you will not be able to experiment with it. If you cannot explain the results and the thought logic at discussion in class, that will not reflect well. AI can often make mistakes and you can be mislead – after all, AI doesn’t actually write code: it appropriates it from the open internet. In doing so, it will get things wrong and you may end up chasing those mistakes and burning time when you could be analyzing your results. Finally, you must not use generative AI for writing any part of your report: that is entirely on you. Using AI for writing reports is considered plagiarism and will be treated as such. All that said: generative AI is a tool, much like stack overflow or reddit – if it helps you be more effective, by all means use it. Just do not think it will do the work for you: it will not.
Weekly assignments:
Assignment date | Assignment (pdf) | Due date, 9am |
---|---|---|
Jan 18: | Getting your toolbox ready for modeling (ungraded) | Jan 24 |
Jan 23: | The Kepler problem | Jan 31 |
Jan 30: | The Boundary Value Problem | Feb 7 |
Feb 6: | Population models | Feb 14 |
Feb 13: | Discrete population models | Feb 21 |
Feb 27: | Dynamical chaos | Mar 20 |
Mar 19: | Linear least squares and asymmetric fitting (data) | Mar 27 |
Mar 26: | Linear programming, associated data | Apr 3 |
Apr 2: | Simulated annealing | Apr 10 |
Apr 9: | Fourier transforms and signal processing, associated data | Apr 17 |
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.
Grading:
Good news first: there are no quizzes, tests, or the final. Principles of scientific modeling is a project-based course. Your grade will reflect your effort and commitment to solving assigned problems and writing comprehensive reports. I strongly suggest that you use LaTeX, the de-facto standard for typesetting in mathematical sciences. You must submit your reports electronically, via email, in the pdf format. You should include all pertinent figures and tables, properly captioned and referenced in the text, as well as all used literature. You should never include any code; 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 provide only general comments on the method and/or intermediate results. The reports must be in my mailbox by 9am every Wednesday.
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 report, you can only earn a single point, irrespective of the quality of the work. This is because you will have had ample opportunity to harvest your peers’ ideas during discussion. Thus, it is of utmost importance that you submit your reports on time. If you are unable to submit your report because of an illness or any other justifiable circumstance, you must notify me before the submission deadline and I may 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. Any circumstance that causes you to miss a class needs to be formally excused, i.e. by a doctor’s note, Dean’s approval, etc. Please note that “I visited a health center and they said you can call them to verify” does not count as a formal excuse. In the case of illness, please arrange to see a doctor.
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 |
Attendance:
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:
Working together with your peers is strongly encouraged. Copying from your peers, on the other hand, either code or results or any part of the report, is strictly prohibited. You and you alone are responsible for the work that you turn in: if you cannot explain or justify it during discussion, that is a red flag. The whole point of Modeling is to gain hands-on experience, so do not shy away for it; instead, embrace it and allow yourself to grow even though you feel well outside of your comfort zone. You can do it!
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 standing in class, 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 learning.support.services@villanova.edu as soon as possible. Registration is needed in order to receive accommodations.