Introducing parallel algorithms in undergraduate computer science courses