Current Problems in Modern CompSci Programs

  • (4 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »

48 Replies - 3912 Views - Last Post: 10 May 2009 - 03:06 PM

#1 BlakeJustBlake  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 26
  • View blog
  • Posts: 441
  • Joined: 15-February 09

Current Problems in Modern CompSci Programs

Post icon  Posted 16 April 2009 - 09:47 PM

I've been a Computer Science major for about two years now, and after analyzing several schools' CS programs, I've come to some conclusions about how most modern CS degrees are extremely flawed.

First of all is that most of the professors in the field didn't have English as their first language. I'm not going to say foreign PhDs shouldn't become professors in the US, but they should have a certain level of ability in communicating with native English speakers. Most of my CS and Math classes have been taught by Asian or Indian teachers who constantly made mistakes they probably wouldn't have made if they were speaking in their native tongue. Plus, asking them questions for clarification or otherwise is pretty much pointless, they'll either misunderstand the question and go off on an unrelated tangent or just generally not understand what's being asked.

Second, a lot of the classes are language centric/dependent. Either the teachers have to spend half a semester teaching the language, or the whole class is solely about the language. My first few classes were an introduction to Java, and now my classes have been introductions to C++. I've learned more about Computer Science in my Math classes than in all of my Computer Science classes combined. Another downfall of this is that a professor isn't going to be an assured Java/C++/whatever language guru. I've spent enough time in class correcting the teacher on C++ syntax nuances that I've stopped going to class. Also, a teacher will spend a good chunk of class time getting a program to compile/fishing through errors for missing semicolons and so on. We should be taught more about algorithms, data structures, and etc. in our introductory CS classes and told to use pseudo-code instead of learning languages. Also, there is an AI class at my school that has a prerequisite of a class that just teaches you Prolog.

Everyone wants to be a game programmer, this isn't really a complaint against CS programs rather the majority of the people that I've met in them. The majority of the time if I talk to a fellow CS student about why they became a CS student it's either something like "Yeah, I always liked video games and stuff and was kind of alright with computers (i.e they could install a video card and knew how to boot in safe mode) and I didn't really know what else to do" or "I love video games, and that's all I can really think about doing is something involved with video games." Hell, at the beginning of the semester in my current CS class my teacher asked every student to say something about themselves and most of them said they were planning to be game devs. There's nothing wrong with wanting to go into that field, but the problem is that most of these students are the lowest percentile as far as skill goes. They're just in it for all of the wrong reasons, and hardly ever get employed in the job they desire if they make it past all the math classes and can bare to get through all the classes they never expected to take. The only good thing that comes out of these students is that every once in awhile one will explore the field and see that more than their limited scope exists and that they fall in love with.


Don't get me wrong though, there have been some good points about most CS degree programs I've come in contact with so far like large availability of research opportunities even for undergrads. Also, whenever I finally am taught something, it's always very interesting. Plus the library is always full of interesting books, but it just seems like I would've done a lot better to get a Math degree with Programming as an extracurricular interest that I learned in my own time.


Does anyone have any additional comments about modern CS programs, be it problems you've had with your own CS program or refuting a point I've made?

Is This A Good Question/Topic? 0
  • +

Replies To: Current Problems in Modern CompSci Programs

#2 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3106
  • View blog
  • Posts: 19,145
  • Joined: 14-September 07

Re: Current Problems in Modern CompSci Programs

Posted 16 April 2009 - 10:16 PM

Very nice post. I definitely learned more about computer science in my Discrete Math/Structures class then I did in any intro to [insert language].
Was This Post Helpful? 0
  • +
  • -

#3 ccubed  Icon User is offline

  • It's That Guy
  • member icon

Reputation: 162
  • View blog
  • Posts: 1,407
  • Joined: 13-June 08

Re: Current Problems in Modern CompSci Programs

Posted 16 April 2009 - 11:03 PM

The problem with using a standard language is two fold. To begin with, if you're taking computer science, then it's theoretical. Computer Science is not Code-4-life stuff. It is the theory and practical applications behind the programming. If I had to have an analogy, Computer Science is the compiler of Computer programming/IT. Yeah, I know, nerdy. :) Anyways, so moving on to the point I'm making, because it is theory, you're expected to be able to learn languages and how some outshine others in applications. Can I make a number squaring program in Python? Sure, but why would I when C++, C or even Fortran have a much higher proficiency in number calculations like that than python is. So in that regard, you learn the languages because you're expected to know a few once you graduate.

Second part of this problem is that you absolutely have to know a computer science language to properly teach any of the theory. Sure, I can teach you about Data Structures and Algorithms all day long, but doesn't being able to see and interact with them make it that much more easier to understand? This satisfies all the learning types, from doing to hearing.

Another problem is that once you select language X as your primary language, you're effectively selling yourself short. Oh, well now we have to spend an entire class periods jumping through hoops in language X so that we can do Y, whereas if we had language Z then we could do Y without hoops. So I guess this corresponds to your ideas about teaching theory rather than languages. Except, I would never accept a CSC curriculum without learning at least one language.

Onto my next part, So you have a CSC degree without languages. That doesn't make sense. Unless you learn to code directly in machine code (so ... no, not even going to say anything about it) you'd have to eventually pick up a language to do anything with all of this theory you've learned. So it just makes sense to tackle it sooner since CSC is intrinsically about the science behind programming.

As for the game programming thing, well, let's face it. Game programming is by and far one of the more lucrative tasks and more importantly, most people relate to it. Oh, yeah, I killed that guy with one shot...Wait, I want to know how they coded that. It serves as a catalyst for some people. I don't necessarily think it's wrong, but I do think they should go to a college like UAT or take a game programming/game design degree somewhere. Me on the other hand, I'm just weird. I hate game programming. Yeah I know. :P I absolutely love anything to do with Mobile, Desktop, Application, Database, Web Service programming and deployment. I'm totally an application guy. If you come up to me and asked if I'd rather develop the newest game or the AI Voice OS, guess which one I'd choose. (AI FTW)

As for the language barrier, I can't really say that's the case, at least for me. My professors are mostly American or have been in America long enough to speak English well. Though I know this varies by school because I have met some people in other schools that I have to strain my ear to understand.

All in all, now that my rant is done, I both agree and don't agree. Yes, the courses are sometimes boring and they involve languages I already know. Such as my introductory courses, which all take C++, which I've been using for 6+ years. I don't complain though, it's a free A+ and I show up for class anyways because I do learn some new things, such as pointers (I really never understood them until my data algorithms and structures class). So cheers to CSC and wall-o-texting. Sorry for the large reply :)
Was This Post Helpful? 1
  • +
  • -

#4 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10660
  • View blog
  • Posts: 39,577
  • Joined: 27-December 08

Re: Current Problems in Modern CompSci Programs

Posted 17 April 2009 - 07:14 AM

I think sexism is a HUGE problem. I'm in a high school CS program, and the teachers favor the girls. They'll ask for answers to test questions, and they'll get it. But when the guys ask, we don't get any answers at all. Weak teachers are another problem. We've got a preschool teacher teaching Database, Java and PM. He is an epic fail. Some of the other teachers expect us to teach it to ourselves or read and be ready to quiz on the material. For example, read the CSS section from W3schools.com and be ready to write it successfully. That's not fair to the students.
Was This Post Helpful? 0
  • +
  • -

#5 du_jleon  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 33
  • Joined: 26-March 09

Re: Current Problems in Modern CompSci Programs

Posted 17 April 2009 - 07:19 AM

I am a currant student who is in a CS program, I was going to just stick to networks but when I had my first intro class to C#/Java/VB, I fell in love and want to become a developer of web and/or software not so much gamming but anything else.
I had only one professor that English was the 2nd language and I know what you mean. We just did not understand each other and I felt he only knew a little more than me. He made errors all the time and thank god there was a student in the class that was more knowledgeable than him.
Now that I know programming is what I want I really do not feel the class I am taking are truly helping me in programming. I am getting a better concept and theories of the science of computers and I get all that. However, I want to know what other class/ “electives” I should take besides discrete math that can help me in my chosen field? Any help would be appreciated. :)
Was This Post Helpful? 0
  • +
  • -

#6 ccubed  Icon User is offline

  • It's That Guy
  • member icon

Reputation: 162
  • View blog
  • Posts: 1,407
  • Joined: 13-June 08

Re: Current Problems in Modern CompSci Programs

Posted 17 April 2009 - 07:31 AM

I guess it depends on the teacher, but sometimes what they do is actually correct, just that it's eithre an outdated or unnecessary approach to doing it. Then again, that's why you have Dream in code! :) I really don't have a problem with a teacher not being as knowledgeable as some people in the class as long as they are honest enough to admit that they aren't that saavy. Also, sometimes, a mistake may not be intentional.

So your next question. Let me ask one thing. Are you doing Computer Programming or Computer Science?

This post has been edited by ccubed: 17 April 2009 - 07:32 AM

Was This Post Helpful? 0
  • +
  • -

#7 BigAnt  Icon User is offline

  • May Your Swords Stay Sharp
  • member icon

Reputation: 101
  • View blog
  • Posts: 2,392
  • Joined: 16-August 08

Re: Current Problems in Modern CompSci Programs

Posted 17 April 2009 - 08:28 AM

Quote

Plus, asking them questions for clarification or otherwise is pretty much pointless, they'll either misunderstand the question and go off on an unrelated tangent or just generally not understand what's being asked.


I've had plenty of English as a primary langauge teachers who do exactly this too.
Was This Post Helpful? 0
  • +
  • -

#8 Topher84  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 113
  • View blog
  • Posts: 359
  • Joined: 04-June 07

Re: Current Problems in Modern CompSci Programs

Posted 17 April 2009 - 08:40 AM

I can honestly say all of my professors I had when going through my undergrad degree where all english speakers... which is great!

To the person talking about HS CS stuff, thats how it is in college so if you want to continue on in this field, being able to look at documentation and code from it NOW will help you in the long run.

I agree that game programming is what drives a lot of people to the major but what people never seem to understand is how hard it actually is to be a game programmer. In my opinion, it is MUCH better to get a degree in computer science or IT and THEN take a career in game programming once you obtain your degree. I'd think a degree JUST in game design would be almost useless. Also, if you look at a payscale for game devs, they are paid WAY less than most other programmers that have similar skills and probably work less hours.
Was This Post Helpful? 0
  • +
  • -

#9 sl4ck3r  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 11
  • View blog
  • Posts: 285
  • Joined: 22-September 07

Re: Current Problems in Modern CompSci Programs

Posted 17 April 2009 - 09:03 AM

I disagree. The program I attend doesn't have most of these issues. I do have a few foreign teachers but more so in the Math department. There is only 1 CompSci teacher that is difficult to understand (more that she doesn't explain well then difficult to understand). Classes are going to be language centric in the beginning of your degree. If you don't know any languages or don't experience different languages, you'll limit your ability in the big picture. However, later on, in the degree program here you learn new languages on your own. I am currently taking an Operating Systems class and we are doing h/w with bash and c++. Neither of which I knew when I entered this class, and neither of which i was taught in the class. You may think language centric classes are a pain, but so is the alternative. I somewhat agree with the gaming thing. It seems like a lot of people want to go into CS because of gaming. If they eventually become a game programmer thats great for them, the likelihood isn't that great but thats really their issue. I do find it VERY ANNOYING when people are like TEECH MEZ TO PROGRMA DUH GAMEZ! I NEEDZ TO DO IT NOWZ!!!!!1111!!! It's more about demeanor then reason for me. I didn't become a CS major to program games, I did it because I find computers interesting. However, why is this reason better then because they want to create games? Lastly, judging a degree program by intro courses is dumb.
Was This Post Helpful? 0
  • +
  • -

#10 BlakeJustBlake  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 26
  • View blog
  • Posts: 441
  • Joined: 15-February 09

Re: Current Problems in Modern CompSci Programs

Posted 17 April 2009 - 10:33 AM

I do understand that languages need to be learned for your degree to mean anything useful in a career sense, but surely there's a much better way for people to learn languages. The way I would suggest it to be taught would be like all other sciences that have a theory side and an application side: with a class and lab combination. In class, discuss theory, use pseudocode. In lab, discuss syntax, use programming language to implement theory learned in lecture. This is obviously the best way to learn both sides of this. I've never found teaching a language through lecture to be beneficial, people learn languages by using them, and playing around with them, and making mistakes.

View Postmacosxnerd101, on 17 Apr, 2009 - 06:14 AM, said:

I think sexism is a HUGE problem. I'm in a high school CS program, and the teachers favor the girls. They'll ask for answers to test questions, and they'll get it. But when the guys ask, we don't get any answers at all. Weak teachers are another problem. We've got a preschool teacher teaching Database, Java and PM. He is an epic fail. Some of the other teachers expect us to teach it to ourselves or read and be ready to quiz on the material. For example, read the CSS section from W3schools.com and be ready to write it successfully. That's not fair to the students.


This is another good thing to point out. I've never really experienced a problem with sexism in a CS class at the collegiate level. Any amount that I have seen it in was against girls, not for them. Weak teachers, however, is a larger thing, especially in high school. I remember my high school technology class teachers and how inept they were. But there's not really high demand for such a low paying job when you've got a degree that can get you much more with any of its lower paying jobs.

As with the teach it to yourself problem, other classes have textbooks that you have to read outside of class, what's wrong with a tech class taking advantage of one of the better resources available as its text book? I can understand if your teacher just refuses to tell you anything and only tells you "Look at w3schools." and I don't think that quizzes are very useful in these types of classes, but teaching yourself things is a big trend in computer classes.
Was This Post Helpful? 0
  • +
  • -

#11 ccubed  Icon User is offline

  • It's That Guy
  • member icon

Reputation: 162
  • View blog
  • Posts: 1,407
  • Joined: 13-June 08

Re: Current Problems in Modern CompSci Programs

Posted 17 April 2009 - 11:11 AM

That's because in Computer Science, you're expected to have some level of autonomy. Moreover, I don't think i've ever had a lecture on a language without assignments or projects that require physical coding. I'd have to agree that just lecturing about a language is useless. It's like trying to learn swimming by reading a book, in the end, it just doesn't work that nicely.
Was This Post Helpful? 0
  • +
  • -

#12 kidicarus  Icon User is offline

  • D.I.C Head

Reputation: 16
  • View blog
  • Posts: 139
  • Joined: 13-February 09

Re: Current Problems in Modern CompSci Programs

Posted 17 April 2009 - 12:24 PM

My Computer Science I course combined labs and lectures and I absolutely hated that class.

http://www.eng.utah....0/schedule.html

You can see what the labs are like.

The problem is that the professor did not give enough theory, explanations of the syntax of the java language, etc. to be able to solve the assignments and labs with. Thus, the labs were pretty much "TAs" writing code and the lab copying it down without understanding what they are doing.

The "assignments" were either based on what you learned from the book or from the lab, without much understanding what you were doing. Some of these labs came out of thin air and had little relevance to the chapter we were studying. But when we came to an assignment like "Path to Solving a Maze" the professor ended up having to solve it for the class because hardly anyone could do it. He litterally explained how to do it pseudo-code wise, and then he even showed us how to program it.

When I took the course he also assigned difficult graphical assignments before we had even studied very many OOP concepts - we designed a GUI for the maze program (he has since removed that assignment from his course).

Also, the book we used was "Java Illuminated," but some assignments are taken nearly word for word from "Java How to Program" by the Deitels, incluing the Maze one. There was also a midterm and final with questions from the Deitel book such as the wage program. Hey, if you're going to use problems from the Deitel book, why not just assign it instead of Java Illuminated.

I hated that class and barely passed. It's a good thing I had read a good C++ book or don't think I'd understand anything about programming at all. I'd give anything to go to a bona fide University where the theory of programming is explained in more detail and the problems match the assigned reading text and lectures.

The CS II course at the U is even worse.
Was This Post Helpful? 0
  • +
  • -

#13 ccubed  Icon User is offline

  • It's That Guy
  • member icon

Reputation: 162
  • View blog
  • Posts: 1,407
  • Joined: 13-June 08

Re: Current Problems in Modern CompSci Programs

Posted 17 April 2009 - 12:34 PM

I guess it varies. If you're going to a school for Computer Science though, you should really find out where the good schools are. If you ask employers where they go to recruit computer scientists and they say school x, i'd start applying to school x right now. As for me, Tennessee Technological University has a really good CSC curricula with a Department Head that you actually see. That's another annoying thing about universities, I hate programs where you can never see your department head. Mine? He teaches classes. He's awesome too. :P
Was This Post Helpful? 0
  • +
  • -

#14 PJLabowski  Icon User is offline

  • D.I.C Head

Reputation: 5
  • View blog
  • Posts: 87
  • Joined: 21-March 09

Re: Current Problems in Modern CompSci Programs

Posted 18 April 2009 - 07:48 AM

I agree with the sexism remark and there is a great deal of racism as well. Look at the scholarships that they post on the walls if you don't believe me. Most of the ones at my school are explicitly for either women, minorities, or women minorities. It's not that I have a problem with scholarships set up like that, but imagine the outcry if they made a scholarship specifically for white males! lol

About the language thing, ugh! I've had good and bad with this one, but two of my best most helpful instructors where Indian. My current 300 lvl course instructor is one of the two and I've only had a problem with his accent once. You get used to the accents as you go. By the time your a Junior you should be able to understand Asian and Indian accents no problem. It would be great if they had a course for understanding English as a second language people!
Was This Post Helpful? 0
  • +
  • -

#15 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3106
  • View blog
  • Posts: 19,145
  • Joined: 14-September 07

Re: Current Problems in Modern CompSci Programs

Posted 18 April 2009 - 10:13 AM

Us white males are becoming a minority ;)
Was This Post Helpful? 0
  • +
  • -

  • (4 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »