About Project Lovelace

What exactly is Project Lovelace?
Project Lovelace is an open online platform for learning about science and developing computational thinking through programming and problem solving. It is a collection of computational science problems and tutorials taken from all branches of the natural, social, and mathematical sciences. Each problem teaches a scientific application (e.g. locating earthquakes, DNA splicing) and requires the use of scientific insight and some programming skills to solve. Tutorials teach computational methods that students and researchers may find useful (e.g. solving differential equations, Bayesian inference) and may be required knowledge for some problems. Lovelace draws inspiration from similar projects such as Project Euler and Rosalind.


Who was Ada Lovelace?
Brief mention. Link to YouTube documentary and NYT obit.


Why call it Project Lovelace?
... So other options would have been Project Babbage. Or Project Richardson. Or...


Where's the best place to start?
Overview of different kinds of problems. Depends on your skill level.


Do I need to know a lot of science and math?
We try to go for some mathy and some non-mathy problems. Math is unavoidable in scientific computing. But we'll try to give an intro and link to good resources so that you can solve the problem on your own.


What is the logo supposed to be?
Short answer: An artistic rendering of one of the hydrogen atom's atomic orbitals inside curly braces (science + programming!). Longer answer: ...

Why make another programming website when there are so many others?
Project Euler is basically for recreational math nerds. Problems are very well thought out and you can learn a lot, but somewhat contrived. Other websites like Leetcode (and many others) just teach super boring and generic algorithms that may be most useful for technical interviews but not so much in the real world. Since there are so many interesting real-world/applied problems in all branches of science we think this is a really good opportunity to learn both science and programming at the same time.


Can I post my solutions online?
We think the most enjoyable part of solving the problems is that moment when you figure out how to finally solve it. Spending the time and effort on problem solving is what makes you a better scientist and programmer. So in an ideal world everyone would figure out each problem themselves, maximizing their learning. But people will always post their solutions online no matter what we say, and some people can learn from solutions especially after being stuck for a while, so all we ask is that if you do post your solution online that you post quality work: well-documented and efficient code that others can learn from by following your code. A lot of our problems are well-known and not neccessarily original so there are probably already many solutions posted online for those.

To differentiate between users who submit their own solutions and users who copy and paste code we'll be implementing a plagiarism detector that compares your submission to other submissions.


I don't like something, or have a suggestion or idea for a new problem, or something is broken.
Feedback page.