text:
Which authority dictates/regulates that in computer science a journal paper cannot be presented in a conference?
I was taught that conference papers in computer science count as publications. Therefore, a journal paper cannot be presented in a conference because of plagiarism reasons, and vice versa.
I confirmed this information:

Publishing the same results at multiple conferences
Submitting the same research to multiple conferences
Journal publication and acceptance to competitive conferences
Under what circumstances can one republish a conference paper/presentation?
Present journal paper at conference or the same work at multiple conferences

The weird part for me is understanding which authority (IEEE?, ACM?) regulates this? Is there any document that support this? It seem that this policy in CS emerged from the community (bottom-up; see for example this) – sort of like hand shaking or bowing in Japan – and is therefore self-regulated by people.
Related to this question (EDIT: I will ask them separatedly later as suggested in the comments but I feel I need to clarify certain issues I seem to be confused with):

I have had multiple arguments with colleagues of other fields
that disagree with me in that conferences papers/presentations don't
count  as  publications (I am in a multidisciplinary field). I feel I
tend to loss these argumentations because it is one CS student against
the rest. In a way, it would be easier if I could refer people to some
authority.
If I simply don’t want to follow the rule for conferences that
apparently don't count papers as publications, what are the real
consequences apart from the social lynching? To be clear, the work is
done but not published - just somehow presented in a conference (*).
Is there any way to confirm that a conference or proceeding is formally
registered as an (or to an) editorial/publisher?
Is there any other way of presenting published results in a
conference as, for example, simply abstracts (*)?

(*) In some areas people just present abstracts, and depending on the area, the conference accepts almost everything. The main goal of this seems to be networking - presenting the work and having the opportunity to interact with people that assist to your presentation (if any).

I am no computer scientist, but there may be too many distinct (yet valid) questions in your question. I suggest to ask your questions separately, one by one (so you can build upon the answers from your previous questions). As for your question 2b (“How can I substantiate that a publication at a conference is ‘valid’?”), you might specify the background for which you need this.

SIGMOD and ICDE (premier CS database conferences) now allow the presentation of papers now published in the TODS and TKDE journals, as posters in the conference. Note, that this is not a separate publication but instead it is used for promoting the journal publications to the conference audience.

@BenCrowell: As far as I know, "to count something as a publication" is synonymous to "to consider something a publication". It has little to do with "counting publications".

There is no central authority that regulates anything. Each journal and each conference have their own policies about such things. In any case, it is not in general true that in computer science "a journal paper cannot be presented in a conference because of plagiarism reasons, and viceversa". My answer to another question explains more about the difference between conference and journal publications and how they interact with each other (the answer is not area-specific, but it was informed by my specific knowledge of computer science publication conventions).
As for your other questions, they are a bit vague but I'll try to answer them:

I have had multiple arguments with colleagues of other fields that
  disagree with me (I am in a multidisciplinary field). I feel I tend to
  lose these argumentations; and basically nobody really believes me
  because I would need a bunch of people in my field as proof.

If I understand correctly what it is that you are claiming in your arguments with your colleagues, it sounds like they may be in the right. However, it's a bit unclear what your position is precisely, so perhaps you should try to clarify that.

If I simply don’t want to follow the rule, what are the real
  consequences apart from the social lynching. In a multidisciplinary
  field we are already kind of being punished when we hear that
  conference papers don’t count as publications. Is there any way to
  confirm that a conference or proceeding is formally registered as an
  (or to an) editorial/publisher?

Again, I'm not sure what rule you are referring to. As I said above, there is no centrally regulated system of rules. Each journal or conference will have their own publication policies which you should comply with. These are not "rules" in the sense that disobeying them will get you arrested, but not complying with these policies will quickly get your papers rejected and/or get you labelled as a dishonest or unethical researcher. If you are after an academic career, it is completely counterproductive to do this, and if you don't want an academic career, I don't really understand what would be your goal in trying to work around the publication conventions in such a way.

Is there any other way of presenting published results in a conference
  as, for example, simply abstracts?

Again, I disagree with your premise (at least in the generality in which it is stated) that one cannot present published results in a conference. I'm in math rather than CS, but I have done precisely that many times (Edit: to clarify: in math, conferences usually don't publish proceedings, so "presenting" does not equate to a publication). Even in many CS conferences, you could do that by taking care to first submit an extended abstract version of your paper to the conference, presenting it there, and following that up with a more detailed paper which you will submit to a journal. The order does matter, as the answer I linked to above discusses, but that's the logical order of doing it anyway, so I don't really understand what the source of your frustration is. If you add more details to your question I'll be happy to discuss them.

Edit: Here are some more thoughts addressing the very helpful clarification comments you left below my answer.

I sympathize with your money issues, but honestly you are mixing two completely unrelated things here. The fact of the matter is, publishing in a journal first and then in a conference is less logical and rather defeats the entire purpose of the system of dual conference-journal publications (and, to be clear, I rather dislike this system myself and think it has some serious flaws, but it does have a certain logic to it, which you are trying to work against because of the unrelated money issues).
What I think would make sense for you to do is to determine what is the optimal way to publish your research from a scientific point of view, ignoring the funding issues, and then go to your advisor and/or department, explain the problem to them and ask them to help you achieve that goal. If they are running an honest graduate program, it is their responsibility to provide grad students with the resources they need to succeed in their work. So, I think that problem ought to take care of itself if you go about things in a mature way instead of trying to work around the system, flawed though it might be, and ignore well-established conventions in your field.
As for "conference papers don't count as publications", that statement simply does not have a well-defined truth value, and in fact, I think asking questions like whether a conference papers "counts" or does not "count" as a "publication" (whatever that is) is misguided and unhelpful. Here's what in my opinion is a more helpful way of thinking about this topic: a conference paper is precisely what it is, nothing more or less - it is a form of publication that has certain characteristics in terms of the rigor with which it was evaluated, the level of certainty that it is correct, etc. When you are evaluated by others in connection with job applications, promotions, etc., it is important that they understand the context for your achievements so that they can reach an informed opinion about how good your work is. When working in a multidisciplinary field, you are correct that there can be a risk that the people evaluating you are not sufficiently informed about the conventions in some of the fields you are working on to have that context. I agree that this can be frustrating and worrying, but I think there is only one correct way to address this concern, and that is to provide that context in an honest, clear, concise and readable way in your CV and other documents (research statement, publication list). If your department is unfamiliar with CS conference proceedings papers and how much they "count" for, explain to them what such papers are about; e.g., have two sections in your publication lists, one for journal publications and another for conference publication, and include a small footnote to explain the distinction.
On the other hand, do not be tempted to try to game the system in any way, by, for example, withholding that context, trying to pass off a conference paper as a journal paper, ignoring editorial policies of a journal or conference you submit to, or any other means that can be viewed as dishonest or unethical. That will only lead to trouble.

To summarize, I understand from your comments that you have some legitimate concerns about funding travel to conferences and about having your work be evaluated by people who do not understand publication conventions in CS, but it seems to me that you are contemplating some rather ill-advised means for addressing those concerns. Academia is not perfect and one often encounters such less than ideal situations in almost every discipline, but I find that a little bit of creative thinking, maturity and honesty will almost always overcome them.

In my 1st question, I was refering to colleagues that always insist that conference papers don't count as publications (in CS they do, at least most of the time and I am not sure to tell when not because of the community assumption problem). In my 2nd question, I am just refering to conferences that don't count the papers as publications in which case the social punnishmment still exist.

Regardles the 3rd question, my frustration starts because I have to apply to travel founding (international PhD student here) prior to trips and acceptances. The award deadlines are usually way before the submission deadlines and it requires a lot of anticipation and, in terms of timing. Basically, it is just better (safer in terms of money) to publish in a journal first. Probably that would be different if I would be in a CS department, but things get fuzzy when doing working in a multidisciplinary area. Conferences should be for divulgation, journals for publication.

to be clear, the source of the order problem is that conferences  usually require an author to assist triggering travelling expenses. It is comparatively easy to get founding for a journal paper once accepted. So, it is better to publish in a journal first, and then attempt to divulgate the results afterward (without having to produce a slightly different work to avoid the plagiarism - consider being PhD students again).

I had a lot to say about your comments so I've added more thoughts to my answer. Hope you find this useful.

from your edit in answer 2, can I assume that if there is a proceedings then the paper counts as a publication? Is the opposite true as well, if there is no proceedings, then the paper doesn't count as a publication? (I don't see the need of quoting the word count because it is completely explicit: if a document count as a publication, then you cannot publish it again; so the counting is at the core of the question - avoinding plagiarism)

as for "it is their responsibility to provide grad students with the resources they need to succeed in their work", I would have just say lol; though I understand that you don't know the context in which I am, e.g. we are way below the poverty line. In those conditions, yes, probably they give us "enough" support to finish our thesis, but if we have to get out prepared to the real are world, publications and connections are necessary, and funds are short and competitive. Therefore, I found it, at least unfair, when you take money out of the equation.

If there are no proceedings then there is no paper, so I'm not sure what you mean about whether it counts as a publication. And if there are proceedings, then as I said I don't consider the question "does the paper count as a publication" a meaningful or helpful one, so I can't say anything more about that, sorry. As for the money issues, yes, it is unfair, and as I said I sympathize, but sadly I can't solve all your problems. All I can do is provide some feedback that the approach of trying to manipulate the system to address those issues comes across to me as highly problematic. ...

... Of course, you may still end up deciding that this approach is the best approach for you despite my feedback, and then do what you feel you have to do, but I hope it's useful for you to know how this might look to outside observers. In any case, good luck and I hope you figure out a good path forward.

for a moment everythin was clear (proceeding = publications) but not. I think I have much more information now and I have a better strategy for my last year. To clarify, it was never my intention to publish the same work twice, but it just exposes a white area where it the regulation is not clear, maybe I should question the other fields instead. Thanks for all your time and advises.

As is, a journal paper cannot be presented in a conference in many fields, not only in computer science, whether the conferences are counted as publications or not. Of course, you can always present an improved version of a previous work, if the improvement is significant.

It seem that this policy in CS emerged from the community (bottom-up) (e.g. see this), sort of hand shaking or bowing in Japan - and therefore self regulated by people.

The entire academic world is somehow self-regulated by people, and most people agree on the fact that trying to resell the same paper twice is unethical because it can lead to an artificial inflation of the number of publications, which is one of the many indicators employed to hire people in academia.
And even if you don't find that unethical, you don't want to read the same publication again and again, do you?

I understand the double publication problem (which I do consider unethical). It is a matter of presenting results to promote your own work and to establish with people in your area.  My third question addressed that, how do you present results without entering in ethical dilemma? and my second question adressed the way around, how to present in a conference that won't count the acceptance as a publication?

In any case, I have also found in many instances very related work published in a journal (long version) and then in a conference (short version). It might or might not be differently enough but I found myself citing the two papers because I am not able to tell which is the most relevant (specially if it is recent work) so the problem of the same publication exists already.

@toto_tico Most conferences allow the publication of extended papers after the conference, once the proceedings have been published. For the extended papers to be accepted, there should be at least some 30% of new material and the proceedings should be duly cited. Thus, a short answer to your third point can be: plan your publications according to the above requirements. In fact, this is exactly what I do: I know what the important conferences in my field are, and I plan first a short paper and then an extended paper to be published later on.

@toto_tico Anyway, I agree with Wrzlprmft that you've posed many questions that would be better asked separately, because answering all of them at once might be overwhelming.

One reason conference proceedings are accepted as publications in computer science is likely because CS moved much faster than physics or mathematics. In the latter a multi-year review process was acceptable, but not in the former. So the latter accepted conferences only as a presentation platform, but not as final verification/peer reviewing opportunity.
It may be that in future, with accelerated publication channels, this will change and even CS conferences may lose the stamp of publication (except for the top ones), but cultural inertia is usually slower.
However, as long as proceedings count as publications, they should not overlap significantly with a journal publication - publications are the currency of the scientific community. And while there is no central committee enforcing that the currency is valid (i.e. publications are valuable and original), the members of your narrower community carry out social control. Compare that to pre-state social control in a small village. You didn't need a central police force, the decentralised village community was perfectly sufficient for this. In fact, historically, this would be the earlier stage and science mostly still works like this, because of expertise horizon.

When you speculate about speed of the field as a reason for the popularity of conferences in CS, you should probably also consider that at least in some subfields of CS, the demonstration of the subject of research is a crucial part of what is being presented. Even an applied chemist will usually not set up a small lab on stage to show an experiment live, in front of the audience, nor will an applied biologist bring any flora or fauna into the conference hall - but in applied CS, anything that can be shown on a screen is usually shown on a screen, as a running demo.

@CaptainEmacs, I thought I was starting to get clear with the answer below of Dan Romik, in the sense that if there is proceedings, then the paper will count as a publication regardless the field. However according to your answer this is not the case in other fields, i.e. even with proceedings there is no publication.

@CaptainEmacs, I guess the peer review aspect is an essential way to decide on my question 2. Is it conclusive? At least, I will add (Peer-Reviewed) on the side of my conference papers in my CV.

Talking about peer-reviewed publications is like saying pesetas are money; they are, but so is the US dollar. The value depends on the community and the conference in which the papers are read. There are forgiving communities, but in other, you can lose reputation. In computer graphics, there is SIGGRAPH, everybody submits there. NIPS/ICML deadlines are fixtures of Machine Learners' calendars like Christmas and Easter. But other conferences are just meeting spots, and, again others, are considered 2nd/3rd tier. Depending on your field, you may want to avoid the latter, peer-review or not.

The main reason why conferences with formally published proceedings do not accept work which has been already published or accepted elsewhere is to avoid duplicate publication (https://en.wikipedia.org/wiki/Duplicate_publication). It is just the same as Journal B will not accept/publish a paper already accepted/published in Journal A. Such rules are regulated by publishers, conference organizers, and the whole ecosystem is coordinated by the Committee of Publication Ethics (COPE) - http://publicationethics.org/
In other fields, conferences do not have formally published proceedings, just sth like a book of abstracts. That's why you can present the already published work there.
While you are asking about presenting journal work at a conference, the opposite case is quite common in CS. For instance, you publish sth at a conference, then extend this with new results, more details, state the increment and voila - you can submit this new work in a journal.

Ah, what will happen if you do duplicate publication - one or both papers will be retracted and you can get some shame in your Uni/community...


text:
How to address a PI's issues with organization?
I am a postdoc at an european university and for the most part get along very well with my PI. However, one issue that can be challenging to deal with is her complete lack of organization. Very often she schedules meetings with people, me included, and then simply does not show up. Or shows up almost an hour late saying that things got in the way. It would be fine if it were something that happened once in a blue moon, but it is more the norm rather than the exception. I understand she has a lot to do, but I like planning my activities (lab work, writing, student supervising) and when I am told we will have a meeting, I adjust my week accordingly and when this happens it is very annoying to have to keep rescheduling everything to make time for the meeting that she herself had scheduled and missed.
When we do meet, we make decisions for analysis or experiments moving forward and then in the next meeting she forgets completely all that was decided and changes her stance on these things based on her mood I guess. Often she tells us doing analysis X is of utmost importance and it should be the number 1 priority. We do that and in the next meeting she says doing analysis X is not important at all, that we wasted our time and we should have done Y.
Having said all of that, I think it might be good to address this issue. However, I think it might be a bit of a delicate subject, so any tips on how to go about this would be appreciated. Or do you guys think I should just grin and bear it and not address this at all?

I was in a similar position with a very encouraging, very kind PI who did most of the things you mention. I still work with her and these are a few tips I've found on the way:

Take a more formal approach to documenting meetings. Write down key decisions with reasons when you agree what's to be done in the next week. If your PI changes her mind the next week you can ask what changed. It maybe something or nothing but will help clarify expectations.

Take control of meetings when PI no-shows. If the PI is going to be late get the stuff done which doesn't need her first. It's not a waste of time if you are being productive. Then when you have her attention be selfish and acknowledge to yourself that things are likely to overrun too. The flexibility may not come naturally to you but will help in future - academics are not known as a group for their tight organisational skills! Taking control of the meeting is good experience for you in your leadership development too.

Do bring up no shows. It is rude to no-show; especially if no apology is sent. You can ask if everything is okay and offer help. If you know that you cannot attend, make sure you tell everyone.

At the end of the day, this sounds a lot like a clash of expectations. To answer your direct question of whether to grin and bear it or address it -
I think two good choices would be (you could also do both!):

Take things on a case-by-case basis. Choose your battles carefully. If your timetable is not too packed and you can be flexible, that can really help you get the help/advice you need. If meetings are missed can you suggest catch up meetings? These mainly involves changing your behaviours/expectations.

Talk to your PI and reset her expectations. If you go in all guns blazing, this could end in tears, but a carefully-considered, constructive approach could really help. Maybe the PI thought the meetings were not so important. Maybe the PI thought she wasn't really leading the meetings. Maybe the PI didn't really see the problems she was causing. This will hopefully result in a better match of behaviours/expectations.

I now get along much better with my old PI but there are still times when things go wrong. These expectation settings, both individual and together, have helped a lot.

Thanks for all the suggestions, I think they were all very helpful. You may be on to something concerning the expectations issue!

I think its important to separate your two issues here.

No-shows without a message or apology is rude, whoever it is that is doing it. Stuff that is more important coming up does happen, and, as long as it is occasional, is just something we all have to put it with, but you should be informed in advance (even if it is, like 5 minutes before). Again, most people forget things from time to time, and as long as it's only occasional, and there is an apology, then its something we all have to live with. If both things are regular occurrences, and there is never warning nor apology, then that is a problem.

The PI forgetting about the project between meetings, and having differing opinions on different occasions is just the way it is. Most PIs mentor more projects than anyone can be expected to remember the details of, and its probably unrealistic to expect things to change so that they do remember them, irrespective of what you might say to them. There are various ways to deal with this. I know that running things via formal documentation/project management systems is one way. Another I've seen students use is to never do anything their supervisor says until they've said it on at least two consecutive occasions. The final solution, which is probably more appropriate for later-stage students is to listen carefully to the supervisor's opinion, consider it carefully, but in the end make up their own mind about what analyses are important etc.

Yeah, the no-shows usually come with no apology or warning. Concerning the second issue I will probably take the third option you mentioned, I think it will be smoother that way. Thanks for the suggestions!

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Can I show fragments of research articles in an educational video?
I'm considering making a public educational video about finding information using search engines like Pubmed. I consider filming the whole process with searching, reading and analyzing the abstract and then getting into details in the full article.
I'm wondering if I can legally show fragments of articles in a video. Also, does it depend if the article is open access or not? Can I show anything from behind the paywall?
Or more generally - how much can I legally show for educational purposes in a video without violating any laws?

The legal question is probably off-topic here, and already the issue of what laws apply seems complicated and require more detail from you. I'm rather confident though that there is no practical risk of getting into trouble with this; and I am certain that this is ethical behaviour.

@Arno..."no practical risk"... Well, don't show fragments of anything that Disney has under copyright, or any musician. Copyright law still applies, though it varies.

As a strictly legal question, we can't answer it here  as it is off topic as @Arno, says. But note that the question is more complex than it might appear. Copyright law is normally civil, not criminal, law, and there are various limited exceptions for education and for criticism. You are probably safe enough, though, if you observe the normal limitations that you would in writing a scholarly article. Make the citations clear and don't quote (i.e. show) too much are the main rules. But, lawyers can be a nasty bunch. One rule involves whether what you do affects the value of the original.

Not sure about PubMed, but WebOfScience has uploaded videos to YouTube on how to search. Haven't watched them, but you may be reinventing the wheel.

Legal questions are beyond the scope of this site, and if you want to be certain then you should seek advice from a lawyer in your jurisdiction (or perhaps from a librarian; those guys know plenty about copyright law).  If you are working at or with a university, you can seek advice from the university legal counsel.
You do not say where you are, so that is the first issue --- the rules applying to you depend on your legal jurisdiction.  Copyright laws differ across jurisdictions, but they generally have rules for "fair use" that can include educational purposes under certain conditions.  If you can't find someone to help you, and you would like to research your own answer to your question, you should consult the relevant copyright laws in your jurisdiction and the requirements for "fair use".

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Influence of the familiarity of the university with recommender to application success
I am an international applicant trying to apply for a PhD program in Europe in mathematics and I am a bit confused regarding whom to ask the second recommendation letter. There are two professors I could choose from, and both are ready to write me a letter. One is a much more experienced and established professor, who has had more interactions with me, and probably knows me for a longer time than the other. The other is a great professor on their own right, has actually graduated from the program I am applying to, but had more recently had their PhD and thus maybe relatively less established. They also have known me for less time than the first.
I was now wondering how much of an effect can the familiarity the program has with the recommender affect the admission decision. Would it be better to go with the first professor, about whom they might not have had interactions with, or with the second, who was PhD graduate from the program itself?

This seems to me like a coin toss, but I'd recommend the first professor, actually. If they are well known and respected in their sub-field then they are known internationally almost certainly. They are known by reputation if nothing else.
However, a more important consideration, that you don't mention, is what these two will actually write about you and how well they will predict your success in doctoral study and beyond.

I have taken courses with both of them, and have academic interactions with them regarding the course(s). I have taken two courses (offline/hybrid) with the first professor and one (online) with the second, and all of them had gone really well, with me enjoying them a lot.

I was also a TA in a course with the first professor as the instructor, so they probably can tell something positive about my TAing skills. Nothing of the sort happened with the second professor.

Also, thanks for the answer!


text:
How to efficiently switch between two different subjects without losing productivity?
One thing I have noticed as a student is that when I have to switch between two different tasks that I am supposed to be doing, say, for example, studying for two different subjects I am reading, I have this time in the middle where I cannot focus on either of the tasks. I cannot entirely take my mind off the earlier one, nor can I do anything productive while switching.
I had tried to keep working on a single task for a long time, but this doesn't work when there are multiple courses we are required to take, with most of them requiring equal attention.
Is there any suggestions on how to overcome this?

Task switching is at least a 15 minute hit to productivity each time.

"this doesn't work when there are multiple courses we are required to take, with most of them requiring equal attention" But do they all require attention every day of the week? I think you were on the right track with your idea of blocking longer time frames per course.

One way is to take a clean break. Exercise, especially aerobic exercise, is good for this. But getting a cuppa in a cafe or lounge where you can, perhaps, have a general conversation can also work.
Not everyone needs this, of course, but if you find that you have non-productive moments, make them productive in other ways; socially, health, family, ...
I recommend aerobic activity since it gets the blood moving through the body, including the brain. But things that use the brain in different ways than study can also be effective.
And, note that a break is "efficient" if it brings you back to work with increased vigor. Actually "effective" is perhaps a better way to describe it. And it works even if you aren't switching between subjects, but just "stuck" in some way.
In addition, note that the brain continues to work at a subconscious level for most people. A break can actually be as effective as continuing to "push" the brain toward a goal.


text:
What makes a MSc in Computer Science difficult for someone who has no specific background but 10 years of experience as a programmer?
I enrolled at my current MSc in computer science program last year having never completed a single computer science course in college. I decided to apply because 10 years after college I had a fairly successful career as a front-end web developer and figured it would be great to have a degree so as to look like a more legitimate programmer than what my anthropology B.A. degree might imply. I had taken several math and physics courses in college and did well, so I figured a computer science degree could be manageable.
Now, it's been over a year since my program started (I attend part-time). I dropped a core class in basic algorithms in my first semester because I couldn't understand algorithms and decided to enroll in the same course offered this summer. I'd hoped to do well this summer, but it looks like if I pass I'd be just barely scraping by. It feels like everyone is doing much better than me and can solve problems faster and more accurately. If you were me would you quit the program? I'm not sure if it is:

a lack of a background in undergraduate computer science
the fact that I am an older student who is nearly 40
a lack of aptitude for this subject

Any thoughts from others in computer science, engineering, and mathematical sciences would be much appreciated.
EDIT: It's been 7 months since I posted this and I've realized the problem. Front-end web development quite frankly is nothing like computer science. Many concepts in my basic algorithms course requires a good grasp of recursion, which I didn't have before entering the program. All the programming I had done in the past was iterative. Once I was able to understand and (more importantly) correctly apply recursion to everything from Towers of Hanoi to dynamic programming the algorithms course got much easier. To anyone starting graduate school in computer science--never underestimate the importance of recursion! Even if you think you understand it, test yourself with other students to make sure your understanding is solid!
More generally, my advice to anyone starting out in computer science is to figure out what it is you are weak at and work to get stronger in it. That can be hard to do initially if you are overwhelmed by the material and everything just appears really difficult, but talk to your professor and ask him or her to help identify your areas of weakness, never give up, and you will be able to master the material soon.
Btw, I did take a one year Intro to CS course for students without engineering/math backgrounds, but it mostly focused on object-oriented  programming and glossed over recursion.

Did you start out your program by taking undergraduate-level CS courses to bring yourself up to speed, or did you dive straight in to graduate-level coursework? If the latter, then I think that you should first enroll in the necessary undergraduate prerequisite courses.

As an anthro major with no formal CS experience and minimal back-end experience it's not too surprising that algos is a challenge; it's certainly one of the most mathematically intensive core classes in the typical MS path (guessing graphics is an elective). Have you done better in other courses? Perhaps if it's just algos, you need to go to office hours and establish a support group rather than go straight to quit. You never specified what you've tried to do in algos, I guess, is what I'm saying.

@rch I guess that is what throws me off--I am good at math. I finished multivariable calculus and linear algebra and they weren't any trouble at all. I took discrete math and loved proofs. So, I thought algorithms would be a cinch, but I'm having trouble. We use the Cormen Leiserson Intro to Algorithms book which is really hard to understand, but I haven't found better books than this one. I can't understand recursive equations like how you construct T(n)=log(n)+O(1) from an algorithm. I'm at top 25 U.S. school by the way if that's any indication of level of difficulty.

"A CS degree makes me (look like) a legitimate programmer" -- that might be the core fallacy right there. CS (the science) and programming (the craft) have little to do with each other (even though either can profit from the other). That said, I'm confused that you have troubles with algorithms; that's typically the topic that comes most easy to programmers (well, sans the formal analysis). What/how did you program?

@Raphael I mostly programmed in javascript and that might be the reason I'm so bad at this. I have talked to students that said they couldn't pass calculus but had no trouble with algorithm. It's weird. In spite of programming and CS being fairly unrelated, unfortunately, employers care a lot about a CS degree. Many companies won't even look at your resume if you don't have one.

@user3912481 Undergraduate CS typically consists of ~2 years of rigorous theory and ~6 months of practice. No amount of work experience in any field will force you to acquire the (impractical and almost never applied) theory on your own. Your master's program is a marathon which the other students have been building up to. You won't keep up with any amount of effort unless you build some foundations (and you can do that either by taking the undergrad courses you need, or by buying the best CS theory books out there and pushing yourself independently).

@MR: To be honest when you say "I am good at math/physics" the impression I get is not "I didn't have trouble with linear algebra and multivariable calculus". Those are introductory math courses required for pretty much any major that needs any kind of math whatsoever (including CS); you should do pretty well in them. Have you taken any classes beyond those? For example, have you dealt with functionals, Lagrangian mechanics, and the Euler-Lagrange equation? Or statistical mechanics? Or have you seen Expectation-Maximization in probability/statistics?

(cont'd)... A lot of concepts in math and science are very relevant to computer science, some in not-so-obvious ways -- for example, "functionals" are more or less the equivalent of "lambdas" in computer science. If you've worked with functionals before, drawing the connection might be feasible. But if all you've done is linear algebra and multivariable calculus, that's not going to make it any easier for you to pick up CS -- those are pretty introductory courses for CS majors too.

Well, I graduated in law (so no math classes at all). Since I work with computers and had some electronics technical course, I tried a MsC too. Was hard, but got it, improved my knowledge, and now I'm taking a PhD... It takes much more effort than if you were graduated in the area, but it's not impossible.

@Mehrdad There are many levels of "good at math" and one can be "good (enough)" for what they want to do without being the equivalent of a B.S. or higher in Mathematics. Now there are fields that are more and less helpful for the OP, linear algebra and discrete math would help a lot with computer science so the fact that the OP has not struggled with them is a good sign.

In the classes in systems engineering there are a lot of programmers who are better than me at programming, and I kick butt at the probability and optimization sections. The fact that I am "good at math" does not make me a better programmer (although it helps), and their superior experience programming does not replace the required math skills.

@kleineg: What I'm trying to say is that in a field like CS, "I am good at math" carries a certain weight and meaning far beyond "I did well in linear algebra and multivariable calculus". Using myself as an example, I'm pretty decent at those topics and I was also decent in math at high school, but I wouldn't say I'm "good at math", because I met people in college (in various STEM fields) who really are "good at math", and they're in a different league from me entirely, so I'd feel embarrassed to try to claim I'm at their level.

Algorithm is the fundamental part of CS. Also, you are a front-end web developer by profession and in this profession, its advisable to have algorithm as a subject. why don't you go to tuition classes and learn that well, you will enjoy and it will help you too much.

Have you considered looking for a Masters program in something closer to the work you have done? There are some universities, Columbus State leaps to mind, that have M.S. in Software Engineering that may be more in line with both your experience and your educational and career goals.

@Tim: "No amount of work experience in any field will force you to acquire the (impractical and almost never applied) theory on your own." - I agree with your main sentence, but disagree with the parentheses: In my experience, many problems can be solved somehow (thus working on them in industry does not force you to look at the theory), but knowing the theory underlying to some of those problems often helps find a better or a cleaner solution, or - if nothing else - at least understand the solution you found better, and thereby also have a better understanding of what other problems ...

... are already covered by that solution. And, I'd argue, that is exactly why "employers care a lot about a CS degree".

@O.R.Mapper Oh I absolutely agree that the insights gained from studying CS theory are valuable, and I probably phrased that poorly. I just meant that the actual methods (e.g. prove the regularity of a language using the pumping lemma theorem) are not frequently applied.

@Mehrdad: Undergraduate multivariable calculus and linear algebra aren't always required for CS MSc degree programs. They tend to be required only for applicants to doctoral programs. Much of the mathematics you mentioned isn't required of students in my program.

@MNRC: Only doctoral? They were actually undergraduate (B.S.) CS major requirements for us, taken almost always by freshmen... you can't really do engineering without linear algebra and multivariable calculus, and even CS relies heavily on linear algebra. The rest of the topics I mentioned weren't CS-related, they were math- and physics-related -- I mentioned them as examples of what someone who has a math or physics undergraduate background should know, which is the impression I get of your background in your post.

@Mehrdad my (US) undergrad CS degree only required Calculus 1/2 (single variable) and either a linear equations or stats class.  For linear equations it was a choice between a class apparently intended for non-math majors (couldn't take it if you'd done linear diffeqs) or an upper level undergrad class.  For stats it was a choice of classes that were roughly equivalent to intro to stats for scientists/engineers and intro to stats for stats majors.  (Several other intro to stats classes were offered but not acceptable as a degree requirement.)

@Tim The methods aren't applied, but there is a level of being able to figure out the path from A -> Z that isn't natural to a lot of people.  For some, learning mathematical methods helps them think that way.  For others, Chess, Go, or other strategy games do the same.  This is a long-term unconscious thing, though, and hard to train - the same thing doesn't work for everyone.

@Mehrdad You are way off topic. That stuff you mentioned (Lagrangian mechanics, Euler-Lagrange equation, etc) is totally irrelevant to being successful in a computer science program. Strong general math skills are probably necessary to be successful, but specific concepts are not crucial to know before enrolling, and the courses you listed are not required for many CS undergrad/masters programs. As an example, I have a BS in CS and I have no idea what a "functional" is but I do know what a lambda is. So your comments are...way off base.

@KyleM: Did you actually read my comment first before telling me those topics are "totally irrelevant to being successful in a computer science program"? Evidently not, because I stated very clearly that those were topics I expected from people claiming they are good at physics and math (like the OP). Nowhere did I suggest those are relevant topics for a CS program to cover. Actually reading the comments you're replying to is usually a good idea.

@Mehrdad You are very defensive and your posts thus far have been rude. OP's post is about CS and it seems like you are trying to tie math and CS together with comments like "if all you've done is linear algebra and multivariable calculus, that's not going to make it any easier for you to pick up CS" and "A lot of concepts in math and science are very relevant to computer science". But in fact, as my previous comment states, none of those concepts/courses are essential to be successful.

@KyleM: I'm defensive because you're putting words in my mouth! But I don't think I've been rude. Where exactly did I ever say those concepts are essential to being successful in CS? I never did, you're just claiming I did. All I said was that math and physics could make it easier to pick up CS if you actually study them beyond the introductory courses that the OP mentioned (lin alg/multivar calc). I never said that studying them was anything close to essential or necessary, merely that they could be helpful if you studied them. Do you see the difference?

Please bring extended discussion to [chat]. Additionally, this comment thread has grown contentious; I'm locking the question temporarily to provide a cool-off period.

@Mehrdad "and even CS relies heavily on linear algebra" - I think this is overstating it; while there are areas where linear algebra is necessary, I'm now doing my master's thesis and have yet to encounter any linear algebra beyond Gaussian elimination even though I did do mostly theoretical courses as well as some research into language and game theory.

@MNRC "If you were me would you quit the program?" If and only if CS is not what you want to do, period. Otherwise, I would work hard at it until I succeeded. Don't get scared off by math that people think is hard; you have to work hard, obviously, but more importantly: try to understand before trying to follow every last formal detail. Whenever I talk to other CS students, most of them have already forgotten 80% of the math they did in undergrad.

@G.Bach: I'm not saying it's not possible, but I'm curious how you could avoid linear algebra for so long.  How can you do game theory without linear algebra, for example? Aren't payoff matrices and Nash equilibria defined using linear algebra? I feel like even formal language theory uses some linear algebra. Or if you meant natural languages, Markov chains come to mind as excellent examples for that too.

@Mehrdad I didn't set out to avoid linalg, it just never popped up beyond solving lin. systems. While Nash equilibria are solutions to lin. systems, calculating them is a simple matter of choosing a subset of alternatives, building the lin. system and then Gaussian elimination; but I haven't encountered anyone calculating Nash equilibria in research (I did something on social choice functions). The formal languages post you linked is also about solving linear systems, but you don't need knowledge of linear algebra for that; you can learn Gaussian elimination in an hour without getting linalg.

@G.Bach: I guess it depends on what you call "linear algebra"... do you consider least-squares to be linear algebra, for example? If so, have you never had to do it? If not, then what would you call linear algebra?

@Mehrded I never had to do that; but I don't think this is contributing much to the discussion here.

So, it's been many years, whats the update?

Survival guide from someone who's been in your situation
I think you're getting many discouraging comments here which doesn't help you a lot. You already know you don't have the best possible qualifications, you don't need people reminding you. The question is, what can you do about it?
I'm a CS major, but I started out as a physics undergrad. I had the kind of courses you're talking about, multivariate calculus etc. This means that when I had my algorithms course (following the same book as your course), I hadn't had any discrete math at all.
The discrete math helps you understand the data structures. The data structures are used when implementing the algorithms.
Proof techniques from discrete math helps you understand the correctness and runtime complexity of an algorithm.
Even though having a vast knowledge of (discrete) math would aid your understanding of algorithms, it is a great overstatement to imply that you can't get by without it. I picked up all these things during my algorithms course. If I, like you, had asked people whether I should quit because I had zero knowledge of graphs and trees prior to taking the course, I would probably have received discouraging comments as you do now. As it happens, I got a perfect score for the course because I studied hard at exactly what the exam demanded. I rehearsed every single proof in the syllabus (mine was an oral exam).
I don't know what type of exam you're up against, but I suggest you narrow down the syllabus as much as possible, and concentrate only on what you're supposed to know that will get you to pass.
'Introduction to algorithms' is a very comprehensive book and there's a lot of stuff in there you don't need. A lot of people here are perfectionists and think you ought to know everything, I've even seen someone here suggesting you should know Lagrangian mechanics, I really don't see the relevance of that at all. This is not a physics course.
Finally I'd like to add a comment about recurrences T(n). This can be hard to understand because the book doesn't give you an exact recipe for this.
It's helpful to think of the recurrence relation T(n) as the behavior of the problem. The problem is the input to the algorithm and is expressed in terms of n - the size of the problem.
Example: I assume you're familiar with Mergesort. With the algorithm Mergesort you take the problem n and divide it into two equally large problems (you can tell from looking at the algorithm). These problems are half the size of the original problem, so you get a recurrence that says
T(n) = 2T(n/2) + O(n)
The recurrence basically says that the problem starts out as n and then becomes two problems of half size, which the algorithm is then applied to (hence the T). (You might notice then, that the recurrence relations are only applied to recursive algorithms). The O(n) expresses the linear cost it takes to merge the two problems together once they have been solved (because we know this is performed by the subroutine Merge). This step is not recursive, as it is performed after the problem has "come back" from being recursively solved.
So as you can see, the recurrence relation is gleaned from looking at the algorithm. The relation is then solved by either the master theorem or the substitution method or gleaned from drawing a graph of the recursions (recursion tree) and then proved rigorously with the substitution method.
The solution will tell you the nature of the runtime, i.e.: If you increase the size n of the problem, how much do you increase the runtime?
For Mergesort the answer is Theta(n log n) which means that the increase in runtime will be a function of the type f(n) = n log n. You compare runtimes by looking at the steepness of the slopes of these functions. If the runtime is Theta(2^n) then the slope will be extremely steep, and the time it takes to run the algorithm will increase very fast, so the algorithm is said to be very slow.
This is the answer you're looking for when you construct the recurrence.
And finally: don't despair, it might seem very difficult at times, but you'll probably be closer to understanding than you think.
A very good tool for me was to watch the lectures on algorithms and datastructures from the MIT opencourseware.
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/
and
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video-lectures/
Good luck!

Thank you, your answer has been the most supportive (and realistic) one here! I'm already wavering about whether or not I should stay in the program. Being criticized by some of the commentors here and having my inadequacies pointed out to me isn't doing much to help my self-confidence in a difficult degree program. I wish some people would try to imagine themselves in someone else's shoes first before  putting pen to paper (or fingers to keyboard).

Thanks also for the explanation of recurrence equations--it helped a lot!

You're very welcome. I don't think people realize how important it is to have self-confidence when trying to achieve something. If they successfully convince you you're not good enough then you definitely will not succeed, regardless of your skills. You have what it takes, you were right in your assumptions that if you can understand math, you can understand computer science. I even see people with very limited math skills pass hard courses. The best approach is to have a study plan with only the essential stuff and not to get overwhelmed by anything else. Then you WILL succeed :-)

Another thing, people seem to take a swing at you for wanting a Master's diploma. But doesn't everyone go to University for the diploma? I certainly know I do, I could learn every bit of this stuff on my own by just reading the books and looking online. I've aced several classes without even showing up for the lectures. I want the diploma as hard proof of my quantitative skills, and so do you, nothing wrong with that. And you certainly deserve kudos for going back for it, not many people have the courage! I'm sure you won't regret it!

+1 for discrete math recommendation. Graphs and combinatorics are a cornerstone of CS.

But doesn't everyone go to University for the diploma? — No, of course not. Some people go to university for the opportunity to learn in a structured enivonment. Others go because they don't know what else to do, or because they don't want ti dissappoint their parents, or because they like the social scene, or because they want ti develop future business connections, or because they're hunting for a spouse. Everyone is different.

Jeff, you could easily argue that some people go to university just for the cafeteria food or whatever, and I wouldn't be able to say otherwise. Maybe you're right, there may well be people who just see university as some big dating opportunity, but I really think most people are there mainly for the degree. If you don't want to disappoint your parents, well isn't getting a degree a part of that? (I doubt they'd want you just to attend, I think they'd want you to finish - but this is just me guessing again!) There'll be a wealth of secondary reasons also, but that wasn't the point.

@Lacoppidan Just saw the new comments. Yes, definitely true about the self-confidence part. There is a woman who just won the Fields Medal and she said that when she was a child she had no confidence in math and wanted to give up until she found a teacher who believed in her. Self-confidence really makes such a big difference in whether you can succeed in a program or not!

I decided to go back to school for a lot of reasons. The foremost was probably boredom. Frontend web development was not intellectually challenging at my last company. I did some backend programming occasionally, liked it, and thought I'd get a better foundation in computer science. Having a masters in CS also opens doors to jobs that are not available (because some companies don't hire people without at least a B.S. in CS). It doesn't matter how good you may be at algorithms. So, there were definitely many incentives to go back to school...

It sounds like you fell into a couple of common traps at the same time.
Trap 1:
I am good at front-end web development, I am surely good at computer science as well
As you likely learned by now, it is possible (quite common, actually) to be a terrific programmer and still struggle with fundamental CS topics, such as algorithms. There may have been a time when programming was really applied algorithms, but today the skills required to write your average web application is relatively disjoint from what you learn in CS 101.
Trap 2:
I did decent in (undergrad) maths and physics courses, surely those (master) CS courses will be ok.
This is a combination of multiple fallacies I have seen. Firstly, you may have not taken into account that master-level CS courses are, well, for students on master-level. They assume a strong command of the basics, which, by the sound of it, you lack. Further, doing ok in maths and physics is a good indicator that you'll do well in maths and physics, it by no means qualifies you directly for a CS master.
Trap 3:
I know what I need to know, I just applied to the master because I need a better degree.
You say that:

[I] figured it would be great to have a degree so as to look like a more legitimate programmer than what my anthropology B.A. degree might imply

I find this statement very concerning, as it seems you are more interested in getting a degree than in learning CS. If that is the case, you should seriously reconsider whether the degree is actually worth the trouble. Frankly, for most programming houses I am in contact with, 10 years of experience count for more than a master's degree anyway.
Now to answer your concrete question:

If you were me would you quit the program? I'm not sure if it is a lack of a background in undergraduate computer science, the fact that I am an older student who is nearly 40, or a lack of aptitude for this subject.

I would not assume that you are just "not good enough", and the age shouldn't really be an issue either. It definitely sounds like you are lacking background, and the fact that you are doing the master part-time surely isn't helping either. All in all, that does not make for very favorable conditions.
Nobody but you can tell whether you should quit, but given the information, I would re-evaluate whether (a) a master is achievable for you, and (b) whether getting a master's degree is actually worth it for you.

I had heard that CS is mostly math, so was under the (mistaken) impression that doing well in math means doing well in CS. I think I'm going to switch to a master's in math instead. Most students in my incoming class is Chinese or Indian; they don't tend to study for the love of it but to get a good job. The difference is that they can handle the coursework and I can't. I find that international students seem to have higher GRE quantitative scores than American students in my program. All foreign students I talked to scored 90th+ percentile, while American are at 75th percentile.

@user3912481 I think most of the employers who would offer more money to a programmer with a master's in CS would be hesitant to offer the same to a programmer with a master's in math. That may not work out very well.

@user3912481 I'll go out on a limb here and say that the master of maths is also not going to go so well without having a math-heavy undergrad under your belt (or having done some serious self-studying).

@Tim Yeah, you're right, definitely something else to consider... Think I'm going to try to stick through this program until they kick me out.

You seem very flip-floppy MNRC. You need to set your mind to something and just get it done, no matter the effort. Your goals also seem to be out of whack, doing it more for the title than for the experience learned. In your shoes I would either stick it through and do my best or forget the masters and just get an undergrad in CS. You have working experience and if you had just an undergrad could very easily find a job, at this point I don't even think a masters would be worth it even if you can stick it through. The difference in $ won't be much by theTimeYouRetireSinceYourAlreadyHalfWayThere

@MNRC: A master in math without a bachelor in math, and given that you were not able to complete "algorithms" class? If I know one thing, then that a master in math is much harder than a CS master. It is much more theoretical so your 10 years won't count anything. If you are unable to complete algorithms (which is kinda "math in easy mode"), then you will have a very hard time in the math classes. Doing good in high school math does not mean you can jump into MSc math classes right away...

"I had heard that CS is mostly math" - what is generally meant by that is that math appears in many parts of CS. For someone who despises math, it definitely feels like "awfully much math", for someone who is ok with math, it may be a "math here and there" feeling (though those people will possibly select the more math-heavy specializations and thus re-establish their - not discontent - impression that CS is mostly math). It certainly does not mean that there is little else beside math, or that understanding math means understanding everything else that is part of CS studies.

No, I sat in the graduate linear algebra course at my school and had an easier time understanding it and the textbook than my graduate algorithms course.

Trap 4 "10 years after college I had a fairly successful career as a front-end web developer and figured it would be great to have a degree so as to look like a more legitimate programmer"

I'd like follow up and let readers know that I met a great professor who kindly pulled me aside and told me my weaknesses in CS. I was assigned a tutor who told me that I didn't fully understand recursion and how to apply it correctly. I was solving algorithms like Towers of Hanoi and the Josephus Problem correctly but had trouble translating my thoughts into pseudocode. I worked hard to address these issues with the tutor and have made a lot of progress. Classes are now more manageable and I am looking forward to machine learning next semester.

I think the lack of background is a huge factor.
I already have a master's in mathematics, graduated 14 years ago. I'm certain I couldn't do a master's in mathematics now without going back over undergraduate material first. I'm fairly sure that revisiting that material would take rather more than just the spare time that I have left over after doing a master's in the spare time from my job. Of course mathematics isn't the same as CS, but I think the same consideration would apply.
Doing OK in maths and physics at undergraduate level might have prepared you somewhat for a CS master's (although like everyone says, it's by no means guaranteed to be enough). But 10 years is long enough to forget even what you had, quite aside from the fact that what you had was a few courses rather than the syllabus of a mathematics major. It's not just the content of the course (most of mathematics is irrelevant to CS), it's the mindset of "being a mathematician" and "doing mathematics formally" that's similar to the formality required in your course, but is mostly absent from everyday apps programming. If you're anything like me, you have to some extent forgotten how to operate in the necessary mode, it no longer comes naturally.
As a test, take a look now at the harder mathematics and physics problems from the courses you took. Can you site down and do them now with anything like the ease you did then? Even with an "open book" to look up definitions you don't recall? If not, then you're less prepared for CS now than you were then, and like everyone says you weren't fully prepared then.
I think your best source of information is whoever decided you were qualified for the course. They must have thought you could get up to speed. Check with your professors whether you've done the sorts of things they think you would have to do to prepare, and whether that preparation is feasible on your schedule. Until you deal with the lack of background I don't think there's any way to tell whether you lack aptitude.
Age shouldn't inherently be a problem, since people take degrees in all subjects at all ages. However, your life being full of other stuff is an obstacle to some extent. Part of the reason I was much better at mathematics 15 years ago than I am now, is that 15 years ago I did it every day, usually for several hours. So I was simply in a better position to accept information delivered in a "mathsy" way, which I think CS courses basically are. No doubt there's material out there specifically intended for part-time students, that could help you attain and maintain "the zone".

I can't understand recursive equations like how you construct
  T(n)=log(n)+O(1) from an algorithm

If explanations that work for your colleagues don't work for you then you might consider one-to-one tutoring. Naturally that's extremely expensive, but if the class hears "and then throw the Master theorem at it" and knows what that means and how to fill in the details, and you don't, then clearly they have background you don't and so you need things filled in that they don't.

If you were me would you quit the program?

If I were you I would probably be asking the university (a) whether there's anything else I can work towards with the course credits I have, (b) whether there's an approved means to take the program more slowly, giving more time to fill in any missing background as I go. I have no idea what the answers would be, but I'd want to know my options before seriously thinking about quitting.
If it's just this one course (admittedly an important one, presumably other courses later require it) then it's entirely possible that you'll crack it eventually. There was one undergraduate course that I repeated (informally: my problems weren't being graded the second time) even after completing it the first time to what would have been a passing standard if my university worked that way (not in the US). It was way easier after that. You've seen some of this course twice, but some of it not at all (since you dropped it the first time and haven't reached the end this time). Personally I wouldn't do anything hasty until I'd at least reached the end of the course once. And if you scrape a pass that doesn't mean you can't visit the tougher material at the end a second time, and the early material a third. Although presumably if you wanted to be re-graded you'd have to formally enroll in the class yet again?

I found it amusing that you mentioned the Master theorem, given the nature of the question (M.Sc.).

@Mehrdad: it's entirely possible I wouldn't have thought of that as my example if the question had been about a PhD.

Interesting reflections. I did a PhD in theoretical physics 12 years ago and my experience is a bit mixed. While the skills in doing detailed calculations for sure have almost completely eroded, I feel that my overall level of conceptual thinking has not diminished. Rereading parts of my thesis doesn't feel alien, yet I know that I wouldn't be able to rediscover the formulas on a deserted island.

I think first you need to start taking the subject seriously.
I had heard that CS is mostly math, so was under the (mistaken) impression that doing well in math means doing well in CS.
That's like "I had heard that basketball is mostly running, so was under the (mistaken) impression that doing well in running means doing well in basketball".
Yes, you'll need your running.  No, it does not at all save you from training like the others.  Because everyone knows it to be a prerequisite.

I had a fairly successful career as a front-end web developer and figured it would be great to have a degree so as to look like a more legitimate programmer than what my anthropology B.A. degree might imply.

A front-end web developer qualifies you for a computer science degree like typing 100 words per minute qualifies you for a typewriter mechanic.

If you were me would you quit the program?

Before quitting, it might be worth checking what it would take to start for real.  Only then are you in a situation to judge whether the effort is feasible/possible for you and worth it.  For a programming job, a CS degree is of somewhat marginal value.
For a programming job in Scheme, I'd probably look and interview carefully before making a decision between someone with a degree in ancient Greek and Arabic or in Computer Science.  Chances are that the former is so much better at thinking analytically and out of the box and not being scared of challenges that coming from an entirely different discipline is causing him less trouble than being schooled in a different programming language paradigm does the other.
Seriously.  So if you are going to try doing a CS degree, don not make it about getting a degree.  It is a completely different and new skill set.  If you want to work in your current profession, you might not even be able to put it to much use.

First, talk to your advisor. He/She would know your situation much better than us.
I would not quit right now if I were you. I think quitting now is a premature decision. I think it is understandable that you cannot catch up very fast especially you attend only part time. You probably should take lower level courses (probably undergrad level) to refresh the knowledge you acquired 10 years ago. If you still cannot do them very well, then consider to quit.

I'm a working adult and not a kid anymore, so can't go full-time and ask my parents who are retired to support me through graduate school...Yeah, I'm definitely going to talk to my advisor if I fail this algorithms course...

@MNRC What restrictions on time/grades do you have? I have seen a few programs that say more than 4 years or two grades less than a B and you are out.

I would add that, I am surprised that at least some of this was not already discussed during your enrollment into the Masters program with your advisor. Also ensure you are familiar with resources available for mature students, and don't let your age interfere from working / studying with your class mates when appropriate. Sometimes, being able to doesn't mean you should get a waiver for a prerequisite; if you or your advisor think it will in fact hurt more than help you. In this case of conflicting opinions seeking a second opinion from other facility is acceptable.

I'm definitely going to talk to my advisor if I fail this algorithms course No, I recommend doing it now, while your are still in good standing in your program. IMHO much of the discussion should of done before taking any classes.

@MNRC I've never met an MS in CS student in a top 25 program in the US that was supported by his/her parents. I did meet, however, a few that had families (including more than one children to support) and yet were able to study full time, as most get assistantships with stipends. For your case, I think studying part-time makes sense, but I don't think you should attribute other people's ability to study full time to them having parents that help with the costs.

At the undergraduate level, "Data Structures and Algorithms" is typically the weed out course for our department.  Students take it in their second year after having had intro to programming.  The sorts of problems you encounter in that course will help you reason about coding, however it's very possible to work in front end web development without encountering them.  Typically, the place where this sort of logic is most useful is in the backend not the display layer.
The graduate version of that course is likely to be the hardest course you have to deal with and the most unfamiliar to your skill set.  It's also one of the few places where a firm understanding of discrete math is going to be very helpful.  It's very common for Graduate students arriving from other disciplines or universities that did not cover this well to have trouble with this course.  Frequently the solution is to have them audit the undergraduate course first.
As for whether you should continue, If you find that after some experience you are interested in "data structures and algorithms" and "formal languages and automata", then a theory focused computer science degree may be interesting to you.  If you don't, then focusing on management relevant courses like software engineering may be interesting to you.  If you're in this program because you want to learn more for your own sake, that's great you will get out of it what you put into it.  If you're in this program for career advancement, this degree might help you land management level positions but will have little or no effect on your ability to find developer level positions for frontend work.  It may open up some new opportunities for back-end work, however if that's your interest the certificate route might be a lot cheaper and faster for you.  As a developer, your 10 years experience is far more valuable than a masters in cs.
If you have not already, I recommend taking the undergraduate discrete math, undergraduate data structures and algorithms, and undergraduate formal languages courses before continuing with the hard subjects in computer science.  If you need to take some graduate level courses at the same time, take some soft subjects like software engineering which will likely be much more familiar to you.
Also, while the coursework for algorithms is fairly well defined, not all books are equal.  I recommend http://mitpress.mit.edu/books/introduction-algorithms.

"it's very possible to work in front end web development without encountering [data structures and algorithms" -- maybe that's why so many web "applications" are hogging CPU like there's no tomorrow?

It also explains a great deal about the database structures I see in the wild and the foolish enthusiasm for "post" relational databases (shouldn't it be "pre"?). Not to mention the video on youtube in which facebook people congratulate themselves on creating a transaction manager that uses queues to serialise concurrent updates. They don't call it that, because they are completely oblivious of late they are to the party.

Had to leave a separate answer because I don't have enough rep to put it as a comment on @Lacoppidan's answer.
First, I salute you on your attempts to become a proper programmer ;)
Second, I want to scotch some of the BS that other's have written:

You do not need an undergrad degree in CS, unless the course says that you do. Many Masters courses are designed to accept cross-discipline students, which yours clearly is, as it wouldn't even have a DS&A module if it weren't!
Age probably isn't a major factor. Yes, neuroplasticity drops as you get older, but all that means is that you need to work harder not that you can't do it. Certainly, I've found that there are things that I can understand intuitively now that I couldn't when I was younger. Also, if you have a settled/stable home life and job, that's going to put you at a massive advantage compared to many, as anxiety is the biggest blocker to learning you can get.

It smells to me like you've got two separate things working against you:

You're doing part-time.
You're worrying about passing; about whether you can do it.

Part-time is ++hard (see what I did there? ;) ) - the most valuable resource you have at university are your peers. I found that just having other people to talk about stuff with helped me enormously both in improving my understanding and consolidating my knowledge as well as building my confidence.
So, my #1 tip to anyone undertaking a university-level course is: find people on your course(s) that you get along with and build relationships with them around the work. Don't worry about 'the age thing', worry about if those people help you understand what's going on or not.
Also, don't worry about asking someone 'super clever' for help - you'll actually be doing them a favour by getting them to explain it to you in a way that you can understand. Sounds strange, I know, but having to explain something to someone (who may or may not be as clever as you), forces you to understand your subject better; to organise your own thoughts. I'm sure you know from your real-world experience, that being 'good' and 'clever' isn't enough - you have to be able to communicate your ideas to others and work collaboratively, because interesting software is non-trivial and non-trivial software is too big & complex for one person to do on their own.
Worrying about succeeding or not will always hold you back. It's something that I've struggled with many times.
One strategy I found works for me, is to just focus on learning stuff; just learn anything that's related to the course. Read for the sheer hell of it! Focus on the stuff that you find interesting. And write lots of code.
By focusing on just learning you'll get much more out of the time you put in and you'll be more satisfied with what you've learnt. True, it may not help you pass your course, but chances are, it will, because when you've got back into the habit of just learning stuff, you'll find it easier to learn the stuff you need to pass.
Another strategy is to write more code. One thing I definitely didn't do enough of as an undergrad, was write enough code. This is particularly important for stuff like DS&A - the only way to get really familiar with an algorithm or with things like pointer manipulation, is to do it. Lots.
If you can do it and can explain how it works, then you understand it.
This should be where your broader experience comes in; you've got 10 years experience of writing code, so you've no doubt picked up lots of techniques and skills that will help you. Use them!
Use things like dry-running (something that I don't think is taught much these days, but it's still a fantastic tool, particularly for learning DS&A) and/or interactive debugging to step through your execution.
The third technique I found really helpful is mind-mapping. I used it as a way to fill the gaps in my knowledge, by breaking a topic into its constituent parts, exploring the things I didn't understand and then return to the parent topic while this new knowledge was fresh in my mind.
For example (sorry, no pictures), the subject of 'linked lists' might decompose into:

list
pointers
head
tail
dynamic memory allocation

I'd then look at each of these and ask myself "do I know what each of these is?" If the answer is 'yes', then I move on, if 'maybe', I check my knowledge against Google, if 'no', then I create a separate sheet and work on it until I do (decomposing further as necessary). That way, the next time I'm coming to a subject I and I see "linked list", I will either:

know what a linked list is and how it works; or
have a good set of notes that I can quickly use to refresh my memory

Again, practice, practice, practice. The more code you write and have to debug, the better you'll get to understanding what's going on.
This turned into a much longer answer than I'd intended, but I do hope you find it useful.

I am mildly confused about where you started with your Masters? But here's my experience as someone in similar shoes.
I have an undergrad degree in Political Science but wanted to pursue a Master's in CS. In order to do this I had to start from the ground up and delayed my undergrad graduation to take the prereq classes for the Masters. Now here's the thing for anyone: getting into CS late in the game is hard. You have had no experience whereas others have had ample (as so many are coming from either being self taught or seeing it in high school).
Learning CS can be daunting and I would guess from what you said your job is that you don't realize a fundamental thing about programming, and that's to make it easier for other programmers. From what I've seen of many web based programming is that there's a lot of backdoor programming going on. That's not a bad thing but as others have pointed out, programming is different than CS.
To be honest, this sounds like a personal choice and not really heavy on pros and cons that aren't personal. You aren't getting it because you're out of options, because you've always wanted to learn it or because your job demands it. You're going because you think it might help you on paper. i'm not saying that's a bad reason, but it certainlt isn't helpful in the motivation category.
I've known a lot of people getting their BS in CS and they suck at it. They fail at almost every class (or just barely scrap by). But man are they still sticking with it (for better or worse, who really knows). So what I'm saying is, your not alone in finding a CS topic hard or confusing. It's more, is it really worth the effort for you at the end of the day?
Oh, one last thing, are you afraid to ask questions being a more senior member of the class? Do you just sit there hopelessly but afraid that everyone knows more than you? If so, stop that. They don't know more than you and quite possibly don't get it even worse. Go back to 20 year old you in undergrad, what would you do then? You would talk to your classmates and teacher to get a better understanding. If you do this already then good for you, but if not, you might just be surprised about where you actually stand in the class. (I've had classes where just scrapping by is considered an achievment as there is a tramendious failure rate)

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Should I offer my unpublished independent research when applying for PhD position?
I've finished masters and I've worked on my independent research for few years but never published anything nor I haven't posted any of my research work in public. The reason I did not publish is that I was working on the project and now I am about to finish it.
Now, I want to apply for a PhD position related to the field I worked in. My question is, should I make my work public first (post it on arXiv and on my personal website and github) or apply to PhD group and send them a paper of my work? I've pondered over both options.
With the first option I think the advantage is that I can secure my idea and no one can steal it. I worked really hard on the idea but is there any good way to secure it, though? The disadvantage might be that no one gave me feedback on my work and a mentor will help me polish my work/paper. Also, when it comes to disseminating and publishing my work I think people will take me more seriously if my work is within a PhD group? I am also wondering what will happen if I send them my paper and then they reject my PhD application.
What's your opinion on this matter and how I can make my work more accessible to other researchers? I do not care much about publishing it if there are other ways researchers can see my work and give me feedback whether my idea is worthy.

What country? Do they ask for a writing sample? Was this project advised?

I would like to apply in Europe. No, they do not require sending them anything besides CV, cover letter and transcript of records. But there are other positions that might require research proposal. I thought that by sending them my work that can give me additional points since I did something independently. My project is not advised.

"I am also wondering what will happen if I send them my paper and then they reject my PhD application." What would happen?

Maybe they can take my idea? I don't want to believe that a specific group can steal ideas but the machine learning field is quite competitive.  I would be flattered if someone uses my idea since that means my idea is good, but I still want to get some credit at least.

Nobody cares enough about your idea to steal it, they have theirs.

No reason to send it, so don't. It probably won't be read, as reading unsolicited supplemental materials would undermine the fairness of the application process. Instead, in your cover letter, include a paragraph on what you did and how it is inspiring you to undertake this course of study. If a proposal is required, write one based on your ideas. That's it. If you contact a potential supervisor ahead of time, you could share it with them, but only after developing a rapport.

Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.

@psithurism but don't you think that it's a big plus if the supervisor can see that you did individual work and that would raise the possibility to submit a new research proposal which is extension of the previous project?

@Tom perhaps, but you don't need to send the actual work in order to communicate that you have done this. You may even find, as is the case with institutions that use web-based applications, that there is no place to upload such a document.

First, you don't "own" ideas even when you publish them first. You are owed recognition, but people always build upon the ideas of others.
Second, the act of "stealing" ideas is quite rare, though it does occur. If you talk to people about some insight and never publish it, people will probably either build on it or rediscover it independently leaving you with, at best, a citation.
Third, if you publish incomplete work on arXiv then you are in about the same situation as in the second point. People will think about it, use it, extend it, etc. You will get a citation but not a published paper. Note that arXiv is intended for preprints of finished work, precisely to give other scholars early notice so they can begin to start to think about and extend the ideas.
Instead, in your situation, I would just put a section in the CV for "Work in Progress" and list the projects you have been working on. Perhaps you can use working titles of papers for this. Somewhere you can promise to provide more information if requested. Work in progress is a good thing for any scholar.
Worry a bit less about other people's potential plagiarism (yes, it does occur) and more about presenting your work honestly, including its current state. The people you come in contact with as part of an application process are probably the least likely to try to scoop you, though even that happens.

I am fine with a citation :)  I would actually like it if people are extending my idea. I don't see much difference putting a paper in arXiv and publishing it in a journal. The only difference is that you can meet people and make connections on conferences. That's a good idea with the work in progress. I guess I will push myself a bit to finish the project and then possibly apply with new research proposal based on my previous work.

If your idea is feasibly patent-worthy, consider going that route.
If it is not all that practical, I would not worry about it at all unless dealing with dubious ethics, and in some cases probably even then.
My bigger concern would be the intellectual isolation you are in now. Even if you are very bright and work very hard, it is likely that someone not as skillful or hard-working would accomplish more by simply having more people for the job. Few would care about your results then, and the inability or unwillingness to work in a group is more of a damning quality rather than a redeeming one.
Finally, if you are able to pursue the research independently without worrying about funding - I envy you. If not, however... Publish more frequently, worry less about the ideas being stolen and more about being too slow and with nothing to show for your efforts.

I am against patents. I want my work to be open sourced so other people can use it and possibly extend it if they like it. You are right, a group of people would have possibly done it faster. I would like to work in a group but only if I like the work that they do. Yes, independent research is difficult but I got supportive parents that let me stay for free, otherwise part-time job seems like a possibility.

@Tom I see; in that case, preprints or any other form of public dissemination will do. Still, absolutely don't simmer in there by yourself if you care about getting credit - I'm speaking from experience here; not only was I slow while working on several topics, I also have a long list of results I've produced but never published which ended up discovered by someone else years later. Bad for science, bad for me. Working in isolation for prolonged periods of time is really hamstringing yourself.


text:
Are the social sciences amenable to the idea of making money off their research?
I realize that lots of engineering/biology/physics/computing sciences tend to encourage their researchers to go and make industrial applications out of their research.
I noticed there is a complete lack of that in the social sciences (which is neither bad nor good), except in economics. I never hear of sociologists/anthropologists/ethnographers/etc. making a business out of their work and research.
How come? Why are those disciples less prone to industrialize their work compared to STEM fields? Is it a cultural byproduct of the mode of work in those fields?

Actually, most mathematicians and computer scientists don't make a business out of their research either. Likely the same is true of those in other STEM fields.

What do you mean, "cultural byproduct of the mode of work in those fields"?

@Azor Ahai - I imagine the history of research and epistemology in these fields influence whether or not sociology/anthropology researchers go into industry.

@Buffy that is very true - however there seem to be more mathematicians and computer scientists that go into industry then those in the social sciences.

Actually, I guess not. But they are probably managing the geeks instead. History majors often wind up in management.

Note that titles should ideally be questions (with a question mark), or at least give an indication of what the specific problem is. We discourage titles like "retaking a course" since someone with the same situation in future will be unlikely to find the post (and because posts with such titles typically don't contain a well-defined question at all, but that does not seem to be the case here). I've moved your first paragraph to the title; you can make further edits if needed.

More substantively: can you give an example of a social science concept that could be "industrialized" but hasn't been? Otherwise, this reduces to the trivial answer.

@cag51 thank you for the heads-up.  One concept could be analysis of anomie. Imagine some company wants to "peter principle" some valued worker(s) but doesn't consider the impact of anomie by uprooting a worker from their department which they may or may not have had most of their professional career at. Studying the impacts of this companies' potential choice and reporting how to mitigate (or even cancel) the effects of switching (if even considered a good idea at all) could help to reduce company loss of efficiency in workers improperly promoted or moved

Not sure I'm convinced by the example. A consulting firm based in social science and staffed by social scientists aware of "anomie" may be a good idea, but I suspect that market forces -- not some unwritten rule of academic culture -- is the limiting factor in commercializing such a concept.

I think one piece of the equation is that some of the natural sciences (rather than social sciences) study much finer-grained phenomena. Relevant XKCD:

By this, I mean, it's easy to monetize, shall we say, more efficient combustion, the new best encryption algorithm, or the cure for cancer. What a social scientist might study are human systems at the level of communities.
We can learn that large segments of the population are obese because fast food is cheaper than healthy food in their environment, but you don't solve that by becoming a grocery store entrepreneur, you solve that by going into government.
It's hard to sell the solution to systemic racism.

+1. I was considering an answer based on the counter-example of Duolingo, which indeed was successfully commercialized (out of CMU). But I think this is a special case of what you say: things that can be commercialized, are, but most things in social science cannot.

@cag51 Yes, as a linguist, I have a lot more to say about the "classification" of linguistics as a science, but suffice it to say it doesn't fit neatly between, say, "Sociologists" and "Psychologists" in the XKCD spectrum. That said, I'd point out the founders of Duolingo were computer scientists with no training in linguistics (at least according to their WPs).

And, I would say, Duolingo is not especially innovative, linguistically.

If we count Duolingo, there are plenty of startups offering non-STEM education and other services (does DeepL count, too?). And that is not to count all the predatory practices of Dr. Charlatan selling these personal growth courses which are definitely founded in modern psychology and social science, or someone offering to pick the best career for you based on your genealogy or... Well, you get the idea. The only way this can exist ethically and outside of educational settings is governments being the main contractee, IMHO.

@Lodinn Well, I didn't count Duolingo, but machine translation would be a much better counterexample. Not really sure where the Dr. Charlatan stuff comes in ...

I always found that comic personally funny because the sociologist is minding their business. I do imagine that large corporations/governments would want concrete ideas on how to "fix systemic racism" - even if piece by piece. I never bought into the idea personally that sociology couldn't make it on the market because it tells the powers that be what they don't want to hear (if so a huge chunk of economists would be out of work also)

@wonderinghuh "I do imagine that large corporations/governments would want concrete ideas on how to "fix systemic racism"." Well, wouldn't that be great ...

I should clarify "some" in some certain contexts.
One thing that also convinces me that sociologists/anthropologists should and have to get involved somehow in society (that doesn't purely concern the government) is that economics always seems to be able to sell itself as a social science catchall, even in circumstances that don't necessarily need that field. I don't buy that economists are purely the mouthpiece of certain economic actors, but moreso ignorance on certain people's part. I mean, most people can tell you what economists do, but can they say the same for sociology/anthropology?

@wonderinghuh Not sure what "some" you are clarifying, as that is the first mention in the Q or my A.

I mean "some" in context of some large corporations/governments would want concrete ideas on how to "fix systemic racism. Apologize for the confusion.

@wonderinghuh I am speaking in broad strokes here.

I believe this largely has to do with the initial funding boost provided by a variety of means - or lack thereof.
If some research has potential applications in the industry, governments and private organizations both would be willing to bridge this gap, invest in bringing academic results to the wider public. It is rarely academics who make the first move - after all, if one's goal was to make money off their research, academia is hardly the place to be. It is true there are spin-offs with ties to academia, but more often than not, people branch out very early in their careers.
And as for ethnographers at least, they are encouraged to make their results more accessible as well, but it is not what you would necessarily encounter in the wild. What is the business model here? A museum might pay them to make their expositions better (and they do), they could start a youtube channel or be featured on one (again, some do), but in general, business models are rather limited there.
In addition to that, commercializing sociology or anthropology is very dangerous: whoever has the money to pay steering the society is widely seen as an already existing problem, there is no need to further exacerbate it. Not to say it does not happen already, sociology is heavily involved in politics, and sociologists are being featured on political programs (and, I am sure, are mostly well-reimbursed for it). For an academic researcher in STEM, the notion of public service would not necessarily conflict with running a startup. For a sociologist, it most likely will.
Another evidence of this is biomedical research: the field is heavily commercialized, and "undesirable" research outcomes are getting suppressed as a result. If the same were to happen in social sciences, there would be no freedom of research and academic honesty, whoever pays for the show would immediately use this newly acquired academic credibility to push their own agenda.

" For an academic researcher in STEM, the notion of public service would not necessarily conflict with running a startup. For a sociologist, it most likely will" Could you expand on this? I can think of some instances that the notion of public service could conflict in running a startup.
But to even address that point - can a start-up be always self-serving? Couldn't you have a startup that also addresses and lessens social ills?

If a startup is unable to support itself and aims at lessening social ills, it is called a charity, this is obviously possible. Tech startups aim at providing some service with either a nontrivial amount of customers or a few very rich ones willing to pay for it, at least in theory. Perhaps I lack imagination, but I can not readily imagine a scenario where someone having money would seek profit from investing it in a social science startup and this would somehow not end up with social problems being more pronounced. Rich getting richer, that kind of thing.

Caveat: if a public charity such as USDR (https://www.usdigitalresponse.org/about) fits your understanding of a startup, they very much do exist, but typically are not interested in doing novel research at all. So for a practicing academic it makes more sense to stay within the university and be employed by such charities only on occasion.

The way I imagine it - it would be a company of social scientists researching pressing problems and open sourcing their work - the catch is they also sell their services to companies/governments who want their services to improve their product/governance. Think of the Red Hat model - FOSS but also sells services to companies who can't or won't do the social science research needed.

@wonderinghuh Those are called "think tanks."

@AzorAhai-him- thanks! I have a wayyy easier time conceptualizing the idea.