Specialized course work may help with employment in that specific area, but strong foundational course work (including most of the more advanced courses listed in reply #3) will allow one to better handle changing technologies and difficult problems that will require continuing self-education through one’s career. The specialized course work should be looked at as electives to add in addition to the core advanced courses in the major whose concepts are used widely in the development of computers and their software.