Wanting to give up on Comp Sci (Junior)

<p>Guys, I know this may sound dumb, but I would really like some input. Currently I'm Double Majoring in Computer Science and Japanese. I love both majors, especially Japanese, but now I am a Junior and Computer Science is really stressing me out. The thing about it is that a lot of teachers at my school are BEYOND lazy. Sure college is hard, I don't expect it to be easy, but for the past few semesters I got my run of bad teachers. It's like the college doesn't seem to care whether or not the undergrads learn anything or not, so they just give us any teacher at random and choose them to be our teacher. </p>

<p>I just came off of one really bad semester with a teacher for my CS1 class who was absolutely terrible. She was the only one we could take for the class. She had a 1.5/5 rating on RateMyProfessors. She was going to be the only teacher we could take for at least the next 3 semesters of college (CS2, Discrete, CS3, Assembly), but luckily she retired in the Spring. </p>

<p>I took Calc II this semester and had to drop that class. There was only one slot I could register for and it was early in the morning. In the interest of fairness, I can say that I did learn, but that teacher's grading system was crazy. We didn't know beforehand that even tho we signed up for a normal class that the teacher "essentially" made the class an online course. We had to do our HW on MyMathLab AND OUR EXAMS! She counted tests for 73% of our overall grade. I had a 95.4% overall, failed test 1, and my grade dropped to a 54 in 1hr. I had to drop that course because during Fall break, she pushed the percentage up from 73% to 78% for exams.</p>

<p>My Discrete Math teacher has no idea what she is doing. I'm pretty sure she knows her stuff, but she should've taken a teaching course first. There is one really good teacher in our department that everyone wants, but the Department never lets him teach the class you need. All of the teachers in the department get the work from him. My Discrete Math teacher can't answer any of our questions in class. After 10min, she messed up a proof and said "Where the **** did that extra k+1 come from??? (2-min pause) I'm gonna go ask whoever I got this agenda from and email you guys(someone from another school)." The lady emailed us the proof 2.5 weeks later, like a day before the exam. Then we had a question about a problem on one of our problem sets. We asked her if she could do it on the board and she literally said "Maybe next week". </p>

<p>We have to use Python for Discrete and when we goto labs or do a problem set, we may have a coding part. The first time we had to do a Mergesort vs Insertion sort problem. Well, I was the only person in the class who realized that the merge sort code she gave us didn't actually "Sort", so I emailed her and asked if I did something wrong, showed her the exact code she had given us, and the output, and she literally said "Well it worked for me, try it with smaller inputs". I went to my notes from YouTube and saw that she was missing a lot, so I translated the stuff over to Python and it worked like a charm. No one in the class caught on to it, so they could be penalized whenever the TA graded the work. However, we turned that assignment in sometime in early September. The semester ends next week and we still don't have a grade for it. As a matter of fact, everyone has a 0 for that assignment.</p>

<p>During the Cryptography lab, she gave us the wrong algo again (logical and syntax errors). I caught onto it within 10min, so I told the lab teacher about it and he said there was nothing that we could do about it, and he wouldn't penalize us. When we went to class the next week, we made sure to tell her about it (actually one guy beat me to the punch and asked, but we were the only 2 to speak up). She seriously said "Huh?.....Well it worked for me." (Which was a blatant lie). </p>

<p>She words her questions poorly. Most of the times her problem sets and exam questions are SUPER vague to the point that the tutors can't even help us, so we have to goto her office and ask what exactly she meant. The most recent exam was pretty hard. I actually studied for like a week and a half and made a 54. She didn't curve the grade because someone made a 97. I found out that alot of the kids who actually passed were actually using their phones to browse google to get the answers during the test. Also, when she tells us what to study for the test, the exam is usually different from what she wanted us to study. We took a test last week and she told the class to study like 10 different concepts. I studied them the whole week. One of our classmates ended up emailing her asking for clarity on what we needed to study, and she emailed him something completely different. I spent 3-4 days studying the wrong stuff. Test day came and the exam only contained like 1/3 of the stuff we had to study. Now we have a final exam coming up in two weeks and she gave us 30 concepts to cover for a 6 question exam. She told us to study all the old quizzes, tests, and problem sets (which is right at 60 pgs of stuff, not counting the stuff you study from the book) for a 6 question test......According to her "All of those problems are fair game". When a student asked her if she could go over the answers to the problems we got wrong on the problem sets, she said "No, that's your responsibility, go ask the TA to explain it to you." She ended up feeling guilty and scheduled Monday as a review day but seriously, there is no way you can cover all of those questions in one class!</p>

<p><strong>Conclusion</strong>
I have to take Assembly Lang/Computer Org from my current Discrete Math teacher, and I don't think I can deal with that another semester. I really want to say forget Comp Sci, but I'm like 80% done with my degree (I have like 1-1.5yrs left). My GPA already dropped from a 3.4 to a 2.81 since I've been in the program and tbh I might C my way out this semester. People have been warned that the Math Department at our school runs away a lot of students, and now I see why. I actually had only one good math teacher since I've been at this school, and she was a Grad Student. Should I goto my Department Chair and complain? I feel like if I did that, the teacher would really know immediately who did it, because no one else speaks up. I mean I wouldn't care if this was high school, but once you realize how many loans you have to take out for school and realize that this is the foundation Math for your major, and sit in class and feel like you haven't learned a single thing, something is wrong. I just don't want to get to my upper division courses my senior year and not be able to understand simple concepts I should've learned in prior classes. I don't even feel like wasting my time going to class this week. I may as well just sit in the library and study and browse YouTube videos on the topics listed on the syllabus. My Discrete Math teacher also teaches CS1 at our school and she doesn't like Java syntax. I feel so bad for those kids.They don't know ANYTHING and it sorta pains me to see that. I sat in the lab during their lab hours a few times and those kids don't even know how to use basic conditionals, and the semester is almost over. But I guess if no one complains, they really don't care. If I did drop CS, I would feel like college was a waste. Yea, I could go ahead and get that Japanese degree and go study abroad, but I don't think I can do much with a Foreign Language degree on its own. I was using it to strengthen my CS job opportunities after graduation</p>

<p>Unnecessarily long explanation:
Sometimes, you just have to deal with people who are incompetent *******s. All you can do is move on.
I think you should stick out your degree. Your GPA has already taken a hit. And you’ll be employable with a CS degree- not with a Japanese degree. Much better to graduate with a 2.8 as a CS major than a 3.3 as a Japanese major.</p>

<p>IF you didn’t like CS, then I would think you should switch (since you don’t want it as a career). But it seems like your problem is the teachers. Do your time now and take time to learn on your own, and in two years, you’ll be coding for people you respect. GPA is a lot less important in college than it is in high school. Internships matter more and that comes from GPA and also skill - and it sounds like you have an opportunity to learn on your own and be more skilled than anyone else at your school.</p>

<p>TL;DR - Life sucks. Get over it.</p>

<p>Every CS program seems to have professors who can’t teach. I certainly had a lot of them in my CS program.</p>

<p>CS degrees aren’t easy to get. There was a point every week where I wanted to drop out, but I’m glad I stuck with it.</p>

<p>がんばってください!</p>

<p>Scary thought now that I barely started my program.</p>

<p>Thanks guys. @aluminum_boat, I am indeed sorry for the 3 page life story I wrote lol. I was just ticked off, but like you said, that’s how life is and I’ll have to deal with it. Maybe that’s just their way of weeding out the weak ones early on. I’ll just spend my Christmas break trying to get ahead like I usually do.</p>

<p>@simba9 I’ve had teachers who couldn’t teach, and like 70% of the TA’s in our tutoring center have no clue how to code (which really surprised me). </p>

<p>@econcalc. I’m not trying to discourage you by any means, and I’m sure it’s different throughout every university, so you may enjoy it. It’s just unnecesarily stressful at times (but you have to deal with it). Just make sure you can find somebody reliable to work with, because you meet a lot of lazy people who want to bum work from you (just like any major). I actually had one guy start on his Programming Assignment the day before it was due. When I came back from the bathroom, I saw the guy trying to unlock my laptop and steal my assignment. As a matter of fact, all of the girls in our major dropped and switched to MIS or History. I would recommend joining a CS club at your school and talking to a few of the upperclassmen. That’ll be your most invaluable resource, and sometimes they will be glad enough to help you and even let you know what assignments you have to do beforehand.</p>

<p>If you are able on your own to identify the teacher’s mistakes I wouldn’t drop out of CS. You will eventually move past those teachers and will have gained the ability to perform under extremely trying conditions. That’s not what you want to be paying tuition for but it is what it is.</p>

<p>I agree with aluminum_boat, you should stick with CS. If the situation doesn’t improve you may have to end up dropping Japanese as your second major (settle with a minor) to be able to spend more time on your CS classes.</p>

<p>tl;dr</p>

<p>It is suspicious when someone is whinging on about how all the teachers don’t know what they are doing. But if your teachers are that incompetent, have you considered transferring?</p>

<p>It is not unusual for classes to be scored 25% hw, and the rest just the midterm and final.</p>

<p>My homework is generally worth almost nothing. For instance, in one course homework/quizzes make up 10%, 60% the 3 midterms, and 30% the final.</p>

<p>Your CS degree will be 30x more employable.</p>

<p>Stick with it. When you get a difficult professor, you need to be a walking CS manual and be on top of your stuff.</p>

<p>At this point, you aren’t supposed to be relying on the teachers to teach you anything. I think that is actually a plus. I’ve gotten teachers where I’ve literally learned nothing from them. I usually just chose to skip class entirely for that quarter until midterms and spend time teaching myself if they didn’t take attendance. I always attended 99% of the lectures for a good teacher, regardless if I actually needed to go to class. </p>

<p>Sometimes you have no choice. You need to be able to teach yourself. No one is going to teach you much of anything on the job.</p>

<p>@OP</p>

<p>In the worst case you could switch to IS, and then you won’t have to take as many maths. Plus with that degree, you can do most of the jobs that the CS people can do as well. </p>

<p>@simba9</p>

<p>Yeah, I know what you mean, my college’s computing department has a lot of lousy teachers as well. I’ve just decided that from here on out, I’m just gonna pay out of pocket for professional tutoring. </p>

<p>I’ve never really understood it either. I mean, I’m taking ridiculously hard, and highly technical classes, and when I don’t grasp the material, the teachers look at me as though I am a fool. It really ****es me off, and makes me want to quit the program. However, I’m still in it.</p>

<p>As a student you have the privilege of talking about these issues with counselors and escalating it to higher up people if needed. Talk to classmates to make sure you have at least a few other people who agree with you. If the school has no other faculty, then unfortunately there’s not much that can be done.</p>

<p>Sort of case in point: My first year I had a horrible CS professor that made me consider dropping out of CS (I’m glad I stayed in). A few classmates that had been programming for years and got 5’s on AP CS even said that they were having trouble understanding her. Near the end of the semester we had to fill out evals, so they were handed out and the professor left the classroom for a few minutes. As soon as she left a classmate yelled out, “I’m writing she ****ing sucks. Who’s with me?” Suffice to say, since then she has not taught any undergrad CS classes.</p>

<p>TL, but I read all of it anyway. I would recommend seeking help from the Internet, since your teachers are so useless (which you won’t be able to do much about). The online coding community can be quite hostile, but since you’re past the newcomer stage you’ll be able to avoid much of this.</p>

<p>^ I’ll add on to that, read the book. For the same class from my previous anecdote, sometimes I would skip class (attendance didn’t matter) and go to the library and read the text book instead. From when I started doing this, my grade improved significantly.</p>

<p>Of course, your situation may not fit any of these, but hopefully something is helpful.</p>