Vitals
- Course Number and Title: PHYS 1510: Mathematical Methods of Physics.
- Catalog Description: "This course is an introduction to mathematical methods in physics. Topics covered include using spreadsheets (Excel), algebraic languages (Mathematical[sic]), and interpreted languages (Python) to solve basic physics problems. Elementary numerical methods and scientific visualization is also covered. Topics of coverage may include: approximation techniques, numerical differentiation and integration, matrices, complex variables, and solution of transcendental equations." (North Park University 2009)
- General Education: This course does not satisfy any General Education area requirements.
- Meeting Time/Place: MW 1 pm–2:05 pm (Carlson Tower, Room C-21).
- Credit: 2 sh.
Instructor
- Name: Johnny Lin.
- Email: johnny at johnny-lin.com (Replace "at" by "@". This is the best way to reach me).
- Twitter: jwblin (I'm not on the public timeline, however).
- Work Phone: (773) 244-6266.
- Office Location: Carlson Tower, Room C-26.
- Office Hours: See my schedule for my regular office hours, make an appointment to see me, or just drop in if my door's open.
- Personal Link: http://www.johnny-lin.com.
- My RateMyProfessors.com Rating.
Texts & Supplies
Required texts:
- De Jong, Marvin L., Mathematica for Calculus-Based Physics, Addison-Wesley, 1999, ISBN 020160339X.
- Martelli, Alex, Python in a Nutshell, 2nd Edition, O'Reilly Media, 2006, ISBN 0596100469.
- Siever, Ellen, et al., Linux in a Nutshell, 6th Edition, O'Reilly Media, 2009, ISBN 0596154488.
All texts are required and are available at the bookstore.
Computer requirements: All students are expected to have unfettered access to a personal computer (Windows, Mac, Linux, etc.) or netbook with broadband-speed Internet access. Student access to University computing labs fulfills this requirement. All students are assumed to be proficient with a word processing program and a presentation program (e.g., Microsoft Word and Powerpoint), and willing to learn a spreadsheet program (e.g., Microsoft Excel). All students must have a valid email account that they check on a daily basis.
See the list of External Links for additional resources on the subjects of the course.
Goals & Topics
Goals: First and foremost, I hope you will discover a new dimension of worshiping God through both the process and content in learning about using computational tools.
At the end of this course, you should also have developed the rudimentary tools needed to use computational tools to do research in science. This course is not a programming course per se but rather focuses on using computer programming skills to solve scientific problems. My hope is also that during this course you will grow in learning how to learn (see the External Links page for some tips on learning).
Our class motto is: "The right tool for the job."
Topics: Course topics include:
- Tasks in scientific computing.
- Basic numerical methods (implemented on a spreadsheet).
- Basic exploratory statistical data analysis (implemented on a spreadsheet).
- Simple problem solving and dynamics modeling (implemented in Mathematica).
- Basic operating system theory and structure.
- Everyday use of the GNU/Linux operating system (filesystem, permissions, search, piping, redirection, etc.).
- Text editors (vi).
- Shells and shell commands and scripts (bash).
- Scripting and interpreted languages for calculations and analysis (implemented in Python).
Requirements
Homework: The Assignments List contains details for most homework assignments. The Schedule gives assigned and due dates, as well as the details about homework not described in the Assignments List.
Quizzes: Weekly, on Wednesdays. In-class, various formats.
Final exam: Friday, May 7, 10:30 am–12:30 pm. In-class and comprehensive.
Please note that learning programming cannot be crammed in. (In contrast, once you have learned how to program, you can write a program in an all-night frenzy if you want.) You must start the assignments early and see me promptly if you get stuck. Otherwise, you will likely go around in circles wasting time and energy.
Grading
Your course grade is calculated based on the following formula:
If you have turned in no less than 60% of the Homework and taken
no less than 60% of the Quizzes, I will
replace your cumulative Quizzes grade with your Final Exam grade if
the Final Exam grade is higher.
Scale: The chart below shows the lower-end cutoffs for each
possible passing letter grade. The University, as a policy, does not award
A+ grades.
There are no makeups for quizzes, exams, or presentations/demonstrations
unless for reasons of
physical health, bereavement, or University business.
Work is accepted only in class. Work turned in any other way without
prior arrangements being made may
have 10% automatically deducted from it.
It may be considered late anytime after it is collected in class.
Work late:
Late penalties are waived for reasons of
physical health, bereavement, or University business.
Please see me/send me an email if something like this comes up.
As with any relationship, I expect honesty, respect, and grace to
be the foundation of our time together. I expect this for myself, as
well as for you. Collaborating in work is a wonderful opportunity to
practice all three principles. Cheating, however, is an affront
(to the first two) or an abuse (of the last) of these norms, and so
will result (at a minimum) in a zero for the Assignment involved.
If you are not sure what constitutes cheating, please ask me;
here are some guidelines to help you on this issue:
While I make solutions inaccessible on class websites after the class
is over (to decrease temptations to cheat), our department is small,
and so you probably know someone who has taken this class before
and has copies of exams, problem sets, and/or solutions.
I also have a policy of giving
students solutions to as much work as I can
because I want students
to use their old work in studying for the final
(or other exams).
Thus, I realize that solutions are
potentially in circulation.
However, I ask that current students limit their consultation
of work from previous sections in certain ways.
Here are specific scenario categories:
For example, if you have a friend who took this course before
and you consult his/her problem set solutions while
studying for an exam, that does not constitute cheating.
However, if you consult those problem set solutions
while working on that problem set, that does constitute
cheating.
I believe these are reasonable guidelines that balance a
number of competing interests, and that do not constitute an unfair
burden on conscientious students. Recall that I do not curve grades,
so dishonest students really are hurting themselves and God,
but not other students. Please let me know if you have any concerns.
The Internet and Programming: The Internet is one of the greatest
programming helps ever invented. Almost any programming problem can
be solved using Google. That being said, you still need to take
care not to plagarize another's code. Here are some guidelines:
"Students with disabilities who believe that
they may need accommodations in this class are
encouraged to contact the Academic Services Learning Specialist by email
or by phone at (773) 244-5737, or stop by the office located on the 2nd
floor of the Student Services Building. Please do so as soon as possible
to better ensure that such accommodations are implemented in a timely
manner. If needed, appointments can be relocated"
(North Park University 2009).
More information is available online at
http://www.northpark.edu/disability.
This schedule of assignments is sorted forward-chronologically.
All work is due the following class session after it was assigned,
unless otherwise noted. (Assigned work that says "not collected" is
due the next class session, but will not be turned in for credit;
those assignments are to help you learn what you need to in order to
do the later assignments.)
The list on this schedule
includes all those on the Assignments List
(except Extra Credit, which is described only on the Assignments List)
as well as exercises from readings and tutorials that are not
included on that list.
As an additional resource,
I've compiled a list of external links
to supplement the readings and exercises.
Class Date Description 1 Mon. Jan 11 Topics:
Course administration,
introduction to scientific computing,
introduction to spreadsheets (references, names,
copy/paste, fill down).
Assigned:
Basic Excel Tutorial
assignment.
2 Wed. Jan 13 Topics:
Using spreadsheets to solve
equations through iteration and graphing.
Assigned:
Iterative and
Graphical Solutions of Equations
assignment. — Mon. Jan 18 No class—Martin Luther King, Jr. Day 3 Wed. Jan 20 Topics:
Quiz 1.
Numerical differentiation and integration using spreadsheets.
Assigned: 4 Mon. Jan 25 Topics:
Exploratory statistical data analysis using spreadsheets.
Assigned:
Exploratory Data Analysis
assignment.
5 Wed. Jan 27 Topics:
Quiz 2.
Introduction to Mathematica:
Go through the built-in Mathematica tutorials
"Your First Mathematica Calculations"
(tutorial/YourFirstMathematicaCalculations in the
search bar of the Mathematica documentation window)
and "The Syntax of the Mathematica Language"
(tutorial/TheSyntaxOfTheMathematicaLanguage)
and the
"Hands-on Start to Mathematica" screencast in class.
Assigned:
Solving Problems
assignment.
6 Mon. Feb 1 Topics:
More solving problems in Mathematica.
Assigned:
More Problems and Functions
assignment.
7 Wed. Feb 3 Topics:
Quiz 3.
Simple dynamics modeling using Mathematica.
Assigned:
Simple Dynamics Modeling
assignment.
8 Mon. Feb 8 Topics:
Vector calculations using Mathematica.
Assigned:
Vector Calculations
assignment. 9 Wed. Feb 10 Topics:
Quiz 4.
Set up GNU/Linux accounts on snow,
set-up shell environment (copy .bashrc and .bash_aliases
from /home/jlin),
introduction to computing, GNU/Linux commands, getting help.
Assigned: None of these assignments will be collected.
However, you ignore them (and all uncollected
assignments) at your own peril!
The material that's covered will be crucial for later
assignments: Mon. Feb 15 Topics:
GNU/Linux commands (cont.),
text editors, regular expressions. Assigned: None of these assignments will be collected: Wed. Feb 17 Topics:
Quiz 5.
Scripting, processes, piping, redirection.
Assigned: Assigned: None of these assignments will be collected: Mon. Feb 22 Topics:
Accounts, remote services, permissions, links. Assigned: Wed. Feb 24 Topics:
Quiz 6.
Introduction to programming,
code documentation, Python elements,
functions. Assigned: Mon. Mar 1 Topics:
Functions and modules. Assigned:
Keyword Input Parameters
assignment. Wed. Mar 3 Topics:
Quiz 7.
NumPy arrays and array looping. Assigned:
Transposing Arrays
assignment. Sat., Mar 6–Sun., Mar 14:
No class—Spring Break
Mon. Mar 15 Topics:
Array operations. Assigned:
A Slope Function
assignment.
Wed. Mar 17 Topics:
Quiz 8.
Array operations (cont.). Assigned:
A Distance Function assignment. Mon. Mar 22 Topics:
Array masking and search functions. Assigned:
The Where Function assignment. Wed. Mar 24 Topics:
Quiz 9.
Array masking and search functions (cont.). Assigned:
Array Masks assignment. Mon. Mar 29 Topics:
Array masking and search functions (cont.),
floating point comparison. Assigned:
A "Has-Elements-Close-To" Function
assignment. Wed. Mar 31 Topics:
Quiz 10.
Array masking, search functions, and
floating point comparison (cont.). Assigned:
A "Where-Is-Close" Function
assignment. — Mon. Apr 5 No class—Easter Break Wed. Apr 7 Topics:
Quiz 11.
More complex array operations. Assigned: Mon. Apr 12 Topics:
Review of non-object Python, object-oriented
programming. Assigned:
Read this definition
of what is an object (not collected). Wed. Apr 14 Topics:
Quiz 12.
Object-oriented programming. Assigned:
Object Decomposition
assignment. Mon. Apr 19 Topics:
Object-oriented programming (cont.). Assigned:
Bibliography Object
assignment. Wed. Apr 21 Topics:
Quiz 13.
Object-oriented programming (cont.). Assigned:
Distance Calculation Object
assignment (due Wed. Apr 28). Mon. Apr 26 Topics:
Object-oriented programming (cont.). Assigned:
Nothing new. Wed. Apr 28 Topics:
Quiz 14.
Object-oriented programming (cont.). Assigned:
Curl Calculation Object
assignment. Mon. May 3 Topics:
Object-oriented programming (cont.).
Any and all extra credit is due today
(see the description at the top of
the Assignments List
for details). Assigned:
Nothing new. Fri. May 7 10:30 am–12:30 pm: Final Examination.
For details regarding all other course administration issues
(e.g., dropping the course, conditions under which Incompletes are
awarded, etc.), please see the current
University Catalog.
Lower Cutoff
(inclusive)Letter
Grade
94%
A
90%
A–
87%
B+
84%
B
80%
B–
77%
C+
74%
C
70%
C–
67%
D+
64%
D
60%
D– Makeups & Late Policy
Collaborating
Disabilities
Schedule
#
bunzip2 to
decompress it, then tar to unwrap the
archive. The index.html file in the rute folder is
the title page of the book.
We will be reading a number of selections
from Rute User's over the course of the term. 10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
—
Other Course Administration Issues