Generally speaking, the advice we give students here, at least, is that once you've taken to rigorous courses in software, whether it's CS 50 and some other class or two different courses altogether, generally speaking after learning a bit of procedural programming, which CS 50 teaches and functional programming, which other classes teach or object oriented programming.