Parallel, Distributed and Network-based Computing: an Application Perspective