For decades, computing speeds seemingly doubled every 24 months by increasing the clock speed and giving software a "free ride" to better performance. This free ride, however, effectively ended by the mid-to-late 2000s. With clock speeds having plateaued and computational horsepower instead increasing due to increasing the number of cores per processor, the vision for parallel computing, which started more than 40 years ago, is a revolution that has now (ubiquitously) arrived. In addition to traditional supercomputing clusters, parallel computing with multiple cores can be found in desktops, laptops, and even mobile smartphones. This ubiquitous parallelism in hardware presents at least two major challenges: (1) difficulty in easily extracting parallel performance via current software abstractions and (2) difficulty in delivering correctness -- as even without parallelism, software defects already account for up to~40 percent of system failures. Consequently, this paper presents preliminary research that reduces the learning curve to parallel programming by introducing such concepts into a visual (but currently serial) programming language called Snap!. Furthermore, the proposed visual abstractions automatically generate parallel code for the end user so as to better ensure that the resulting (text-based) code is correct.