Parallel programming, as the name suggests, is just a program running in such a way that instances of that program are running simultaneously multiple times.
Concurrent programming, on the other hand, is very similar to parallel programming, but with the difference that tasks never happen together.