This repository has been archived by the owner on Jan 27, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Timeline and Skeleton
Alexander Kluber edited this page Aug 20, 2016
·
10 revisions
We have discussed before that most physical problems can teach any programming concept, so we have decided to brainstorm which programming concepts we want to teach first then assign relevant physical problems. Of course some physical problems are easier than others and should come first chronologically.
-
Tier One
- Logical operations. Conditional statements.
- Data structures. What is a list versus dictionary.
- Syntax.
- Loops/iterations.
-
Tier Two
- Scope.
- Functions. Refactoring.
- Objects.
-
Tier three
- Objects
- Modules. Import. Namespaces.
- What programming concepts do we want them to understand by the end of the course?
- What makes our course different than other courses?
The first half of the course will focus on mechanical problems, such as projectile motion, harmonic motion, and pendulum, the second half of the course will be molecular dynamics related. Keep everything in 1D.
- Setup.
- Intro and motivation
- Conda or Cloud 9
- Projectile motion
- Introduce Tier one concepts: syntax, logic, data structures, loops.
- Projectile motion with air resistance
- Introduce functions.
- Develop Tier one concepts.
- Harmonic motion spring or pendulum
- Develop Tier one concepts.
- Harmonic motion pendulum solving nonlinear equations
- Develop Tier one concepts.
- Using outside libraries.
- Stochastic motion.
- Random walk.
- Introduce Tier two concepts: refactoring, functions.
- Diffusion in a potential.
- Generating trajectories with Brownian motion
- Diffusion in a potential
- Diagonalizing diffusion operator.
- TBD
- TBD
- TBD
- TBD
- TBD
- TBD
- Social coding, documentation, version control.