3 ms·
Thanks for taking a look! We're definitely not experts so we appreciate critical feedback! I agree Project Lovelace basically tries to do one thing (problem ba
by aliram 8y ago
Thanks for taking a look! We're definitely not experts so we appreciate critical feedback!
I agree Project Lovelace basically tries to do one thing (problem based teaching) without much regard as to what scientific topics would be appropriate for the website. Problem suitability is not something I've thought hard about, I guess we just tried to aim for variety and "rocket science" seemed like a fun way to introduce the rocket equation and how code submission works. But it doesn't really teach you anything about rocket science or how to program. It may actually leave you with misconceptions and bad programming practises as you point out.
Maybe sticking to purely computational science topics might be better, e.g. solving an ordinary differential equation for the trajectory of a projectile, as it would neccessarilly require scientific code to be written and tested which is what the website does. Do you think this will better align with the approach Project Lovelace takes? Or is it more than just the choice of topic/subjects to cover?
The motivation for building the website stemmed from our perceived lack of resources for learning scientific computing, or really how to solve science problems on a computer which forms a large chunk of scientific research. Learning how to simulate the weather is an example we had in mind. We thought a Project Euler approach might actually help a lot since we're big fans, at which point we thought maybe it could be of general interest and started thinking of easier and more varied problems to put up. This may have been a mistake.
While the website is purely recreational right now, we may try to integrate it into a science course in the near future at which point it will be critical to address the fundamental flaw you pointed out. Project Lovelace will always be free and open-source though.
- MrTonyD 8y agoI have only respect for your idea and approach. The tricky part is figuring out where and how to apply it. I think of the time I spent coding "lunar lander" and how I then read a physicist's description about the algorithms that I had implemented. I discovered that all the code I had created was really garbage - it was simplified to the point of fiction compared to anything in the real world. So there is an opportunity cost - what could I have been coding that would have been both instructive as code and for the problem domain too? There are lots and lots of good answers, and probably even more bad answers. First we would have to ask what we want to accomplish from the code perspective as well as from a science perspective. My own personal preference is for mechanics and dynamics - perhaps in a 3D context (so matrix algebra would get involved.) This can be related to real-world things (building failures, game design, etc.) Also both coding and science principles are fairly well understood in that domain (well, it would be relatively easy to explain many of the mechanics issues - such as Feynman did in his well known books. And then there are the recent model failures due to poorly understood energy storage discovered for energy in structures during earthquakes. No models really exist to describe that yet.) And other science areas would certainly work. I don't know "weather", but I'm sure that there are some edge cases where simplified models are meaningful and insightful. The reality is that it is very difficult to create good Training. And if you are trying to do two things at once - teach coding and physics - it is even harder. That is why there are usually prerequisites, so that coding can be taught, and then physics taught. I truly wish you only the best.
- aliram 8y agoThanks again for your feedback! Trying to teach both science and programming is definitely very difficult due to the number of prerequisites required, so we'll try to figure out exactly who might benefit from out website. I suspect we'll end up more on the programming side of things as you write and submit code, while the best way to learn science (in my opinion) is to actually wrap your head around the concepts and go through the derivations (+ read up and understand the experiments). Classical mechanics is not something I've thought of much with linear algebra, I'm still stuck in Lagrangians and Hamiltonians with differential equations but 3D mechanics with matrices would be a good problem to think about. Some simple models do exist for atmospheric science, e.g. for describing frontogenesis, but it usually boils down to differential equations. There are plenty of simple climate models (usually described as energy balance models) that are simple to describe and solve.