How Do Students Use Stack Overflow?
Since Stack Overflow was founded, we’ve described it as “a question and answer site for professional and enthusiast programmers.” It supports both experienced developers who code as part of their work, and people who are learning as part of a university curriculum.
So just how many of our users are students? We on the Data Team can estimate this based on what fraction of our questions come from university ISPs. In this post, I’ll share some numbers about how students (both undergraduate and graduate) use Stack Overflow, what programming languages they tend to ask about, and how this differs between schools.
Finding students on Stack Overflow
In this analysis, we considered a question to be from a university if it was asked from an ISP whose name contained “University”, “College”, or “Institute of” (some manual examination showed this covered the vast majority of common cases). Not all universities have their own ISP, and students may live or work off campus, so this is probably underestimating the fraction.
Since these results may have changed since the start of the site, we considered only questions from the years 2014 through 2016. And while Stack Overflow is a global network, our ability to recognize schools from their IP addresses is less reliable outside English-speaking countries, so we considered questions only from four countries: the United States, the United Kingdom, Canada, and Australia. These are four of the seven countries that ask the most questions.
Overall, this dataset comprises 3.5 million questions.
Questions from Universities
7.75% of questions in these countries were asked from colleges and universities. Which schools asked the most questions from each country?
One notable feature is that many of these are large research universities, where many of the Stack Overflow askers may be graduate students or other academic researchers.
As you might guess, the percentage of questions from universities depends dramatically on the time of year, based on whether most schools are in session:
Notice that the percentage of questions coming from universities drops not only during the summer, but also at several typical school holidays: the start/end of the year (winter break), spring break in March, and Thanksgiving break at the end of November. The rate is also nicely consistent across the three years.
What Tags Tend to be Asked about from Schools?
Each Stack Overflow question comes with one or more tags describing the languages and technologies it is asking about. What tags were most likely, or least likely, to come from a university?
We can see three types of questions that tend to get asked from universities. First are languages and frameworks used in academic research, such as numpy, R and (especially) MATLAB. Next are low-level languages such as C and C++, which may be used in introductory programming and operating systems classes; my first college class was taught in C. We can also see questions about algorithms and data structures, such as “algorithm”, “loops”, “list”, and “arrays”.
Among the tags least likely to be asked from universities are Microsoft technologies, such as C#, .NET, WPF and SQL Server. This makes sense since those generally tend to be popular in enterprise businesses rather than educational and research contexts.
How can we confirm our hypothesis that some tags, such as R and MATLAB, are asked by university researchers, while others are asked by undergraduate students? Let’s look at when they’re asked from universities during the year. As we saw earlier, undergraduates generally ask questions mostly during the typical fall and spring semesters, while researchers likely work and ask year-round.
Here are the seasonal trends for six selected tags.
Many Java questions are asked from universities during the fall and spring, but they drop to barely a third of that level during the summer. C and C++ also appear to be mainly asked by students on a semester schedule. In contrast, R and MATLAB are pretty consistent throughout the year, with 25% or 40%, respectively, of their questions getting answered from universities no matter the month (with the exception of the winter break).
Besides the distribution across the year, tags also aren’t evenly distributed among US universities. For example, in American universities, the choice of programming languages differs between public and private universities.
Microsoft technologies like C#, ASP.NET, VBA and SQL Server were more commonly asked from public universities, while cloud technologies like Heroku and AWS, as well as web frameworks like Django and Flask, were more commonly asked from private universities.
Since I program in R, I was also curious what universities had the greatest amount of R. (So as to avoid having one student disproportionately affect their school’s tags, we measured the percentage of users who had asked from a school who had ever asked about R).
(Note that Australia had only 7 universities with at least 200 askers). The most R-heavy schools included a mix of public and private research universities, and some are recognizable as having prominent statistics programs.
This analysis gives a sense of how students use Stack Overflow differently from professional developers. In future posts we’ll look deeper into this data, including considering how students differ in what questions they answer or visit, and examining how this relates to tags most visited on weekends. Whether you’re a student or not, you can support others’ education by signing up for Stack Overflow and contributing today.
If you’re a student looking for your first job, check out the latest listings for entry-level programmers.
157 Comments
Hi, I am banned from asking too many questions, pls remove the ban asap. As a student I should be allowed to ask my question. Its been a month 🙁 since then. Please the rules of moderation are too strict for students.
Hello. You are always welcome to ask question in case you have something new to ask. Do not ask questions which had been asked and answered previously, use searching instead. We’re all here to build a quality database of Q&A, so to maintain the quality, we need some control. Asking a new question should be treated as last resort. Thanks for understanding.
I can take a look at your situation if you use the “contact us” link at the bottom of the page on stackoverflow.com. Generally you can avoid bans by following the advice in How do I ask a good question?
Exactly, “following the advice”…let’s see if that link is ever clicked…bets please!
The problem with the link is that yes while people may or may not read it, it is the members with high reputation that I think forgot what it took to get here. I feel like they are more concerned about down voting someone than actually making the content better. For example one of the first posts I made got down voted quickly. I was luckily enough to have a few people mention to me the article but even after it was clear that people told me about the article I was still getting down voted. This is a great place if you are looking for an answer to a question has already been asked however if you are new to the site or trying to learn programming and ask a question its like being thrown overboard without a life vest.
They don’t forget what it took to “get here” and they try to help you by making you take the same road they took. A silver spoon won’t make you better, and a cheat sheet won’t make you smarter. If the student didn’t RTFM, then they won’t understand the answer, delivered in professional language anyway. If you need a tutor, hire one, don’t expect SO to do it for free.
If you’ve been banned from asking questions, there’s a reason for it – and it’s not that moderation is too strict. I’m a student, and I’ve asked a bunch of questions without being banned. Instead of complaining about the moderation standards (which also happen to be the precise reason Stack Overflow is such a good resource), try improving how you ask questions.
Yeah, I can surely understand and it is not that I am not against SO for that. I just got 4 downvotes on my set of like 10-15 questions and I also answered some bunch question with 80 reputation. I am trying my best to lift my ban but just couldnt do it. Ill never give up though
How to research and solve problems independently is a very important thing to lean as a student in programming/software engineering, arguably more important than learning specific languages or platforms. Stack Overflow won’t help with that – especially if you’ve been banned for asking questions that didn’t fulfill the quality standards.
So how do students’ questions tend to fare in terms of *quality* (as measured by up- and downvotes, and perhaps % of closings/deletions) compared to the rest of the question base?
Also, I’d specifically like to know the % of questions closed as duplicates
Yup. Although I have an inkling the results would shatter our confidence in higher education. 😉
Different communities have very different tolerance to duplicates. On XSLT there are questions that are asked with slight variation nearly every day, and they are very rarely closed as duplicates, instead being answered with remarkable patience.
Maybe compare the closed as dup, or otherwise bad, as a ration of % closed from Uni to % closed total. That should even out the communities that are lenient and the ones that are super strict.
Upvotes are not generally an indication of quality. People upvote for different reasons, like having the same problem or liking an answer to the question a lot. Most people don’t upvote questions they themselves don’t understand, so asking about something obscure may be the best question on stackoverflow for someone when they need it, but most people won’t understand it and won’t upvote it.
That’s true, but upvotes are pretty much the best metric we have right now. (Except of course for the absence of downvotes and closevotes, which tend to be much more reliable indicators of *bad* quality than upvotes are of *good* quality.)
We’ve done some internal question labeling to study this and were unable to find any correlation between quality of question or developer skill level with upvote count, views, or a number of other simple metrics. Until we come up with a way to understand the content of the questions algoritmically or add some sort of labeling toy for the general audience, we’re not likely to make any strides on quality determination.
That’s because some tag communities just don’t up-vote, period. I’d imagine most of these questions are going to be RTFM ones that should never been asked in the first place.
I think graphing total per university is going to give us nothing more than what the largest universities are. (Obligatory https://imgs.xkcd.com/comics/heatmap.png ) What would make them more interesting is how many questions per capita you get at each place. If one university has 10,000 students and another has 5,000 students but they both ask the same number of questions, the second should rank significantly higher than the first.
I think the data should has been analized in a per capita instead of absolute numbers.
True, but I was surprised not to see ASU represented in the list.
Loved all these data, couldn’t be more surprised that Microsoft is dominating Public Universities. BTW, why SO Blog doesn’t have social sharing options.
https://uploads.disquscdn.com/images/11b66ddd3c4072ed8a4d546c06c7e7060447d06881f6fb5408ea6e59c27e41e3.png
“Social Sharing Options”?
For me, I see “Share” button there, and when I click on it, I have the option to share to Facebook or Twitter.
That’s a sharing option to me. Or is it?
I thought that was for sharing Comments and Discussions only. Thanks!
Could you make the timeline by university, not by year? I guess different the holidays would be more distinct then – though they might not affect every school at the same time.
I’d be quite curious about how many questions are asked and how many answers are posted. Do university IPs have a significantly different answer/question rate from the rest of the world? Or is it linked to the seaon as well?
Out of curiosity, why is it so hard to map universities in Asia and elsewhere? Is it because they tend to use different IP schemes, or because it’s difficult for non-language speakers to identify which domains belong to Universities?
A little bit of both! It’s not insurmountable, but it helps avoid complications.
I think the reason Cambridge and Oxford have so many users is because their students largely live in colleges and therefore their IP addresses will be recognised as coming from a university, whereas at other UK universities students are more likely to live in non-university-owned houses, and hence won’t have their IPs recognised. Imperial comes top because it has lots of computer science students.
If you follow the MATLAB tag for a while, you notice indeed that during September and February, the beginnings of the semesters here in Europe, most low-level read-the-manual type of questions pop in. I think I close vote more than half of the MATLAB questions I encounter because they are either an unclear question from a first time student, are way too broad and require a complete PhD thesis, or simply have been asked before.
Not sure where to point this out, but as a recent student who is now a professional, I think generally the StackOverflow community could be more accommodating to students. It is the premier resource for finding the answer to many questions students might not be able to ask professors for a variety of reasons. However, as a student who was new to code I found it a volatile place, and was wary of asking questions for fear I would be downvoted or even suspended for asking a question considered too simple or “not a good question.” Also in general most answers when a question could use editing were rude in tone. Among most of my peers StackOverflow has a bad reputation for this reason. Yes, research and figuring out your own solution is an important aspect of learning programming, but I think the learning curve in those areas is quite high for the majority of students, and the community here is mostly not willing to give constructive criticism beyond “we aren’t going to answer that,” or “that has been answered before.” They often forget that a self-identified student may have come across that answer without realizing how the problems are similar. I think the fact that the top schools in the US in terms of questions asked are also generally harder to get into than most schools might be indicative of this.
I appreciate this post… there really is no other reliable, fully operational and incredibly active source of information for students, unless you can meet with your teacher at any time of the day. Upon my first post, I was immediately downvoted several times, so that really scared me out of the site. Most of the responders are generally quite rude. On one of my later posts, I made a few edits to improve it and an experienced member came in, removed all of my edits and basically destroyed what little reputation in points I had at the time. I understand that this is a professional site, but I do put a lot of work into my posts and the specificity of my questions… And most of all, I just want to learn.
Really, where does this air of entitlement come from? You know I learned myself to program from school, no uni only a night school course while holding down a job and to be honest in terms of programming I didn’t learn much from it. How did I cope without SO even existing?, I read books and practiced my craft, methodolically working out why something didn’t work as I expected. All that is expected on SO is a little effort to show that you have at least attempted a problem and half the time people don’t even do that.
This right here is a perfect example.
Sorry, I don’t follow, is a perfect example of what exactly? If you mean, of the right approach to have when interacting with SO before even asking a question, then your absolutely right. SO is not a typical Q&A site it has a mission to create a useful canonical collection of questions and answers as a resource for programmers, it is not and should not be considered to be a support forum. Once people get and understand this by reading through meta.stackoverflow.com and visiting the help center, that is when they stop working against the community and it’s ultimate goal.
It is not “entitlement” to expect a polite, civil tone from a site purporting to serve professionals, full stop. There is far, far too much justification of being an utter dick to people on SO for the most trivial ‘offenses’, and if you don’t see that, well, maybe you’re part of the problem.
👏🏻👏🏻👏🏻
Everyone has to start somewhere, when I first started using SO I made mistakes and it got pointed out to me I should go read through the Tour and other helpful resources pretty quickly. At that point I did as suggested and since then have never looked back, didn’t get banned once and started answering more questions then I asked. It’s actually quite difficult to get a ban on SO, you have to “persistently” asked bad / poor questions. If you are getting banned it is because you’re not willing to adjust and continue to work against the spirit of what SO is trying to achieve.
As I explained to Jason Wise upthread, it’s a filter. Experienced SO users have seen LOTS of students come through, most of them with less-than-professional attitudes. History shows that if a user gets offended by a downvote, he/she is not going to be worth interacting with in the long run. But if that user asks, POLITELY, what they could do to improve the question, and actually LISTENS to the answers? Then they ARE going to get a polite, civil tone from most people they interact with. (Most people — of course there are always going to be a few jerks in any crowd).
If you can find some examples of students who came to SO and interacted in a polite, professional way and yet were met with rudeness (i.e., counterexamples to my point), I’d like to see them. Because that’s counter to my own experience with SO, which is that professional behavior is answered with professional behavior.
But why are they set up to fail in the first place? Honestly it isn’t until you’ve been banned or threatened for asking 2 or 3 bad questions with zero opportunity to fix them that it becomes apparent you SHOULD look at meta or the help center. Perhaps if they were given constructive criticism instead of blunt rudeness or at the very least some direction they could become meaningful members of the community instead of too scared to hone a craft they are interested in. SO won’t stop getting bad questions if it doesn’t do something to teach its newest users how to ask good ones before they can ask a bad one.
“zero opportunity to fix”. Do not agree with this, there is every opportunity to correct an “On hold” question, you even get a big banner pointing out why the question is on hold. Problem here is a lot don’t bother rephrasing a question or providing more information, instead they create a new account asking the same question, take offence or just simply post the same question again (which will likely be closed as a duplicate). It’s worth noting that if a question deserves to be reopened it will be in the same way it was initially closed.
My wording specifically says zero opportunity to fix BEFORE retribution is taken. But ok, well when that exact thing happened to me the information presented was not particularly helpful at all, perhaps due to wording, perhaps due to the fact that several “professional” users had already been downright rude to me which is quite disheartening. It just said “try editing your question to make it more informative.” To a student who is basically vomiting all the information they know to give that is not helpful. It was only after seeing a sidebar ad for meta, (which i think was pretty new at the time) and going there to ask what was wrong with my questions that I found any help. It should not take going to another part of stack exchange to learn how to write a question. The information should be obvious and when a bad question is asked instead of just closing it right off the bat the user should be pointed in the right direction and given a chance to fix it, which by the way is what would happen in a professional office setting.
Something we agree on! I do feel the banners are not helpful enough and the fact that meta isn’t publicised more is a real bug bear of mine, it is by far the most useful resource you will come across when learning how to use SO.
The wording doesn’t read like that to me, no mention of “before” and I assumed by “threatened” you were referring to questions being put “On Hold”. It’s all subjective though and that’s part of the problem and why some consider certain comments to be “rude”, when in reality conveying intent in a textual form can be quite difficult and a lot of the time is open to interpretation.
SO won’t stop getting bad questions if it doesn’t do something to teach its newest users how to ask good ones before they can ask a bad one.
What would you suggest? Stack Overflow users have been searching for YEARS for ways to get the new users to read the How to Ask page before asking the bad questions they usually ask. If you can figure out a way to get people to actually read the instructions first, you’d be an SO heroine.
I learned my coding solo, not even schooling, night or otherwise. I got lucky, eventually, and found some books in the library. Started with the documentations first. RTFM is always my first thought. Google just helps me find the manual when I don’t have it. I only answer a student’s Q if I really like it, or it makes me “think”. Even then I try to leave half of it unsaid, “as an exercise” for them. Amazingly, RTFM applies to SO as well, the Informed badge should be on everyone’s profile. …Maybe I’ll make that a criteria for answering student questions… 😀
I agree 100%. One of the first posts I made people kept on down voting even after several people had clearly came along and explained to me what I done wrong. People say this is a professional site but I am not so sure it is. It seems most people I have come across are very rude and arrogant. This is a good place to try to find answers but not a good place to ask for answers especially if you are someone new to programming or the site.
Experienced professional programmers tend to value and welcome criticism, so there is a tendency to assume that everyone in the community has learnt to value criticism equally; for people less secure and confident in their personal development the criticism can come over as rude and arrogant, but it’s generally not intended that way and shouldn’t be taken that way. Thinking about it, I’m probably rather harsh on people who haven’t worked out how to ask a good question. But I think I’m helping them improve their professional skills by pointing it out. Certainly that’s the intent.
That all depends on one thing, being willing to take your advice on board. Those that take offence easily will never take that step sad as it is.
I think the type of criticism you are talking about is different than what I am pointing out. I have always been fine with direct, helpful criticism. But in many cases SO users are just downright rude. Telling someone their question isn’t well written is one thing, but I have seen people straight up say someone is a lazy student before, which is certainly rude and unprofessional no matter how you put it.
If you take downvoting as being personal, of course you’re going to feel that people on SO are rude or arrogant. But the thing is, downvoting questions has nothing to do with you. Rather, the purpose of voting questions up or down on SO has to do with how many other people that question will be useful to later. If the question is “Here’s the homework problem I have, and here’s my code so far, but I can’t figure out what’s wrong with it” — i.e., exactly what the SO “How to Ask” guidelines tell you to do — you’re going to get some downvotes because your question has value only to you, and not to other people. And you’ll also get some people who will upvote your question because it was well-written, even though it’s not useful to other people. Votes on SO come in for any number of reasons.
But here’s the other side of the coin, which you aren’t seeing yet. Most of the people on SO who are being curt are doing so because you’re not the first student they’ve interacted with, you’re the twentieth that day alone. And they don’t have time to spend more than a minute typing up their response to you. AND they know that of the 20 students they interact with, only 2 of them at most are going to bother to say “Thank you” or fix a bad question if the question’s problems are pointed out. So they’re going to be curt because frankly, they don’t know yet whether you’re worth spending any time on.
If YOU remain courteous and professional in your interactions even when people come across to you as rude and arrogant, you’re going to immediately stand out in people’s minds, and you’re going to get a lot nicer treatment, because they will realize that you are one of the 10% or less who are actually worth spending time on. It’s a filter: if you get huffy about people writing curt responses, or not explaining their downvotes, then you’ve just been filtered out, because history shows that people who act like that typically don’t improve. Whereas those who maintain a professional attitude from the get-go are usually the ones that DO improve and end up contributing positively to the site.
If you are answering too many questions that you feel is below your level that makes youract curt to another individual then maybe you should either find better questions to answer or avoid answering those questions. To me SO seems like it is not about helping people but getting more reputation. Perhaps the answer is to have a SO for students for make it mandatory that a new user goes through the tour and give them a test at the end! Like I said before SO is a great place to find answers to questions that are already answered but if you have a new questions then it is a horrible place, which is not a place for me.
Alternatively, many of us just have stopped answering questions entirely.
Finding the gems in the chaff is a depressing and frustrating exercise. I rarely post answers any more on SO because it’s difficult to find meaningful and interesting questions amongst a sea of basic or otherwise useless questions. I instead discuss in a private slack with other real programmers. I find it far more valuable and useful for me.
I am not alone in this frustration, though luckily for homework seekers, there are plenty of people who don’t share the same expectation of quality on Stack Overflow that I do.
And for what it’s worth, many student questions are the best questions to get reputation on, because they are normally simple, easily answered, and obvious to even novice programmers. It takes nearly no effort to respond and pick up reputation for shooting fish in a barrel.
Part of the problem is everyone assumes that students are looking for someone else to do there homework for them. I do not believe that is the case. I am not sure if you went to school before or after SO became a thing but SO has built its self has being a tool. The people who went to school before SO yea they had to rely on books and other things but SO has built its self to be a tool to find answers and that is what students are looking for. Yes they may not ask questions the “right way” but I am sure they are not looking for an easy way out. Remember you and other people on here were most likely students before. If SO does not want to be associated with “wrong questions”, “students trying to get there homework done for them”, then maybe they should have a better vetting process to let people in.
Stack Overflow is indeed a useful tool for having another set of eyeballs on a problem that one has been able to isolate with a minimal, complete, and verifiable example. However, the constraints written into the software to try to prevent it from becoming another forum and ensure that the experts capable of answering the questions are drawn to the site make it a very poor tool for teaching another person some concept.
Stack Overflow was never intended as a substitute for a college class or as supplementary material for learning. That people are trying to use it this way isn’t surprising (Adam Lear once commented about the “toss the question in every textbox they can find on the net” phenomena). Nor is it surprising that people who are expecting some threshold of quality and are seeing dozens if not hundreds of poorly asked questions that make it hard to find the interesting ones to answer become curt or don’t attempt to help beyond a down vote and walk away.
The vetting process for Stack Overflow is “check to see if you’ve read the “how to ask”; ask a question; if you ask poorly make sure that the next time you ask a question takes into account the feedback on the close reason from the previous one.” Making it more stringent than this is a difficult problem to ensure that people with well researched first questions don’t get blocked from asking a question.
But what you are getting is that is what SO has become. It may not have been intended for that but that is what it is NOW. If the majority of the SO community does not like this then SO needs to change stop being rude to people because they are new there is no need for it.
That is something to take up with the Stack Overflow community. The best way to do this is to get that 50 rep and comment to help people write better questions; or get 2000 rep and fix the questions yourself; or get 3000 rep and close questions that are poorly asked and give good feedback.
The tools of community moderation gained by participating in the community are being used to down vote, close, and delete such questions. The question ban process is part of the core software and is fed by the community moderation activity.
While it may have become that (or on its way to becoming that), that core group of people who are active in community moderation and answering questions are trying to keep the course charted to being the best source for programming rather than Yahoo Answers.
I think it is obvious from the comments on this blog and from seeing other peoples experience with SO that the community does not want to help with new users /students which is how you gain new members. If the community does not want to go in the direction that SO is going then that will be its death. I am not going to be a part of a “community” that thrives on rep that has no real value other than an ego boost for most. The “community” has no interest in helping students or new users learn which is why I have left the “community”.
I think it is obvious from your numerous comments, that you are missing the point completely. People have tried to reason with you in professional way, but at each turn you seem to miss the point. If this is what happens when you ask questions on SO, I’m not surprised by the outcome I’m afraid.
I hate to say it, but your attitude is the problem. Robin has provided in my opinion, some very compelling observations and pretty much nailed it with that response. If you can’t objectively look at that and reason that maybe a little more effort might be due on your part rather then suggesting those willing to answer are the problem, then I’m afraid you won’t be missed.
I am sure I won’t be but do not worry people like you I am not going to miss either! Have a great day! 🙂
In which case, it’s a shame.
I guess the “problem” here is that to a newbie, being downvoted can be quite…scary? And don’t think it isn’t, it’s quite disheartening…wonder if something could be done here…
I appreciate a lot of what you are saying, and I definitely do not think SO is meant to be a place for people to get last minute homework help. I’m actually referring to instances as a student where you are working on open-ended projects, not specific homework problems where you can’t figure out a quick sort or something. In my school experience I was often told “you have to work in this language, but build whatever you want.” In those cases it is easy to come across seemingly unique problems, and at the student level it is hard to figure out how another solution can be tailored to your problem when you don’t know the language that well.
I will say I think there is a disparity between how professional SO users think they are treating students when they get a bad questions and how they are actually treating them, at least as a majority. I am not talking about downvotes necessarily by themselves. I’m talking about downvotes combined an unwillingness to answer a student when they are engaging and trying to understand what to do better. I am talking about rudely worded comments. The first questions I asked on SO years ago were not great, admittedly. But they were not “bad” questions I just needed to reformat them so they were more informative and potentially helpful to future users. But instead of anyone telling me that, I got downvotes with either no feedback or rude comments just saying its a bad question. I never received an answer or any direction from anyone until an ad for meta popped up, and I went there and posted links to my questions and asked how to fix them, something I had wanted to know all along.
The people who answered my question on meta were helpful, but every interaction I had with SO specifically before that point was hostile and rude. In fact, even now as a professional I find users to often be rude and dismissive. I also think its worth pointing out this is specific to SO. Other QA’s on StackExchange have been nothing but friendly to me at every level.
EDIT: Also on the subject of downvoting, it has a lot more to do with a new user than an old one on a personal level. It only takes a few downvoted questions in a row for a new user to have their asking privileges revoked. If you couple that with people leaving rude comments and not pointing them in the direction of help or how to ask a good question, then yeah downvoting feels personal and scary for the student who actually wants to learn.
I completely agree with the comment about professionalism. I can tell you right now if any of my coworkers spoke to me the way I have been spoken to on SO I would be finding a new job. I do believe it is better depending on the topic you are asking about (I have not seen many rude people in the Android tags, which is what I am mostly looking for), but I have definitely had people be very unprofessional towards me on other parts of the site.
I agree. People want to talk about how it is in the real world and about professionalism, I really hope SO is not an example of how they act at work. You are not going to walk into your bosses office and ask them a question and then they tell you to come back when you know how to ask it better. And if you have or are a boss like that then you are no good.
I would contend that you’re not going to walk into your boss’s office (or lead developer’s cube) and ask a question like http://stackoverflow.com/questions/42279606/how-to-print-number-of-count-for-words-in-a-string-given-array-list that you would get a response to come back with a better question.
The full text of this question is:
> I want to print number of count for all the words in a string. I have used ArrayList for a String.
I would expect the lead developer to ask if you have read the documentation, what has been tried and send the person back to their desk.
On the other hand, if a co-worker comes to me with a problem and has spent some time debugging it and can clearly describe the issue to me within a minute, then I would be happy to spend some time to work through the solution with them given that I don’t have pressing issues of my own.
Okay lets say you do come with that question, your not going to be rude are you? And if we want to keep on with the student example instead of actual employee then your professor is not going to be rude to you. What I am getting at is that people on here are rude. Most of the comments and replies on here prove the point. Most of my peers through school and work agree about SO and how people are.
If one of my co-workers came to me with that question, I would look at them funny, ask them to explain what their problem is and what they’ve done to try to fix it. If I repeatedly got asked questions like that, such feedback would find its way to their next performance review (and then expect to see a Workplace.SE question about what to do when you’re on a performance improvement plan).
Rudeness is a tool that people use when they’ve exhausted other moderation tools.
If I got asked many times simple questions from people who should be doing better I would undoubtedly become “rude” with – “I can’t help you at this time.” or “ignore their email” or a simple link to the Java tutorials section hosted on Oracle (or a Stack Overflow question that answers it).
Without non-verbal (textual) hints, many short answers are considered to be rude. Sometimes, people will also consider long patronizing answers to be rude too. Can’t win them all.
I am not talking about questions like that (although part of that problem seemed to be a language barrier, and there was indeed a pretty rude comment below it). I am talking about questions like ones I and many other past students asked that are good questions, only in need of more provided information or better formatting or more code examples. I am actually generally talking about the example you provide at the end as acceptable. I have put up questions not better or worse than I would expect a professional coworker to be able to answer and been met with rudeness in the past, especially when venturing into new territory.
In reference to the question you pointed at, yes it is a bad question. But here is one response:
>I want you to show your code and ask a specific question. I also want you not to dump your homework here expecting us to do it for you.
All the other responses citing it as a bad question are totally fine I think and the question was rightfully closed. But the second sentence of that answer is rude and unnecessary no matter how you shake it.
I think it’s important to note that one of (if not _the_) primary purpose of Stack Overflow is to build a useful repository of information via google.
I wish that more questions were more challenging and higher quality and interesting programming questions. But the reality is, most homework-like questions are… noise and distracting for professional programmers.
I understand that it’s unwelcoming or unfair to students trying to get help. But Stack Overflow never was intended as a tool to get homework help.
I definitely understand that and did then as well. The problem is that Stack Overflow, by virtue of becoming the number one place that google finds answers to questions, has also become the number one destination for students to find answers. There is simply no way to avoid this, especially as schools begin to try to keep up with technology and offer courses in languages and frameworks professors don’t fully understand. And I do recognize that it needs to be a professional place for professionals to find help, but it makes more sense to me to encourage students to up their level of professionalism and edit their questions to make them better rather than to rudely dismiss them, make them feel stupid, and downvote/ban them. After all they are in school to become one of us.
Then schools should offer courses in “how to ask a good question on Stack Overflow” so that students learn how to function in the real world.
It’s not the responsibility of Stack Overflow to do this, though I have even written a feature request to help with this problem here – http://meta.stackexchange.com/q/278444/193412
I think that feature request is a great step. I’m not saying the way schools are using SO is right, I’m just pointing it out as a reality. I actually really do think schools should offer a course focusing on researching programming questions. I know a lot of people that graduated with me last fall who have no idea how to find an answer effectively on Google. Those people aren’t asking questions on SO either, but if they were I’m sure they would benefit from clear instruction right in the message box.
Maybe there should be a new SE of “programming for beginners” or “ask your newbie to programming questions here” or something…then those questions could be redirected there?
All great in principle, but you are dependent on people using it and not just posting on SO. Just like now, you can ask and ask for people to read before posting, doesn’t mean they will.
This has been asked on MetaStackOverflow several times. The consensus is that the experts won’t go there and it will become a place filled with beginners giving wrong answers to other beginners that would look very much like Yahoo Answers.
Start reading at http://meta.stackoverflow.com/questions/254381/should-we-fork-stack-overflow-for-beginning-programmers?noredirect=1 and look at the linked questions ( http://meta.stackoverflow.com/questions/linked/254381?lq=1 )
SE homework site, applicable to all topics is a very good idea? Maybe also a totally noob site? Maybe a homework and noob site rolled into one for all topics?
As a veteran user of SO, I can let you know that during the past 5 years or so, the site has drastically changed its tolerance about questions from non-programmers/would-be programmers. Homework questions used to be explicitly off-topic, but are now allowed given that they live up to the site’s quality standards. Quality standards that have nothing to do with technical knowledge and everything to do with the ability to clearly express an answerable, on-topic question with a narrow-enough scope. Similarly, the site once had the requirement that the person asking must be familiar about the topic they ask about – this requirement has been dropped. The result of this more tolerant policy is easy for every long-term user to note: 1) more students using the site, 2) the quality of the site turning into complete crap, 3) technical experts abandoning the site. As for your concern about schools holding classes without having professors that know the topic, that’s entirely a problem for those schools to solve. The mission of SO is not to provide free teachers to bad schools.
BUT that is exactly what SO has become. Is it right no. Is it fair for a teacher to tell a student to just look it up on SO, nope. But you know what that is what happens. The world is not fair. SO built itself into this. They should try to fix it. Maybe they should not let students in or create there own SO student site. But that is no reason for people to be rude/curt/whatever else you want to say to students. Maybe they need to up the quality standards again which is fine with me. But no need to be rude to people especially someone who is just learning or trying to help out. If you do not like what SO has become or is you can do like me and leave. I am not going to be made to feel like a fool because one I am a newbie, two I do not know how to “ask a question”. People who are asking “bad questions” already are lacking knowledge in what they are asking and beating them down because they did not ask a “good” question is uncalled for. Most of the people asking those questions probably do not even know how to ask it good.
I don’t know how it was when you joined SO, but for new users now, they are given the opportunity, and even alerted, to read about the site on the site tour.
https://uploads.disquscdn.com/images/29c494ead61556294a195483185b8f7e56dab329b5968f0ac715dde412b019e8.png
The tour explains how SO works, and why it works that way. Further reading will lead to the page “How do I ask a good question?”, and that covers all the bases very well.
If a student, whose primary job is to “learn,” can’t take the time to learn about the site and it’s usage, how can I justify the time to deal with their question? And if the learning curve is too high, maybe that student should “learn” something else.
Honestly a message in an inbox is not very obvious. I am quite sure most people assume that is a welcome message and ignore it, students and professionals alike. I am simply saying there should be a bigger focus on educating those new to the site. Especially because this does not seem to be a problem with any other SE I use.
Other stack exchange sites don’t have anything within an order of magnitude or two (or three) of the volume of new questions that Stack Overflow gets each day. http://stackexchange.com/sites?view=list#questionsperday
With more attention possible to each individual question, it is possible to take more time to help the new user understand the culture and expectations. The ratio of the core group (people answering, helping, closing) to new users is also much higher on other sites.
So what you are saying is, someone gets into a community, receives a message explaining what the community is, *chooses to ignore it by assuming they know its content*, and said community should still go out of their way to help these out?
Please tell me you are not serious. That type of behaviour, assuming that one knows the content of something before even reading it, is precisely part of the problem we are trying to root out.
I am saying if I join a website and see a badge in an inbox my immediate thought is that it is a benign welcome message and not particularly informational, as is true on 99% of websites one could join. It is undeniable that SO has a much higher learning curve than other similar exchanges, and a tiny badge in a notification center is not the kind of thing that makes that obvious.
I’ve seen and responded to a number of student posts. And it makes me crazy how many are of the form:
– I don’t understand any of the concepts.
– I don’t really want to learn how this stuff works.
– I’ve waited until the last minute, so just post me the answer so I can turn it in.
These people aren’t looking for ‘help.’ They’re looking for someone to write their homework for them for free. And a depressing number of times, someone will show up and do just that. And usually get no karma from this never-heard-from-again account as a result.
I get that sometimes people post disparaging responses to these folks, but I have to say that sometimes those comments seem fully justified. And if those responses end up causing other people to avoid posting free answers, I struggle to feel bad about that.
Besides, if you stop to think about it, providing free answers to these questions doesn’t really ‘help’ them at all. They haven’t *learned* anything (except for the leech-like skill of getting someone else to do their work for them). When the next lesson builds on the concepts they’ve failed to grasp in this exercise, or when it’s exam time, they’ve just screwed themselves.
But you are right that everyone is new at this stuff at some point in their life. And while I choose not to remember it now, I’m sure I asked (at least) my fair share of stupid, ill-defined questions when I started learning this stuff.
So perhaps there’s something that can be done for the people who are sincerely trying to learn. What would you say to a question template? I’m envisioning a simple form that asks the basic questions that everyone needs to answer, but that newbies don’t think about. The idea would be that the form is just a simple wrapper around creating a standard SO Question, albeit a highly structured one.
If someone seems to have put no thought into a question (or no work into solving it), instead of hurling insults, people can direct them to the form.
Some of the things that could be on the form:
– Show us the (exact) code you have written so far. Don’t say “It’s like this.”
Copy/paste actual code that we can try running on our own computers so we can see what you see. Don’t make us add #includes, or write some kind of test framework around a
single routine. NB If you haven’t even started writing something, the odds of you getting
a useful response are greatly reduced.
– What were you expecting to have happen when this code runs?
– What actually does happen? Don’t just say “It didn’t work,” be specific. Be sure to include the EXACT text of any error messages.
– Have you attempted to use a debugger to step thru your code? What line is causing the problem? What values are in the surrounding variables at that point? Are those the values you expect?
– What google searches have your run to try to find an answer? For example if your question is about “How to count the number of bits set in an integer,” expect to be greatly mocked if you say you couldn’t find anything.
– (Exactly) what compiler are you using (gcc? MSVC? clang?)
– What Operating System are you using (Windows 7? Ubuntu 16.04?)?
– What hardware are you targeting (ARM? 32 bit x86?)
That’s just off the top of my head as I’m sitting here. No doubt some long-time SO wizards could add several more.
The nice thing about this approach is that for most people, nothing about SO changes. People answering questions look for them in the same place as “normal” questions. It just provides a “learner mode” for people asking their first programming questions. And as the newbies become used to the types of information needed to answer questions, they can quit using the form at any time.
The reality is that there are always going to be newbies. And those newbies are going to end up at SO. Figuring out some way to make things work better for both askers and answerers is really the best solution here. This is what I came up with.
I completely agree with this idea. I also do concede that there are a large number of students not cut out for work in programming who need to get filtered out, and questions of the 3 forms you mentioned are definitely not questions that deserve help. I’m only talking about the students who legitimately want to learn, but get rude treatment by people who think they are lumped in with the lazy ones. I think a form like you suggested could be incredibly helpful to these students.
None lazy students lean from books like I did when I did my degree……
I think the amount of people saying “learn from books” is baffling. Many fields, including the one I work in, change so frequently that telling a student to learn from a book is the same as telling them to learn obsolete code. When they go to run the code it might not even work, and on top of that there is a better way to do it.
Once a student had learned at least three different programming languages well, they will have the skills to learn new languages when they come out. There is no need (or reasons) for a university to be using “cutting edge” systems for teaching – choose the teaching programming languages based on how good the books are.
Students should be learning life long skills, not what the current job adverts ask for….
I’m not talking about what students learn in their basic programming and data structures classes. Those are still taught (at least in the schools where I live) in C++ generally. However, I would be willing to argue that I have yet to see a C++ book that was particularly helpful in any sort of debugging or problem solving, for that I was lucky to have helpful professors. Rather, my C++ books make an ok reference for certain language features and fill up some space on the bookshelf. Again, SO was my number 1 resource in this area, although I rarely found the question had not been answered before and thus rarely asked one.
I’m actually referring to the later years when students are asked to create full projects based on newer frameworks, which actually is what should be happening if those students want to compete in the job market. In those cases, books are not helpful at all and often out of date.
Frameworks change at an astonishing rate. Languages much more slowly.
The Java language, unless you are dealing with streams (Java 8, from 2014) is very much the same as it was in 2011 (and that was a few tweaks on the language released in 2006).
For C, C11 (from 2011) while it has some new features (threading, variable length arrays, etc..) is very much the same language as C99. I doubt most students are taught things that differ from C90 (the version I learned – from books).
C++ (oh, those poor students) is again very similar to previous releases unless one starts getting into things like “why doesn’t array??(0??) work?”.
Academic language instruction is often done with languages that aren’t cutting edge. Look at how many C questions are still being asked with the runtime of Turbo C.
This goes back to the “you should ask your instructor.” The answers that are given on Stack Overflow are not necessarily the right ones for a student’s environment or take into account the structures that a student has been exposed to and should be using for the assignment. The answer may be right, but the academic solution may be wrong.
Consider giving http://meta.softwareengineering.stackexchange.com/q/6166 a read.
Often but not always. If we are talking about students past the sophomore level of college, they are using frameworks. My program in particular was the first year and a half or so in c++, a couple classes in java, and then past there we were using higher level frameworks, sometimes of our choice sometimes not, to produce professional-style projects. The format of these classes was usually “Make this, use what you want” or 3 weeks of intro to the framework via lecture + “make what you want using this framework.” Yes, you can maybe get the answer to a c++ problem out of a book (although in my experiences the books are pretty obtuse for a student new to code in general), but the answer to why the android code your professor gave is acting strangely is usually because his book is out of date and the way you were taught is now deprecated. It is these students, who are doing open ended projects closer to what a professional might encounter, that I believe stack overflow should be more accommodating towards, not the students who want help with their data structures homework. And these students are a bit past the point of “check the book.” The only time I found a book helpful in my last two years of school was my software engineering text as a reference for design patterns.
The fact you label yourself “a Professional” but are baffled by advice to “learn from books” is what are find baffling.
I wonder how many instructors have a lesson plan on “How to ask good questions online and get useful responses?” Arguably every programmer is going to need help someday. Both newbies and old sweats will all eventually run into something they cannot resolve on their own. Knowing how to structure a question and what information to provide (and what to exclude) is a skill like any other. Some are naturally good at it, and some need practice and feedback.
The link Shagie provided at catb.org is a brilliant discussion of the subject and could easily form the basis of such a lesson. But (I assert) is totally useless to someone who is frustrated at not being able to solve their problem themselves and embarrassed about having to publicly ask strangers for help and needs an answer RIGHT NOW. Even writing the question is irritating if you are really trying, but don’t know what information people might need to help you. IT JUST DOESN’T @#!& WORK!
“Forcing” these people to think in a structured way not only makes for better questions, it could result in them solving their problems themselves. I’ve solved any number of my own problems by writing up a detailed post describing my problem. By the time I get to the end, the answer is sometimes obvious, no posting required. The power of structured thinking.
As for forms, the nice thing about the idea is it requires absolutely no buy-in or permission from someone at SO. Anyone who wants to can create a form today on their own website. Obviously you can only generate a text output to be copy/pasted into an SO question instead of submitting it for them, but it’s a start.
And getting people to *use* the form is going to take time. And other answerers (especially the high karma ones) are going to need to agree that the form is helpful and begin pointing people at it. But targeting a small, highly specific area of programming with a form could make a good beginning. Then growing the form to add questions appropriate to other languages, hw platforms, etc could occur over time.
Should the effort turn out to be generally useful, I have no doubt that eventually SO would be happy to host this content, eventually tying it into their “Ask A Question” feature. But anyone who feels strongly about the subject could step up and do something about it themselves.
The question template has been tossed around before ( http://meta.stackoverflow.com/questions/253152/providing-a-template-of-a-good-question-for-a-users-first-go?noredirect=1 )
If I recall my thoughts on it before, this would lead to new questions become something more resembling a helpdesk ticket or work order. Setting the expectation that “fill in all these blanks and everything is fine” would likely do a disservice to people asking questions.
This is the subject matter of large essays ( http://www.catb.org/~esr/faqs/smart-questions.html ) and is difficult to condense into a “I hope people will read this.”
I completely agree…as a student and somebody who is just starting out managing IT for multiple companies, there will be some “basic” (according to people who have been programming for 30+ years) concepts that I don’t really have a grasp on, and I am wary about posting a question for fear of getting banned, suspended, not taken seriously in the community (therefore decreasing the number of answers I receive) etc…I am not able to go to a professor or a mentor because in my work environment, I am paving a path that hasn’t been gone down and so I have nobody to ask those basic questions to except here. This could be such a great resource if the community got off their arrogant attitudes and helped people just starting out. It would benefit the entire industry as a whole.
Maybe try reading the whole conversation thread before posting…*sorry more rules*.
What? I don’t understand your complaint. Again…cryptic and arrogant. I have read all of the comments. What’s your point?
Then, if you have read ALL the comments and that is your response, I’ll leave it there.
Even if I didn’t (which I did) I still don’t understand your complaint….
I think Robins comment – http://stackoverflow.blog/2017/02/How-Do-Students-Use-Stack-Oveflow/?cb=1#comment-3157952550 says it best, if you still have a problem after reading that I’m afraid there is no helping you.
I agree that SO is much more noob unfriendly than it should be. This seems to be a reaction to the large number of users who do not show any effort to do research. I have recently made a conscious effort to keep a friendly, helpful tone to my comments when asking for clarifications. Still, when I receive demands for complete code answers, it is difficult to refrain from a more hostile tone.
From my point of view, the key to avoiding getting banned or suspended is showing that you have done some research. Saying “I googled for the last 5 hours and found nothing” is insufficient. Tell us exactly what you found (give links!) and show how you applied what you found to your exact situation. Also, be sure to include a minimal, complete example. In most situations, I should be able to copy and paste your code and then compile and run it myself and get the exact same result you are asking about.
Of course, you probably are aware of most of this. Good luck with your future contributions to SO!
The willingness to “adjust” your approach instead of feeling hard done by, will be the reason you will continue to progress. Nice to read a positive experience in a sea of negative ones!
I can get behind everything you’re saying! Because I do believe laziness in any industry shouldn’t be tolerated. Do people really say “I want to do x, you, or z…What’s the code?” I was unaware this actually happened. I’m on mostly Web Development and scripting (batch, powershell) tags for the most part, and I’ve never seen anything like that! That’s wild, and I could understand the frustration from the community if that happens!
Yes Adam, people do directly say “give me the codes”. People also post obvious homework and ask for the solution… not a particular question about a specific piece of the problem or code — but “can u solve this 4 me?!!?”
The perceived hostility many posters here mention usually comes from asking a question that has been asked hundreds of times before, and the simplest search on SO would have found the answer. Then, as you type a question SO suggests other questions that may be asking the same thing, yet those are ignored.
These appear to me to be laziness, where any effort at all would have answered the question. I don’t downvote those, I just vote to close.
You’re also not going to get suspended or banned for asking a poor question and receiving downvotes, unless you don’t learn and just keep doing it without contributing to SO in a positive way. People generally suggest what’s wrong with the question and often link to the help center, so one has a chance to learn how-to-ask by, again, making even the slightest effort.
The “give me the code” happens quite frequently. Search returns more than a few results – http://stackoverflow.com/search?q=%22give+me+the+code%22 (variations on it return results too)
There are things like http://stackoverflow.com/q/29333931
> Hey guys i really need help on this. I really have no idea on how to work this out. Can you give me the codes to display it? that would be really helpful
“Please give me” also returns more than a few hits. http://stackoverflow.com/search?q=%22please+give+me%22+is%3Aq
For finding homework, one just needs to look for classic questions such as “triangle” – http://stackoverflow.com/questions/26454710/recursive-triangle The worst of the worst tend to get deleted fairly promptly, but if you watch the new questions on a language tag, they’ll show up from time to time ( http://stackoverflow.com/q/42307761 is one such).
Yes, in all major language tags “give me teh codez” questions are very common, often with a straight copy and paste if the homework description and no indication of effort.
See my reply to Adam McGurk bbelow regarding asking good questions.
What happens when you split % over the year graph by hemisphere of the university?
Ahh, Eternal September! Eternal January would be even more appropriate.
How did you got information about user’s university?
Thanks for sharing!
Do you have or can you share the raw data? I want to see how my University stacked up.
It is probably worth noting that the Australian university breaks do not line up with the US university breaks. The Australian universities also have their long break over summer – but being in the Southern hemisphere it is Dec/Jan.
It would be cool to see statistics from network sites, such as Chem.se. Of course, Academia.Se would be heavily skewed toward academia!
Cool post! I’d love to see what other Purdue northwest students are learning!
Kewl, but funnily enough, I *work* at a Uni, so I would be a false-positive “student” in your data.
You have presented your analysis based on data from four countries.
Would you please share data of other countries?
I come from India and excited to see results of students from my country that is using SO for their learning purpose. I know, it’s hard as most of universities won’t have dedicated ISP’s.
“These are four of the seven countries that ask the most questions.” Who are other three countries?
I’m hoping to feature India and other countries in future analyses!
The other countries were India, Germany and France.
Heh, can we see schools ranked by % questions community-closed/deleted?
I would like to see a graph of usage as a function of local time. I expect that the institutions that encourage students to live on-campus (Cambridge, Oxford, MIT, Stanford) would have very different usage patterns from institutions with weaker dormitory systems (such as UC Berkeley, the Cal State schools, and the University of Washington).
“How Do Students Use Stack Overflow?” – by copy-pasting their homework and waiting for someone to do it for them?
What a great, forward-thinking, open-minded response(!)
More like, hard evidence gathered from years of participating to Stack Overflow. We are a lot to concur to that vision.
It occurs, there’s no doubt about that. But generalising every student in this way? What a completely absurd, ignorant and close minded attitude.
Sure, you have evidence for this as these style questions shine through, but I’m sure you’ve answered a lot of good student questions without even realising it.
Oh come on. If you interpreted the first comment you replied to as a “100% of all students always use SO by copy-pasting their homework, and no student has ever asked a good question” hyperbole, it’s just your own completely absurd, closed minded interpretation.
No, that’s not what I am saying. I’m just stating that he clearly believes his comment applies to the mass majority of students, when those claims are completely unfounded.
Truth is often painful.
That’s what I was thinking too “as a good place to re-ask homework questions” (and don’t tell me there aren’t some of those on SO LOL).
Does SO measure traffic from switzerland e.g. ETH Zurich/Lausanne?
Students like me and others would use stack overflow more, but
because people tend to like to instantly down vote legitimate questions
(and stackoverflow makes it easy to kick you off their network now which
just a few downvotes), often people tend to use other resources where
the environment is let hostile.
The problem is, students (and pretty much every new user) get on stack overflow thinking they get to decide what is legitimate or not. The community does. Learn the community, and you will in turn learn how to ask better received questions.
It is VERY unlike that any question from a 1 or 2nd year student had not been asked 101 times before. Just before you don’t know how to explain your problem to google or read books etc, does not mean it is a question an expert will consider is worth asking.
I don’t know how we could manage that, but if it was possible to get stats on how many student questions get closed, deleted, voted on, answered, it would help shed some light on much of the debate about legitimate questions being closed and/or downvoted in the comments here.
Stats purely on how many got x action performed on them wouldn’t help that debate at all. That means literally nothing about the “legitimacy” of the post.
Yes indeed, it speaks about the legitimacy of the post. It’s the community that decides what is legitimate. If most of these get closed, it’s because they are not legitimate. These stats would be very important to actually share a common ground for the discussion.
If it turns out that 90% of student’s questions are closed, downvoted or otherwise deleted, and that it turns out that most of them really are poor quality, yes indeed, it would have an effect on the so-called rejection of legitimate students questions, because it would mean that legitimate questions are actually very rare, leaning towards we are totally doing the right thing.
On the other hand, if only a small percentage of these questions are closed, downvoted or deleted, then yes indeed, we are probably too harsh on students, and should aim to change that.
I’m really enjoying the more frequent posts analyzing SO data; I’ve always been interested in studying StackOverflow data (some side projects involve digging through the archive dumps and/or data explorer). It’s great to see the type of questions you’re asking about your data.
Is a USA public universities like a UK public school, e.g. not run by the state?
No, in the US public universities are generally state universities (https://en.wikipedia.org/wiki/State_university_system ).
They are funded by the state (significantly but not entirely, they also accept donations, charge tuition, etc), and their employees are considered state employees, so that tends to govern a lot of what the school can offer/provide. In addition the state can provide certain guidelines or laws (example is that if you get a 2 year degree in my state your “general education” requirements must be waived if you pursue a 4 year degree). However they are generally operated internally. However they are not public in the sense our lower education systems are (exact same curriculum throughout the state, no tuition). Therefore curriculum standards including general education requirements can vary widely by university and credits do not always transfer, even among state schools in the same state.
I can’t believe how many students are here complaining about SO being “too hard” on them. I’m a full time student in IT, which, granted, is not CS, but I have asked 6 questions on the site and used it to find answers to programming questions hundreds, if not thousands, of times. I’ve never once had a bad experience. Respect the community and they will respect you. Do you know how many times I’ve been stuck and spent hours (even days sometimes) working on a problem? More times than I can remember. Do you know how many times I’ve asked a question about those issues? 6. Asking on SO is meant to be a LAST RESORT. Not the first thing you do when something doesn’t work. Use it this way and you will grow as a programmer. I know I did. You’ll also have a much better experience.
Another thing I should mention. There are over 6.7 MILLION users on Stack Overflow. To think that you will never receive a snarky or rude comment is naive at best. But this ties back into respect. Respect the community and they will help you, including removing any rude comments you do get. Don’t respect them and they won’t be so inclined.
It’s not hard.
True this.
I have been on Stackoverflow for 5-6 years already, but never asked a question, as whenever I have problem with my code, stackoverflow has all the answers I need.
Contrary to your experience, I am an experienced developer and I *have* had bad experiences here. The worst offender was also one of the most prolific posters. He had a reputation rating of god-like status and, simply because he held a different opinion than mine, downvoted and berated me for sharing my knowledge and experience. I have always been quite respectful in my posts, but some egos won’t let them accept another’s perspective, regardless of how it is presented. So you don’t always get the respect you show or deserve.
On the other hand, I’ve seen many really vague, ambiguous, or badly-asked questions, too. You’re right, there does have to be at least a minimal level of respect on both sides.
Jerks exist anywhere there is a large enough community, and you will run into them from time to time. Reputation doesn’t mean you’re nice, and I am aware of my high reputation users who have been suspended multiple times for rude behavior. I imagine from what you’ve said your question was tagged with PHP.
New SO user here. I will just say that my perception of the site has been that it is quite unfriendly to beginning programmers(I am currently learning R). I can understand why people dislike very basic questions that display little effort. The problem, from my perspective, is that there’s a culture of giving rude responses and being quick to downvote. I particularly enjoyed the response to one question I posted where the commenter stated that I’d falsely “accused” an R function in my question(I hadn’t, but hey). Of course, getting downvoted as a new user is strangely liberating after a few times, as one can’t go below 1 rep, so there cease to be consequences of any sort at that point!
I think what many of the people commenting on here miss is that a lot of people learn by collaboration. An earlier post drew a comparison to the response one might expect from your boss if you asked a particularly dim question. Anywhere I’ve ever worked, people work on something for a while, get stuck, and ask for help in an attempt to get unstuck. Sometimes the sticking point is something truly new, often times it’s just an oversight or silly mistake. Most people that are good team players accept a certain amount of this kind of thing. If there’s a critical mass of experienced programmers on here that don’t learn like that, fine. I’d consider it inefficient if someone (especially an employee of mine) just banged their head against a wall for days on end instead of asking for help.
If I have a problem that I’ve spent an hour trying to work out in my IDE and a reasonable bit of time searching the web for the error message, I will ask for help. Most recently, it was with an approach to including type information in a map where the values were collections of types that only shared Object as the base. Some collaboration in slack and I settled on a POJO with an annotation where the value was the enumeration I was interested in as the “key” to the map.
There are a few points to take away there. The first is spending sufficent time on the problem. Asking another person after spending only a minute or two on the problem is not enough time spent. I expect an hour or so of effort.
Along with that effort, I expect to see or have sufficient explanation of the code in question. Saying “I am having trouble breaking a String into a List” isn’t enough and by the phrasing wasn’t even typed into google.
Another point in that bit above is that I asked on slack. Chat. You hinted at this too – that some people learn best through collaboration. Stack Overflow is not the right platform for every type of question. Stack Overflow is very poorly designed for collaboration. The comments aren’t threaded, you can’t respond to particular messages, comments may get hidden (or deleted), and the “reply to a comment in the post” is clunky at best. This is all intentional. To keep the focus on Q&A, the system was designed to make discussion and collaboration – the type of thing you would find in a forum – difficult at best. There’s also chat rooms on Stack Overflow where the dense back and forth necessary to help a person work through a problem can be found. If comments get too long on a post, they can get automatically moved to chat.
Asking a question on Stack Overflow is a competition – against 8,000 other questions asked that day. It is important to ask a question well enough that it can be answered usefully both to you and to the next person with that same question. Asking questions poorly has an enormous opportunity cost for everyone who looks at it and doesn’t derive any benefit from it.
I whole-heartedly agree about taking the time to work on the problem oneself without wasting too much time banging your head against the wall. This can be a difficult balance. I am also disappointed by the number of askers who just state “I have googled for the last 5 hours and found nothing” or “I did everything at (this link) but it still doesn’t work. This is insufficient. It is important to **show** what you found and, more importantly, show exactly how you applied your findings to your exact situation.
I am probably preaching to the choir here. Just felt the desire to add my two-bits to this conversation.
It sounds like what you need is a dedicated discussion community (chat rooms) where more experienced people can hang out and answer questions for new users or just point them in the right direction. I’m sure SO has discussed this kind of thing before.
Stack overflow has chatrooms though: https://chat.stackoverflow.com/
problem is not with the new user. but new user generally don’t ask question in a proper manner. There are clear guidelines given in How to ask section in stack overflow but most users skip that as they want answer for their problems as soon as possible. And for that reason they just post their problem without any explanation for their questions,or only code some times, skipping error logs and steps to reproduce. They should also explain what they want to achieve so if the user is going in wrong direction, someone can point them in right direction.
I agree with that wholeheartedly. I think the fact that when I commented using the word “student” the assumption was that I was talking about first year students getting help with their beginning programming homework is indicative of that. I really meant students trying to put together real projects, but every response I got seemed to assume student meant “trying to write a simple console program” or “didn’t google the answer.” Its like they have forgotten there is a space in between hello world and full scale software projects where people aren’t necessarily lazy but still need help.
I get that SO sees a lot of lazy students who will probably not actually make it in a CS profession. But as a professional I should not be worried that if my problem I ask about contains a silly mistake someone will be rude to me, which is still highly likely.
Not even just to beginning programmers. I seldom ask questions on here because not once have I felt like I was welcome to afterwards, even if I did get my answer. I’m grateful to those people who do help me, but it often feels like the attitude is that if even one person doesn’t understand your answer perfectly (even if lots of other people do!), then you are terrible and deserve a ban.
As a student I was always too terrified to ask questions here. I’d say about 75% of the HELPFUL questions which I found via Google had already been closed by overzealous moderators. This strongly discouraged me from wanting to interact with them directly, and I only ended up posting about 1 question per year of university enrollment. As I’ve advanced into more esoteric areas of programming I’ve started asking more questions and found that the number of improperly closed questions which I run into has dropped to about 25%, but the abusive over-moderation does seem to extend everywhere.
I honestly don’t even believe it’s about programming. It has something to do with the human condition, the socially awkward seeking virtual power that the real world hasn’t granted them, and the “earn points by being a dickhead” format of StackExchange. If you look at ANY StackExchange website there are typically 4 groups:
1.) Users who find questions via Google and learn from the existing answers. These users typically don’t even have accounts, but they’ll occasionally do the research, isolate the problem, and post for help when they get really stuck.
2.) Users who are admittedly quite lazy and post low-quality unresearched questions. I have a strong suspicion that these folks are typically NOT university students.
3.) Abusive hypocrite moderators with personality disorders who’s primary goal here is to find a reason to close each and every question regardless of the quality or type of user who posted it (Leading Example: https://www.quora.com/Why-does-casperOne-close-ALL-of-the-best-questions-on-Stack-Overflow).
4.) People who are actually experienced and helpful in their subject areas and will post meaningful answers before the moderators have a chance to barge in and halt the learning process.
Another contributing part of the problem is that “normal” users don’t find much value in contributing to the background politics of StackExchange. They’re not on meta (which is hilarious to lurk by the way). They’re not wasting energy arguing with the abusers. They just get in, get answers, and get out. This leads to a disproportionate representation of the abusers amongst the policy-makers. Unsurprisingly, this happens in real politics too!
I can soooooo agree with you here, I’d fall under the 1st group. But honestly, I have been scared away from using this site. Even when I have exhaustively searched the site, google and spent over half an hour just formulating the question (after doing multiple hours of trying to fix it myself) the mods always seem to find some or other reason to shut nearly every question down 🙁
very gooooooooooooooooood
This is really great source of knowledge….Please check my new blog on Java Interview Questions and give me feedback. http://corejavainterviewquestions.net/