Beyond the computer science curriculum: empowering students for success

Students learn most of the skills they need for a career in computer science through their college courses, especially the computer science courses. However, there are many skills, many life lessons, and many experiences that students can add to their repertoire in college life that are not defined as part of any particular course or courses. In this paper, we discuss things that are important in becoming a successful professional computer scientist, and how we have tried to empower our students in various areas tailored to computer science students in general, and specifically for students weak in certain areas. In particular, we discuss real-world and hands-on projects, independent study, internships, program verification, and the development of good communication, research, and social skills.