Most jobs I’ve looked into require at least a bachelor’s in computer science, but that’s the very minimum. You also need to have work experience and internships to put on your resume that relate to the job you’re applying for. I know there’s a lot of self-taught programmers who say that a college degree is a waste of time, but they’ve been programming for years (just for FUN), and they’re really self-disciplined. Judging from your posts, it doesn’t sound like you have either of these traits. I feel like higher level CS courses are meant to weed out people who just ‘don’t get it.’ If you aren’t doing good in these (but are still interested in CS), you might want to change your study habits or even retake some lower level classes so that you can build a stronger foundation and see what you missed the first time around.
I’ve found myself going back to this article all the time and following the links to see what things I need to know by the time I graduate. Just going through classes and passing with C’s won’t get you anywhere. This othergood article explains the difference between coders with degrees and without. There’s a lot of good arguments for getting a degree: you 1) learn how to code, 2) learn how to learn new languages, 3) learn a variety of languages, 4) learn how to write, 5) learn how to document, 6) learn important concepts, 7) get a good mathematical foundation, 8) learn about what you’re good at and what you need to work on, and 9) learn what fields you are and are not interested in. A lot of this can come from classes, reading and practicing, and work experience. On top of all these computer-related skills, you’ll also learn everyday skills: how to live on your own, budget money, work in teams, etc.
But what are the arguments for not finishing your degree? There really aren’t any. You might have more free time to waste, or you might get a job in the field you want (but won’t that be really unlikely?) - on top of that, you won’t be able to quit if, for some reason, you don’t like your job (if you don’t have another one). How will you support yourself? How will you make it to a bunch of day-time job interviews?
Anyways, it’s a bad idea to just drop out because you had a bad semester.