Teaching programming concepts using an icon-based software design tool | IEEE Journals & Magazine | IEEE Xplore