text:
How and where can I seek help regarding research outside of my university?
I'm so glad to finally have found this avenue where I can seek some advice related to my Phd. I wonder why it took me so long to stumble on this.
Let me give a brief of my situation:
I'm a Phd student in management Science discipline (My research area is  - Management Information System & Decision Making )  well into 4th year with little progress to speak of. The thing is, I made 2 biggest blunders at the outset about which I cannot do anything at this point:

Getting into an University without considering whether it's suitable for the topic I'm interested in
Not changing my topic even after figuring out that my supervisor and the whole faculty aren't really comfortable with it.

I plead guilty.
I'm the first scholar assigned to my supervisor. So, he doesn't have any experience guiding research.
He is also not knowledgeable about my research area. As such, I have received nothing from him in terms of suggestions, guidance or direction in all these years.
The other faculty are also not very helpful either regarding the topic or the research in general.
I'm only looking for some intellectual discussions and guidance related to how to perform the research.
Nevertheless, I finally came up with the research proposal, which finally (after 2 years) "seemed" to satisfy all the faculty. I'm not entirely happy with how it turned out because I believe that with good guidance, it could have been way better.
All these years, I continuously tried to contact other people for help - academicians, practitioners and the like for support with only meager results.
Due to personal reasons, I moved to a different country a few months back (USA) and I have deregistered from the university. But I still want to finish my phd and get the degree. The system works like this: I can work on my own and when I think I'm almost done I can re-register (before a stipulated time) and submit my thesis within an year of re-registration.
So, now I'm completely cut-off. Not that I fared any better while I was with the University.
I did some literature survey (not sure it's exhaustive), identified some variables, started working designing questionnaire, but still am stuck on how to address one of the research objectives.
My question:
I am looking for people researching in the related field ( Phd students,  academicians) , with whom I can discuss ideas/bottlenecks. And I'm seriously in need of advice    regarding survey design and analysis. How can I find and approach
   such people? Where do I need to look for support? (I tried reaching several professors, researchers with no avail. No friends of mine are knowledgeable about MIS/Research) Anyone on this forum who can help me? What should be my strategy now?
I'm really passionate about my research. Given my constraints, I want to do as decent a work as possible.

Welcome to Academia.SE. Please ask one question per post.

If you have questions about survey design and analysis, why do those specialists have to be knowledgeable in MIS? Do you think perhaps your selection criteria for conversation partners may be too stringent?

Modified my post to include only one question. i.e. regarding finding help.

@Penguin_Knight, No, I don't mean a person needs to have both. I quite understand that they can come from different people. I'm really looking for more than one person, who can help me in either my topic or in research. Thanks!

Are there any universities in your area?  Problems like yours happen, and there are often kindly professors who will understand and take in academic refugees of various sorts, especially if what you are primarily looking for is advice and not funding.
In approaching a possible professor for advice, however, you need to make sure you're asking for an appropriate level of interaction.  Do not show up and say, "Please will you become the supervisor of somebody totally unknown to you on a possibly very time-consuming project?"  Have a particular specific question about something small that is your next step, and in the email you use to introduce yourself, ask if they would be willing to meet briefly to give some advice on that question or to if they could point you to somebody who would be better to talk to.
You need to be fairly independent and willing to get help and advice from many different people, if necessary.  You also need to understand that you will be generally the lowest priority of anybody that you talk to, and not feel discouraged if some people don't respond.

Thanks @jakebeal. I definitely made such efforts. Yes, I completely understand that I would be on the "lowest priority" for anyone. That's the reason, I typically offer my assistance if they need any. May be I should work on the "specific question" part a little more. The biggest challenge though is to find appropriate professor/person to reach out to. I will continue my efforts in this direction.


text:
Is there a single academic database for Management Information System /Decision Support System area?
Until now, I have been gathering literature rather primitively (I think) by regularly searching with related keywords in Google, Google Scholar, and also some of the university resources like -

Emerald Insight
Ebsco
Jstor
IEEE
ScienceDirect

And I'm not sure whether I find all the relevant literature and what else I need to be looking at.
Recently, I came to know that for certain fields there are dedicated databases that provide a unified source of research - which can be quite useful to perform a literature survey. Like SciFinder for Chemistry, NCBI for Biotech etc.
So, I'm wondering whether there is any such database in the field of  -Management Information System / Decision Support Systems.

The short answer is: No, there isn't.
This is simply because MIS/DSS research is often published in outlets which are more closer to the discipline of the context. For instance, many health informatics studies could also be found in the health outlets i.e., atypical MIS venues; or, a DSS study done in the context of nursing is most likely to be found in a nursing outlet, so on and so forth.

source: Stack Exchange

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

sort: votes


text:
Research paper - translated plagiarism?
I'm writing a research paper in my native language, Serbian, on a specific electrical engineering and applied mathematics topic. Moreover, there are two published papers in English that hold much of the information I need.
Now, the topic itself is quite new and is unknown in Serbia, and consequently at my university. My plan is to sum up the results of the two papers, further expand on the theory behind it (which is only arbitrarily mentioned in the English papers), and finally encapsulate the whole idea.
So, strictly speaking, I won't be doing any original research, in terms of experiments or mathematical breakthroughs, but rather synopsize and provide a desired perspective on a modern topic that is novel to my national academic environment.

Q: If I reference the two English papers and their authors at the end of the paper, do I commit plagiarism?
For example, if I see a nice sentence in one of the papers, and I translate it into my paper, are the references at the end enough for crediting the author?
Finally, is using the pictures from the two papers (with referencing them naturally) accepted practice? Or do I need to get the authors' permission to use them?

Furthermore, does my paper still hold some kind of value, even though it doesn't provide original results? At the very least, it introduces a new, and very interesting topic to my faculty, and is generally a field I'm interested in researching, and eventually achieving some real and relevant results.

From Wikipedia, a main aspect of plagiarism is the absence of credit given to your source. If you correctly cite your reference in your paper, I believe it should be fine regarding your plagiarism issue.

I was wondering when this topic is going to come up. From what I hear, it's common ethics debate point in academia here.

While I cannot tell to what extent you are actually doing that in your paper without reading it, in general "further expand[ing] on [a] theory" and "encapsulating [an] idea" to "provide a [new?] perspective on a [known] topic" is original research, isn't it? Maybe not the most original one, but it sure sounds like you are doing more than just repeating what was already published before in the same fashion.

It's also worthwhile to (with approval of authors, etc.) to prepare and publish translations.  Not everyone reads the original languages, so there is a call for it.  You might consider looking for a venue for that.  You can publish commentary on it too.

Referencing the papers at the end is not sufficient.
Generally, the litmus test whether or not something is plagariasm is whether the reader is given an adequate impression of how much of the text is other peoples work. Readers don't always read entire papers, and in particular may not make it to the end.
In your case, I would suggest to state at the beginning what your two main sources are, and give some indication of how heavily you are drawing from them. Then, throughout the paper reference each bit you've taken from elsewhere by where it is coming from.

Your paper lies somewhere between

a true translation, much like how a book in one language might be translated into another. In such a case, the article is usually credited to the original authors, with a note mentioning who did the translation
a review article that surveys some fragment of the literature, possibly adding a larger perspective to the material being presented.

In my view, your work is closer to the latter than the former, especially if what you're trying to transmit in Serbian are the ideas in the papers, and not the literal words.
What might therefore be your best option is to convey the ideas in the works, clearly marked (for example a section header, or even some introductory text saying what you're doing), but without any need to cite specific translations (unless the occasional turn of phrase is so useful that you might as well put it in quotes).
In this case, you're clearly not plagiarizing, since credit is being given clearly and copiously.
I'm not sure about the copyright issues involved in reproducing pictures. Fair use should cover use of a few pictures (but IANAL). In any case, it's the copyright holder who needs to be asked (and this might be the authors, or the publisher: the paper should have a note about this).
Does such a document have value ? Well based on the context you describe, sure ! If it helps an audience gain access to material they'd otherwise be unfamiliar with or unable to read, definitely. This is no different from other review articles in other disciplines, and has the added bonus of language translation.

There is no such thing as "fair use" outside the United States of America.

Generally speaking the publisher of a paper holds the copyright over the figures.  Most publishers have some means in place for contacting them to request permission to reuse material.  I have no idea how likely such a request is to be granted, particularly if you would like to reuse more than one figure from a paper (anything that could be redrawn should be, but of course results are different).  It will however be journal and field specific.

@Sumurai8 well, of course the US law that implements fair use has no force outside the US, but some other countries do have an analogous legal provision that makes it legal to copy a portion of a copyrighted work under certain circumstances.

The term "fair use" is specific to the USA, but under the Berne Convention, copyright is fairly similar around most of the world, @Sumurai8.

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


text:
How to deal with inactive students in undergraduate projects?
I am in the field of computer science, and I have noticed a trend among a group of students when dealing with undergraduate programming projects. The situation is that there are some students that when faced with a programming project they seek for students who have that skill; so that in the long run they just do not program anything at all whilst the others do all the work.
I do not know if that could be categorized as a plagiarized work, because they are taking credits for something they have not done. The issue is that is becoming a big problem in our faculty, and it is not easy to track those students.
What would be the measures to be taken for avoiding that behavior?

Comments are not for extended discussion; this conversation has been moved to chat.

It would be very interesting to know where the peer-evaluation lover/haters come from. (I would guess mainly US, non-US, respectively.)

Here's a view from the commercial side. I have been interviewing CS graduates since about 1983. Allowing CS students to be graded entirely on exam scores and group projects causes real problems for the students after graduation. The majority of MSCS graduates I have interviewed were unable to program AT ALL. They were passed through CS course work without ever being required to independently produce working code. Reality hits when they go to a technical interview at a selective employer and spend 45 minutes trying to solve the warm-up problem. I used to be frustrated with the candidates. Now I'm angry with the CS departments who sell worthless graduate degrees to unsuspecting students.
Shortly after I graduated from Carnegie-Mellon in 1979 they found that despite completing the introductory CS class required of all engineering students, most could not produce a simple working program. In response they instituted a practical final exam. Students were put in front of a terminal and given a couple of hours to write a working program to solve some simple problem, something that was probably ten or fifteen minutes work for a competent programmer. If the program didn't work, they didn't pass the course.
All CS programs should, as early as possible, ensure that students can independently produce working code before allowing them to advance. It's cruel to hand out degrees, leading students to believe that they are ready to work, when they are not and likely never will be.

I'm not surprised.  The ones that can't copy the homework from the ones that can.

A computer science degree is not a programming degree.

@JackAidley: But "programming degree" is not a thing that exists.

@JackAidley: the students who enter these programs are enticed to pay tuition for two years on the expectation that at they end they will be employable as software developers. Their grasp of computer science theory is no better than their ability to write code. The candidates who can't solve simple programming problems also can't explain the difference between a tree and a hash table.

@DanielR.Collins Yes there is.

@JackAidley: That doesn't excuse a computer scientist from being able to code.

@JackAidley: Computer scientists need to be able to program just as mathematicians need to be able to do arithmetic. They don't need to be exceptionally proficient, but you expect a certain minimum standard.

@JackAidley A degree in English literature is not a grammar degree.  But we should expect anyone with an English literature degree to have flawless grammar.

@JeffE I don't think that's a valid analogy. It would be more like expecting architecture students to be flawless builders

@JackAidley A Mathematics degree is not a proofs writing degree, but you absolutely have to be able to write proofs if you want to get a degree in pure Mathematics. An English degree is not a writing essays degree, but I'm sure you can't get an English degree at any accredited institution without writing several essays. A Chemistry degree is not a doing experiments degree, but I had to do experiments in a Chemistry lab just to get a science credit for my Math degree. Short version: what is your point? CS grades shouldn't have to know how to write a computer program? Horrifying.

@JackAidley Let's look at it from the other side. Suppose you need to hire people to write some software. Where would you personally look for such people? What education would you want them to have? Your architecture analogy is off, IMHO. It would be like expecting architecture students to be able to draft a floor plan. Which is expected.

@ToddWilcox I'd prefer that we didn't lump everything into degrees whether it's an academic subject or not. Failing that, I'd say Software Engineering is a better match than CS.

@JackAidley In the US, Computer Science programs are required to ensure that students know how to program before they can graduate.  ABET's criteria for "Computer Science and Similarly Named Computing Programs":  "Students must have the following amounts of course work or equivalent educational experience: [...] 3. Proficiency in at least one higher-level language. [CS]".  So, students shouldn't be able to get a CS degree unless they're proficient in programming.

I can think in some possibilities to deal with this problem, but I don't know if they're the best policies.

Ask for a statement of contribution (similarly to the ones we see in scientific papers). The students would need to lie in a document if they would want to carry others with their work;
Perform individual evaluation about the project. You can do oral or a written exam about the project, based on the statement of contribution;
Grade the students accordingly with the statement of contribution (not always possible);
The most efficient method (with less work to the professor): stop giving group projects.

"The most efficient method (with less work to the professor): stop giving group projects." I have to respectfully disagree with your last point. I believe effective teamwork is an important skill to teach. Dropping group projects from the curriculum just to make less work for the professor seems to be a bad idea.

@David Etler I agree with you. But you can't deny that this is a viable solution for the problem. I would not do that.  Teamwork is specially important for a Computer Scientist.

I always assumed that group projects meant less marking for our teachers? While there might be a small overhead the overriding factor is that groups of x equates to dividing the marking workload by x (no?)

@Lamar I was talking about the effort a professor needs to employ tracking individual contributions in a group project, not the overall work. However things are not linear as you said, in general: group project means harder assignment than individual ones, which can be also challenging to grade.

@DavidEtler  I think you will find students are pretty adebt at effective teamwork.  At that that is exactly what the teacher is complaining about.  When my team encounters a string encoding problem.  I usually end up doing it, I like and have an understanding above my team.  They despise it and are prone to making silly errors.  The most effective division of work is usually for me to just do it.  In the same way my team wants to put out a good product, students want a good grade.  As much as a student may complain about being the only one on the team doing work, they usually want it that way

@DavidEtler but is the professor really teaching effective teamwork, or simply giving an assignment to perform group?

@DavidEtler Teaching effective teamwork is really difficult. Actually, grading students for that is even more difficult. And although I agree that effective teamwork is important, most group assignments I participated as a student were simply terrible and traumatic, as I ended up doing everything, such that it was best I didn't "learn" anything about teamwork.

@Hamsterrific That was exactly my experience.  Team projects simply meant more work for me as I was going to end up doing basically all of it anyway.  I soon learned that even when it was supposed to be teams it was less work for me to do it alone than try to work with a teammate and then end up doing it on my own anyway.

@LorenPechtel Yes, exactly!! Well said. In my answer I try to convey that :)

In addition to asking for statements of contributions, you can make them use a version control tool like Git and ask to see the commit history. It'll be very obvious who is writing code and who is not. Not only that, they'll learn a very useful industry tool.

From my participation in group projects as student, there are exactly two possible values for the participation amount of each member: 0 (really unlikely if someone does absolutely nothing) of 1/[group size]. No student will try to argue with the others who did 30% and who 20%. So giving the option to "fire" someone from a project is equally useful.
Team projects anyway always result in "do I know enough skilled people to do the project with to form a group or do I have to do most work alone again".

Thank you for acknowledging that this problem exists. As a student who "suffered" from working in groups I think I have the duty to give my two cents to this question and point out that some suggestions from others are bad. I'm a student and I've been there countless times. Oh, I ended up hating working in groups.
TL;DR: Putting students to work in groups has a mountain of downsides. First of all, be aware of them. And at least, you MUST have a solid way of grading each student separately.

The fallacy of "but in real world they will work in groups"
Well, it's true that in the real world, almost everyone will have to work in a group, and it is lovely to think that students must be trained beforehand so they can do that properly. But working in a group in a real job is one thing. Lots of "group assignments" I see around in schools / universities are totally another thing.

In real life you will have a manager/boss that will "grade" and "fire" you based on what you do. On the other hand, in the vast majority of group assignments I've received as a student, everyone in the group get the same grade, no question about it. This is borderline ridiculous.
In real life you will have a manager/boss that will give you tasks, observe your progress, help integrate your work with the work of others, make sure things are going smoothly, and so on (or, if he doesn't, then he is a bad manager, but nevertheless in real life it is not your job to manage the stuff - unless you're the manager of course, but this is not in the scope of this question). In undergrad group assignments, good luck to you, just get the whole thing done and hand in to the teacher.
In real life each member of the group can be assumed to be minimally interested in doing a good job (otherwise they will be fired). In undergrad group assignments, there is always that guy who is just slacking. And for the "suggestions" of letting students "fire" slackers or grade each other on how much they helped: that's nonsense. First of all students aren't supposed to grade each other, period. Secondly, put some psychology in it. No student will ever give terrible grades or "fire" another student. There's a whole lot of social aspects here. Bullying, retaliation. They belong to the same class, they have other classes to attend, perhaps will be colleagues for years, whether they like it or not. Do you think I would expose the bully slacker or do his work for him and stay safe?

Unless the theme of your class is 'working in groups', where you would assign someone to be the manager and all that, it is probably not your place to grade these oddities of working in groups. And by not grading it, it brings the morale of the good students down, since they have a ton of unrewarded extra work and stress.

Ask yourself why you are putting students to work in groups.
Perhaps you are assigning a huge task but don't want it to be done individually because it's too much work for a single person. You are counting on the fact that if they are working in a group they will split the work and then have less work per person. If this is the case, don't forget and don't underestimate the fact that if they split the work, there is the extra task of adding it up in the end. Oh, this task is the worst, brings me memories... First of all, don't underestimate the hugeness of this task. How many times it happened to me that I said "okay guys send me your parts and I will add them up" only to find out that they aren't joinable at all, sometimes contradictory, sometimes missing a key thing to glue them... Oh, but it's a part of working in groups, you might say. It is lovely that you want your students to learn the extra difficulties of working in groups. But we get again to what I said in the section above.
Perhaps you want them to learn to work in groups. If this is the case, make sure you understand what I said in the other section. If you are aware of all the problems, and still think you can find a fair way to do it, I'm sure you will do way better than many other teachers out there that just throw the work in the students without thinking about it. But is it really your task to teach students to work in groups? I mean, is it in the spec of your teaching subject?

Solution: (other than giving up on group assignments) split the tasks yourself!
Since this is about programming, this shouldn't be so hard actually! Example:

Your task is to create a tic-tac-toe variation game, with a 7x7 board, where connecting six symbols is a win. Organize yourselves in groups of three. One person will code the game mechanics (the concept of a board with methods to make a move and determine the winner), another will code the user interface, and the third will code a ranking system for accounting the best players among many matches.

(I just made that up, certainly needs tweaking) The idea is that each member is doing something specific. And if one of them does their part badly, the others don't have to worry about it. Everyone will be mainly graded by their module. Considering Java, for example, you could specify the interfaces and tell them to implement them. Or you could make that a task too, each member explains how he expects the other member's APIs will be. This way they can sit down and discuss, if they are in the mood, or just imagine what the APIs of the others should be and base their work on that - and of course explaining why the APIs should be like that could be graded as well);
If you can't find an easy way to split the tasks yourself, imagine how harder it would be for the students! In this case, reconsider again why you're giving a group assignment.

Your group assignment solution is effectively to divide up the students and give them a separate assignment each, and ignore each other. That isn't group work. Reconsider why you are giving a group assignment! :-)

@Oddthinking :P that's interesting, actually! Haha :D Although I think that it still has some taste of group work. Each person is doing a part of a bigger thing, and they are encouraged to talk to each other to plan the best APIs. IMO it's actually closer to reality as well. The teacher is kind-of being the manager. But I see your point, yeah :D

As mentioned elsewhere, you seriously mis-estimate the learning benefit from well-organised group projects. They blow every other form of learning out of the water in terms of learning effectiveness, both for weak and strong students.

@KonradRudolph If you got that from my answer I apologize. I didn't want to mean that all group projects are bad and have no upsides. Indeed well-organized group projects are great for both the strong and weak students. But what about slackers? And what about not-so-well-organized projects? I agree with you. But with my answer, my goal is to make evident that it is something very difficult to accomplish. The first step is to truly understand the downsides and "dangers" that come with that, and that is the point of my answer.

+1, even though it's not at all impossible that the hard workers will need to do the slacker's work for him anyway.

I teach math, not programming, but I've found a way to reduce the free rider problem dramatically.  I set groups (of 3-4) who do homework together, as well as various other activities.  There are two components to my solution:

Change the groups several times, once every three or four weeks.
Base the groups based partly on class rank and partly on student preferences (expressed privately, as an exam question).

A free rider might do well initially, but will likely do badly on any exam, and may be marked as "avoid" by groupmates.  Consequently, each time the groups are shuffled, we get a filter effect.  The better students end up together, and the free riders end up together.
I sometimes tweak this -- if there are weak students who nonetheless try hard, I put a slightly stronger student in that group to help pull them up.

That's smart. Too bad it only works with several assignments in a row.

@henning would it can also work for engineeing projects. To encourage documentation i once did a full on engineering project so that each group was disbanded after initial concept and background work was done and rerandomized to new students. Worked quite well actually.

This is one creative solution. @henning: I think this can be achieved even if there is only one project. For instance we could use test scores and in-class participation in the first half of a course to gauge students' levels and then use that to assign grouping for the second half of a course. I think this solution trumps all others in efficacy.

@user21820 you would have to be careful that your tests filter the free-riders and not the weaker students, or else you will end up with groups of good and bad students, which is unfair and perhaps not as effective as teaching method compared to somewhat heterogeneous groups.

@henning: Yes. That issue can be avoided by using in-class participation as a factor in grouping. Namely, those who do poorly on the test and do not contribute meaningfully to the class are grouped together, and those who do not do well on the test but appear to be sincere about learning are grouped together. It is still unfair to good students to put weak students with them if the group project will contribute to the course grade. Weak but hardworking students are welcome to seek help from the lecturer, the one responsible for teaching.

One possibility that we do with our projects (five in a group) is to include peer marking for 10 or 20%.
They mark each other - using Moodle there is a peer marking algorithm; you can find others - I wrote one in Excel...
Some students still get good grades as they “agree” to give each other full points. Sometimes they lie to each other!
Other students find this a good way of rewarding teamwork or lack of it... and give a wide range of points.
Edit:
For those who suggest that the peer marking is a cover-up for a poor marking scheme, I will detail the complete scheme for the project:
The project grade is based on three parts: a report, a quiz and a presentation. The theme is the same for each group, but to reduce copying each group has a different location ie country / city / town.
The report grade is the same for each student - various things are graded : tasks that have been asked for, layout, clarity etc.
The quiz (individual for 5%) is 1 week after the start of the project and is designed to motivate the students to read the brief - this helps reduce questions in the workshop sessions that are down to not reading the brief. But there are still students who score low.... and those who get full marks, because if you read the brief the questions are easy.
The presentation grade is based on the performance of each student as well as common parts for the presentation, such as quality and relevance of slides, flow of presentation etc. The individual portion is based on things like eye-contact, professional speech (no slang etc) and answering questions asked about the project / presentation at the end of the presentation.
When compiling the grades, for 160 or 240 students in groups of 5 then excel is used to do this.

In my experience, this is pretty useless and only gives students a method to damage each others' grades in spite, rather than really showing who contributed the most.

I agree. It's an exercise in backstabbing, designed to cover up for lack of appropriate thought going into marking.

@ti7 That's a pretty negative outlook. In my experience these reviews are usually overgenerous: in a you scratch my back and I'll scratch yours manner. One thing that helped immensely for us was you get to see the (anonymous) feedback given by your group and have an opportunity to respond/appeal, although this did cause some conflict, as in a group of 5 people it's not terribly difficult to guess who gave what feedback if it's in comment form.

Precisely: students are almost-always overgenerous (10/10 all around!) as there is no benefit (and often a social detriment) to giving less-than-perfect reviews. However, students who do not see that logical outcome or have some bad blood frequently give other students a poor review, often binding professors to further reduce the scores on an already ill-fit team.

@ti7 there are always some students who give 10/10, but experience (based on some 5000 students over 5 years) shows that most tend to do it properly and there are some who don’t bother at all...

What sort of authority do peers have to judge the value of their peers' contribution in the first place? Surely the whole point of assessment is that it is done against a gold standard, not against a Dunning-Krueger accident waiting to happen. Peer marking is not just pointless, it's downright dangerous. Especially to "high-achieving" students who are typically the ones for whom grades actually matter. I'd hate for a high-achieving student of mine to miss the chance to go into Oxford because some douchebag thought their insistence on using proper version control was "annoying".

@TasosPapastylianou perhaps the “authority” comes from expecting each member of the group to contribute instead of expecting others to do the work so they can “bum” around...

If peer marking is 10 to 20% of the grade, does that mean someone who did nothing still potentially gets an A or a B?

In real life a good team needs a good manager. The manager is then the person who decides how everyone contributes to the project, based on objective criteria relevant to the project itself and its success.
Unless you have a group project and there's no supervision with an external person monitoring project progress and team contributions along the way, there's no metric that is going to tease that out. The fact that most students are left to their own means without a 'manager' in such projects is a fundamental flaw of the process.
I particularly loathe 'peer marking' strategies. That's just a lazy cop out that can't possibly be expected to be of any value, other than helping the marker say they did something about it without spending too much effort thinking up a more appropriate marking scheme. It's also the best way to mess with a bunch of kids and imbue distrust in that circle. Even in professional settings where such "360 assessments" are performed (e.g. in the NHS), the person involved is allowed to choose their assessors to avoid people with agendas. Imagine a student project setting where everybody benefits from pointing out they did all the work.
If you want reliable marking, get a 'higher-up' to supervise. Presumably this might even be useful experience for such a person, e.g. a PhD student supervising an undergrad group project could use that in their CV next time they're looking for a job.

So, get a higher up to supervise : this may work for a small number of students but when you have 160 or more in groups that is not a practical solution...

Yes, there are always several students who say they don’t like peer marking : experience has shown us that these students tend to be absent from the organised project workshops and are absent from class generally - so the low peer grade they receive is justified. Other students who are motivated and focused like or, at least, accept the peer portion as it is useful to them to have an input to give their opinion on good / poor performnance.

@SolarMike why not? 160 students divided in groups of 5 = 32 groups. Then you just need 5-6 PhDs / postdocs supervising 5-6 groups each. Each group has one 30 minute meeting every 2 weeks = 1.5h supervision per supervisor per week. It's more than doable, and if 1.5h per week is considered too large an investment to properly assess and guide a group project, then one should reconsider the need for and learning point of group projects. They are not meant to be a "teachers get a break while students faff around by themselves" exercise.

Also I disagree with the peer marking comment, but I suppose that's just a matter of opinion. My own experience is different. Students are always at different levels of the learning curve, and 'attendance' or 'agreement with others' isn't always a good indicator of 'contribution' or 'value', and different members of the group have different understanding of that value based on their own competence. Peer marking then becomes just another pointless performance metric to be played at, as per Campbell / Goodhart's law. If anything, an external marker is needed to assess the quality of the marking.

As for “have 5 or 6 phd / postdocs” that may be a good solution if you are not paying for them and can just say “I want xxx” and have it given ... How are the finances of the NHS???

tl;dr-  Online collaboration tools can track students' contributions, revealing their participation in group projects.
It's difficult to write any advice about group projects without warning that the group-project format is misapplied in common practice, resulting in students missing critical learning objectives.  Group projects provide a different educational benefit than individual projects; the two formats aren't broadly substitutable alternatives.
Revision history
Tools like Visual Studio Live Share can allow students to work together on the same project in real-time.  If that sounds a bit new, sure, but that's the world your students will be going into.
Then extensions like Git History for Visual Studio Code (see also) can track students' contributions.

Features

View Git History with graph and details (latest feature)

View the details of a commit, such as author name, email, date, committer name, email, date and comments.

View a previous copy of the file or compare it against the local workspace version or a previous version.

View the changes to the active line in the editor (Git Blame).

Configure the information displayed in the list

Use keyboard shortcuts to view history of a file or line

Compare commits/branches

View commit information in a treeview (snapshot of all changes)

-"Git History (git log)", Visual Studio Marketplace

Presumably you could modify this extension (it's open source) or ask someone else to modify it (seems to have an active developer base) to automatically implement whatever analysis you'd feel is appropriate.
And, sure, it's probably not a good idea to assume that student contribution is directly proportional to line count, number of commits, or anything like that.  But the difficulty of objectively weighing individual student contributions is a hard problem to solve anyway.  Rather, the goal'd just be to ensure that students did engage in some minimum level of participation.

“I agree that team projects tend to have little value” — Well you are wrong. Simple as that.

… but I now regret downvoting the answer because apart from the falsehood in the introductory paragraph you give good, actionable advice.

@KonradRudolph I'm more disappointed in the uncharacteristically thoughtless argument.  Com'n, you're-wrong-simple-as-that arguments don't really help anyone!  Anyway, my perception's that, if we took the set of all classroom group projects across disciplines/institutions/etc., then it'd probably be the case that the significant majority of them fall under the category of students-distribute-work-and-avoid-learning-some-part-of-the-material.  So while group projects do have their place as students need to learn teamwork, they're typically misapplied.  Would you disagree?

No, you misunderstand. Team projects don’t mimic real-world work (at least that’s not their point). Rather, they have didactic value. As in, they enable learning, more than (pretty much any) other classroom activities. I apologise for the curtness but this is extremely well established in learning research and it’s disappointing to see this quite fundamental misunderstanding paraded around in several answers and comments here.

@KonradRudolph The didactic value's a great goal that does have a place.  It's just that, in practice, group projects more often result in students dodging learning objectives even when those learning objectives were a critical aspect of the course's intent.  This isn't a misunderstanding, but rather a frequent empirical observation that most have made during our own time as students in which we've seen our group mates engage in minimal participation without understanding the material.

In a nutshell, you’re throwing the baby out with the bathwater: You’re dismissing, out of hand, (one of?) the most individually powerful learning tools because of bad implementations due to the prevalence of bad educators. That’s not productive. Your more nuanced comment is in stark contrast with your answer’s initial sentence.

@KonradRudolph Rather, I'm pointing out that this practice is typically counterproductive before launching into a discussion on how to make it more productive when pursued.  Though, I do appreciate your point that the first line there might come off as a broad dismissal of the very concept of group projects; I'll edit that.

The big danger of version history is invisible work: I once was in a group where I we did lot of parallel programming. I was helping out a fellow student and I wanted him to write because he would not have understood anything I wrote. I was sitting next to him, pointing out obvious errors and challenging his approaches. My name never popped up in any of his commits. My contribution was only attributed in our project documentation.

@k0pernikus Allow for documentation of such work, signed off by the one who received the help. Or, if the invisible work is design work, there should be documentation of that as well.

If you are assigning group projects and are "hoping for the best" in terms of students taking away key developmental skills from such an assignment: don't do that.
(In engineering, I find that for important, fundamental technical skill development, it is best to assign individual projects, and save group projects for things like Capstone courses, where students bring different capabilities, view points, and experiences to the table to execute something more complex.)
Now, for projects to be completed by individual students, I find that having a concepts exam is helpful. By this I mean just a short exam asking students basic things that, if they have done the project work themselves, should not be difficult to answer.
After the exam and project are graded, I determine the students' overall scores on the project using the concept exam score as a weight: students who do excellent on the exam get the score they earned on the project (whatever that was computed to be), while students who do poorly on the exam earn a very low project score.

This superficially sounds useful, but goes against most of the principles of a group project in terms of role allocation. Only the least organised team which ended up with everybody duplicating everything will know everything about the project. The whole reason group projects are hard (and hard to mark) is that all the individuals in the team need to have different roles and contributions, and it's hard to allocate roles such that 'conceptually' the contributions were more or less equal.

@TasosPapastylianou Hmm, I didn't read the question as being about group projects, but rather a group of students that OP was having issues with. Nowhere in the following text does OP mention that this is a group project: "and I have noticed a trend among a group of students when dealing with undergraduate programming projects"

This is actually an interesting point that the original question is ambiguous about whether it concerns group projects or not (not terribly well written).

(This answer doesn't directly answer the OP's question but is in response to the oft-stated idea that group projects are valuable in school as part of the field-specific curriculum because projects in the real-world are run that way.)
In an interview situation when talking to a recent college graduate I avoid talking about group projects at all.  As far as I'm concerned, they tell me nothing about the candidate's knowledge or capability.
If the situation arises - and it has, sadly - that the candidate wants to talk about a group project and has nothing else to offer I have to drill down and down with insistence on the question of: What did you actually do yourself on this project?
I literally have to drag it out of them which is tedious for me and embarrassing for both of us because the answer is invariably that they did nothing at all worth mentioning.
(This is especially true if the candidate "wrote a compiler" in his group project.  Not sure why.)
In conclusion:  If the purpose for assigning a group project is because all projects in industry are group projects and the student should know how to do that kind of thing then don't bother.

Similar to @Solar-Mike my advisor gives each student in the group a sheet where they review each of the group members 1-5 in several categories related to how well each member contributed to use as input for individual grade adjustment.
Here are some of the contributions they are rated on:

To the project overall
To the written/visual/poster portion of the project
Intellectually to the project (ideas, knowledge, solutions)
Coordination of the team (leadership role)
To developing the class presentation
Overall personality in terms of working in a group (flexibility, team-player, availability)
Dedication of the proper time for the project

We also require written commentary from the students to explain their ratings and give additional feedback on their group members. For the most part this prevents 5/5 ratings for each category. If real commentary is not provided or all of the ratings are fixed 5/5 the entire group is penalized 10%.
The ratings and commentary tend to give us a good idea of the level of participation and contributions of each of the group members and allow us to adjust their individual grade accordingly from their overall group project grade.
Edit: This rating system is not done in a vacuum. The comments are taken into account with input from TAs who are involved in the process from the start of the project where they advise the students and help them set goals. The TAs stay involved throughout the project answering questions via email and holding work sessions during scheduled lab time. In this sense the TAs act partially as project advisors.

I am so happy not to be a student of your advisor. This causes so much social problems..

This is an issue I have faced throughout undergrad (basically every group project I have ever had) and even now as a PhD student when collaborating with a fellow student.
See my question: How do project supervisors address the "freeloading" problem in group projects?
Students who put my portion of work on their LinkedIn page? Check.
Students who classify "nothing worked" as work performed? Check.
The most amazing thing with these "social loafer" is that they don't even care if the assignment gets completed or not. I have been in a situation where I had less than 12 hours to finish a project assigned to two-person, and the other person simply disappeared. No emails, nothing, not a care in the world. I can't even imagine what would the person have said if I had not finished up all the work and handed in the assignment, but I can probably guess that I would be the one blamed for the overall failure.

To deal with this issue, from a student's perspective the most important thing is to have visibility and feedback, and a mechanism to break off from non-performing teammates without jeopardizing the entire project.

Keep groups to three-person instead of two-person - a triadic network is more stable as compared to a binary network. I think that the risk of two students simultaneously disappearing in a project is smaller than having one student disappear during a project.
If this is lab/group assignment, randomly rotate partners every lab and keep good track of this.
Shorten length of project if semester long so that deliverables come in rapid succession to prevent procrastination. Procrastination is probably the root cause of a lot of these social loafing behavior.
Implement periodic checks within the first few weeks for year-long project and break up teams as soon as possible
Have a very comprehensive feedback mechanism to rate a student's participation. Deduct marks if feedback is not provided.
Create a very clear and precise breakdown of work by each student. When work is submitted, keep two copies, one is the finished work to be graded, another one is completely commented throughout with very clear participation. Make sure that all student's actions are accounted for. Deduct mark automatically when no responsibility is claimed for a portion of the work.

The most tricky aspect is "soft responsibilities" (for a lack of better word). To me, this is where the most conflict arises in semester-long or year-long projects, as this aspect of the project is almost entirely thankless. I define soft responsibilities as the actions that are taken that cannot be objectively evaluated. For example, emailing a client, or setting up the meeting with project supervisors, or contacting a local library to use their resources. All these things can take up a significant amount of time, and a student can even be burnt out after arranging all 12+ meetings in a year and may feel unfairly treated by the other teammates.
The solution is to clearly designate possible "soft" roles for students. Who gets to set up meetings, who runs between school and library, who keeps watch of the equipments, who contact the supplier. Make sure all actions are accounted for and relate them to the final deliverable. If an aspect of a project was not completed, see if it is because some of these "soft" responsibilities were not fulfilled, if so, deduct a mark for that particular student instead of penalizing all the student equally.

I suppose you've got a bit of real-life Prisoner's Dilemma happening in these cases.

@Daniel R. Collins sorry for nitpicking, but it's worse: This is a 'Rambo game'. The preferences are asymmetric, i.e. the 'free-rider' can live with the project going down, but the 'sucker' can't. :)

@henning: That may be true, but I'm not sure that's the worse part. Assuming any common group credit is given (e.g., others have suggested 80-90% of the grade be given in common), the free-rider can still get a passing grade by signaling apathy to make sure the sucker does all the work.

There is no way to establish who is doing the most work in a group project without watching every step, which is likely to strangle creativity and waste a lot of your time.
Even enforcing regular checkins to a version controlled repository easily misses who is really doing the work: one student thinks and another types.
There will always be better and worse students, but a team is a single unit and should be graded as such, regardless of who really does the work.  However, lower-performing students will (ideally) learn from the stronger students, and I believe this is what you should be encouraging in a group project.
@Bakuriu commented another important aspect

Do them only if the whole point of the project is the group itself, in which case what they produce will be discarded and you'll mark how the group operated (which should be clearly documented).

It may be a role of your curriculum to teach students to perform in a group, in which case that's what you should be encouraging them to learn and test them on, not the results of what they can cobble together.

Even the concept of "did more / did less" is problematic. What kind of 'metric' do you use to judge that? Does the person writing the code specification count as having written zero code for instance? The person who came up with database structure and populated the database for proof of concept? What do you judge? Number of words in the report?

"a team is a single unit and should be graded as such" - oh boy, this isn't true in school or in business.

I am sorry for your unfortunate experiences - I have seen teams graded many ways, but they should be graded as a single unit

I don't know if you have the manpower to do this, but whenever I had a programming project (both as student and as TA/teacher), it came with a final presentation. This could be a "formal" presentation - prepare slides, talk for 10 minutes, questions - or informal, where the students would just come to the TA during office hours, run the program, and answer some questions.
During such presentations, I find it rather easy to estimate how well the students understand their project. Plus, I always require presentation time and answers to be equally distributed among all students. If the presentation and questions give an indication that one student did the majority of the work (e.g., if that one student talks significantly more than the other(s), or the team admits so when being asked about how they distributed the tasks), s/he will get a better grade than the other team members.

That last paragraph is a bit dangerous. Gaugeing knowledge of the topic is one thing, but marking by talk-time simply rewards the extroverts in the group, i.e. the best talkers, which may not necessarily reflect their contribution during the 'silent' introverted phase.

@TasosPapastylianou guess I oversimplified, thanks for pointing out. No I don't grade based on talk-time only. Edited to make my point clearer. (When I wrote that paragraph, I had one specific group in mind, where one person had tried to program the backend of a gaming console using a complex framework and explained how it didn't work because what he was trying to do was only possible in an earlier version of the framework due to a bug that had been fixed - while his two team members had programmed a simple game and an incomplete settings menu...)

My approach to group projects (I'm teaching mathematics) is pretty simple: the students are free to choose how they work, but when it is time to present the results, it is I who chooses the presenter from the group. Of course, the choice of how to form groups is also in the hands of students in this case. I merely tell them the size limits for the group (usually 3 to 5).
With this said, I really prefer to give individual assignments. We had group programming assignments when I was a student because the machine time was not readily available but now, when 99% of students have their own laptops, what's the point of them?
As to "students evaluating each other", etc., I really loath all that. IMHO, it just creates a lot of totally unnecessary ethical and social issues. I would be extremely uncomfortable to evaluate the contribution of my friends back then and the same applies to my collaborators and co-authors now. I stand by the viewpoint that is nobody else's business how exactly we split the load when we submit a joint paper for publication, so I feel no moral right to ask the students to do something that I would refuse to do myself
(the idiotic requests of the type "certify that the contribution of X was above 50%" coming from various promotion committees do not count; those I sign without any hesitation in accordance with Luke 23:34).

If you are going to deal with a programming problem in a group, I find perfectly natural to want good programmers on it :)
If you are a good programmer yourself, you'd probably want someone of at least an acceptable level, so that you can evenly share the load. Otherwise, you will probably end up doing it yourself, as noted by 8bitwide (but make no mistake, that's not that they want to make the full work).
And if you are not a good programmer, that's even a stronger reason to want one on your team. :)
Now, from a group perspective (eg. a pair), it doesn't really matter that most of the programming was done by a member, as long as the other performs an equivalent work: they could write the user manual, create test cases, design the images used on the UI...
That is actually the most efficient way to get the job done.
Some of them are still not programming, but they are not taking credits for something they have not done, since they have participated in "creating the program".
What is highly problematic is that the group workload is unbalanced, with one person doing all the work and the other doing nothing. The last one ends being rewardes while the first one needs to work double, and is in a very bad position, since he needs to have that "group" assignment done in order to pass the subject. And despite the injusticy, doing it on his own is the only way he has available.
This is less likely to happen when the group formed on his own, specially if they are friends already (although there are some "friendships" quite parasitic, too), as they will be less inclined to not do their part or leave the other members stranded. However, in a class there is a finite number of students, ending up with one or several 'filler' groups, which may work or not, but are riskier.

There have been some great answers here that push students to participate in group projects, like concept exams, self-grading and individual parts. All of these strategies have in common that they incentivize students to learn what you think is best for them.
These solutions may work but they come at a cost. There can be several reasons why some student participate less on the coding tasks at hand.

They do not find your programing task benefits their learning process and choose to learn something else which they find more interesting.
They allocate resources efficiently and exhibit true team work where everyone works in an area where their comparative advantage lies: some program, some coordinate, some interpret
They allocate resources efficiently by dividing work over time: A solves assignment 1, B solves 2.

From my experience as a student:
I am currently in a group work involving programing, data work and interpretation and honestly, the meaningless programing/data cleaning part is the worst. All of us know the tools at hand already and there is little to no knowledge added. We usually rotate the tasks and then do the interesting parts together.
And even if some students don't know programing yet, I don't see why forcing them to learn programing (by grading, for example) would be a beneficial strategy. If its really that important, why can't you persuade students to do the programing part themselves? Demonstrate how powerful these tools are and how the skills will benefit them in the future and students will quickly follow your example.
After all, we are here because we want to learn something. So no need to force us. :-)

Your point about sharing tasks is what is relevant - there is always a portion of simple hard-work tasks to any project - good you share that and then you “enjoy” the interesting bits together - good strategy.

"Demonstrate how powerful these tools are and how the skills will benefit them in the future and students will quickly follow your example." -- This is a stark falsehood common to people who've never taught.

@DanielR.Collins Interesting. Would you mind saying why?

I just read through some of the answers and they all seem to miss one important  point. How do you 'quantify' programming?
I am not a computer scientist myself, but in business a project has many many facets and it is very hard to quantify each. Normally, a student group will split tasks according to each others' strengths and that is perfectly fine and even desirable from the perspective of efficiency. A couple of students might code, some do administrative work, and some will be cheering up the team and keeping it fun. Their innate sense of fairness will ensure that each student does a fair amount of work. That is how it would ideally work out in real business environment and you will be doing the students a disservice intervening in the process.
With that being said, you can set clear, strict, and measurable minimum requirements to what each student should do in the course of the project, e.g. Each student should write at least 20 lines of code, create and document an object, or speak for at least 1 minute during the presentation of the project. Again, those requirements must be clear as daylight, apply to everyone, and be measured during the evaluation, otherwise you will draw criticism and set a bad example should any of the students become managers in the future.

"Their innate sense of fairness will ensure that each student does a fair amount of work." Have you ever actually done a team project in school? My experience does not match your claim at all.

@Kat Fair, of course, doesn't mean equal :) For some students writing a line of code may be a huge struggle and for others working all day will be nothing but fun. I'm assuming primary purpose of the project is teaching and not evaluation. Otherwise doing a team project might not be a very good idea

Even if you're assuming fair means equal effort and not equal results (which is completely debatable), I've still never seen that happen. If the purpose is to teach, then people should do the parts that are hardest for them so they get better at it.

@Kat In my experience, capitalizing on strengths and avoiding weaknesses provides much better results much quicker. Also, fair is neither equal result nor equal effort. I would say it is when no team member wishes they would have done more or less work at the end of the day.

1) Do some tests/quizzes which play a role in grading (but which has to be solved individually).
2) Give projects which are more challenging and announce them to be for the students with more skills (but, of course, give more tolerance in grading them (and announce this, of course)). You could hope that the more interested students choose the harder tasks and thus do not form groups with the weaker students. (If this strategy works os probably dependent on your audience.)
On a related note (I cannot make a comment), do consider stating your country - it is very likely that cultural issues play a role here. For example, in my (European) country, I was told my whole life from my teachers that grades are completely irrelevant. Therefore, if the people I did the group project with happend to be my friends, I would value their friendship and loyality to them more than giving the teacher a honest evaluation about who did what. I suspect that most people here would likewise not turn their friends in but state that everybody had the same contribution to the project. (Therefore, a teacher requesting a contribution statement would put the students in a bad  position.)Onhe other hand, on this (very US-centric) page, I read vers different opinions about grades.


text:
Is it fair to offer students a last-minute extension to finish a test?
A friend of mine who is a CS grad student at a US university took a class in which the students were given an extra hour on a two-hour exam. The trouble is that this offer was made in the last five minutes when the professor realized the students were not able to finish answering all questions.
I am personally against this kind of offerings because it feels like they do more harm than good and reflects poorly on the professor's planning. Students plan their approach to solving a test based on the available time and often speed up in the last hour or 45 minutes to complete as much as possible. This certainly degrades the quality of the answers. Now when there is a sudden offer of extra time, many students will be confused on how to make use of this time. Ultimately, it will come down to the students who have better time management skills rather than those who really know better answers.
So, the question is: Is the practice fair and if not what a student can do about it?

Do you mean that an individual student was given an extra hour or that every student was given an extra hour?  The former is manifestly unfair.  The latter would be "fair" if certain conditions were met.

@PeteL.Clark Every student was given extra hour.

One source of unfairness is that the professor is taking up students' time which is not the professor's to take. What if some students had plans for after the exam? Another class? An important meeting? This is just unprofessional.

@JimConant Indeed he was late to a personal event we planned which started the discussion.

"Ultimately, it will come down to the students who have better time management skills" - I'd argue it could even mean an advantage for students who have worse time management skills. Those with good time management skills might have realized just how brief the answers actually need to be in order to more or less make it through the exam in time.

In any case, if someone would want to complain, they should start by checking whether the university in question allows such extensions at all. My university requires that the total available time, the total achievable score, and the guaranteed minimum score to pass be printed on the exam cover sheet, and the available time is also nailed down in the syllabus for each course. (But then, professors are rarely ever present during written exams here, anyway, and thus could not make such last minute amendments to the exam conditions.)

Are students who complete the test early allowed to leave? In that case, it would be even more unfair.

I consider it unfair if and only every student who took the exam is in a position to take advantage of the extension. In practice this means (a) that no one has left early, and (b) that no one has obligations forcing him or her to leave before the extension is up. I would be willing to relax (a) in the case of a student who obviously just gave up and turned in an essential blank exam or left without turning in anything. I would consider relaxing (b) if any students who had to leave before the end of the extension indicated strongly that they had no objection.

How is having more time ever bad for rational people? Rational behavior essentially means that people prefer more to less.

As I've mentioned elsewhere on this site, students often seem to think in terms of "fairness", but upon sufficiently intense scrutiny the concept is so fuzzily defined that it may well be that the only "fair" grading scheme is to give all students the same grade...an outcome which would certainly be unacceptable to many students.  Moreover:

Ultimately, it will come down to the students who have better time management skills rather than those who really know better answers.

Any way of administrating a course favors students with certain incidental skills over others.  Giving a prearranged, timed exam favors students with sufficiently good time management skills over students with very poor ones.  And not only that, the students who live "on-campus" are advantaged over commuter students.  Students who have a watch can look at it, whereas others need to twist around in their seats to look at the clock in the back of the room [if there is one], and so forth.
Every seasoned instructor I know would agree that most exams test subject-unspecific study skills as well as "real knowledge".  Not to be too much of a downer, but the idea that a student has a well-defined "real knowledge" is a convenient reification, something that modern academic culture must believe in approximately in order to function but which it is dangerous to take too seriously.
The real issue is to design the exam experience so as to test a reasonable set of skills, weighted in a reasonable way.  There is no universal way to do this: it is better to be as explicit as possible about what skill set you want your exams to test and look to see if they do what you wanted.
Anyway, a better question is: is this a good practice?  I think the answer is no, at least in many situations.  Here are two obvious issues:

An announcement which occurs five minutes before the end of an exam may come too late for students who have already left the exam.

Unless the cohort of students taking the exam has the identical academic schedule [this is prohibitively unlikely in many graduate programs at American universities], it is very unlikely that every student will actually be able to stay for the extra hour.

I would describe the above two issues as concerning "fairness".  Any student who did not get the extra hour for either reason would have a very legitimate complaint.

I am personally against this kind of offerings because it feels like they do more harm than good and reflects poorly on the professor's planning.

I agree that it reflects poorly on the professor's planning.  Whether it will do more harm than good to the students' performance depends on the exam and the students.  I agree that many or most students would find the experience of learning that they have 50% more time at the very end of an exam stressful, and many would be resentful that they would have used their time differently had they known this information at the beginning of the exam.
In summary: unfair?  Yes, if certain things happen, otherwise maybe not.  A good practice?  No, I don't think so.  It sounds like a rather inexperienced / sloppy instructor to me, honestly.

"and many would be resentful that..." this is exactly what I was thinking. Great answer, quite enlightening.

Even if all the students can stay, awarding an extra hour at the end is unfair because it affects students differently according to arbitrary choices they made earlier on. Consider a student who decided to write full answers to a fraction of the questions versus a student who decided to write sketchy answers to all the questions. The first student gets much more advantage from the extra hour than the second one does.

I think this is bad practice for a further reason, which is that the "pass mark" should not have been set without having a reasonable idea of the difficulty of the questions. The instructor clearly didn't have a reasonable idea, since they felt the exam needed to be made easier at the last minute. So if a pass mark was set, it was wrong, and if no pass mark was set then there was no need to extend the exam, just choose a lower pass mark once the papers are in. Same applies to grade boundaries other than pass/fail.

I don't agree that it affects students who have already left. If a student finishes a two-hour exam in an hour and thinks there's nothing more they can do in the second hour and leaves, what difference does it make that they could have had a third hour?

"but upon sufficiently intense scrutiny the concept is so fuzzily defined" - this is true of many notions related to "justice" and "equality"; also true of "good practice".

@starsplusplus What about a student who thinks, after an hour and 45, "I can't make any worthwhile improvement in the last fifteen minutes so I'll leave now." If they knew that they actually had an hour and fifteen minutes, they might have decided to stay.

@starplusplus: For instance, some students give up when they know that they cannot complete the exam in the given time.  Depending on the exam, maybe they are showing better judgment than the instructor by doing so.  Also you picked an hour.  What if they left ten minutes early?

@starsplusplus ++, being a former student who used every second allocated to an exam to redundantly review each and every answer, I have no sympathy for those who left early to play video games (or even study for a different exam. Though a bit of sympathy if they have to take another one.) Conscientious students such as I might also complain that now they have to think very hard about the subject for another hour instead of being able to play video games, but in retrospect, I was occasionally glad for exam time extensions with the time to revise my answers after searching my memory further.

@PeteL.Clark I picked 1, 2 and 3 hours because they were nice round numbers. If they left ten minutes early, I don't see how it makes any difference. They still thought they were done after 1h50, and waived the option of using another ten minutes. If they had needed an extra seventy minutes, they would have accepted the extra ten.

@starplusplus: Your reasoning is not very convincing to me.  When you take an exam, the implicit premise is that you should be able to do it in the time allotted.  So if the only way I see to do a problem is to do a calculation that will take much more time than I have remaining, it is reasonable to assume that I'm missing something and not start a calculation that I know I won't have time to finish.  Writing an exam which takes 50% too long is really writing an exam with a kind of mistake, and mistakes in the exam should be announced to students before anyone finishes.

@Aaron Hall: "being a former student who used every second allocated to an exam to redundantly review each and every answer, I have no sympathy for those who left early to play video games (or even study for a different exam." You are not accepting the premise of the question, which is that the instructor felt that there was not enough time for the exam to be completed, let alone redundantly reviewed.  The assumption that graduate students who leave a too-difficult exam slightly early will be playing video games seems rather uncharitable.

After a reread, I still feel unsympathetic to those who would complain about a last minute time extension. If you turn in your exam and leave early, for any reason, you are done.

@AaronHall: While I agree with you with regards to leaving an exam, e.g., half an hour early, I disagree on leaving a few minutes early. While I was the sort of person who was able to use every minute of an exam, there are many people who cannot reasonably start a new task or revisit their solutions within, e.g., five minutes. There are many good reasons to leave an exam five minutes early, be it that it allows you to catch an earlier train (I once did this to attend a funeral) or to go to the toilet avoiding the after-exam buzz without unnecessarily bothering the proctors.

"An announcement which occurs five minutes before the end of an exam may come too late for students who have already left the exam." Are students really permitted to leave before the end of the exam? When I last did an exam (3 years ago) people were not permitted to leave before the end, at which point they would be escorted out row by row.

@Pharap: "Are students really permitted to leave before the end of the exam?" Yes, this is completely standard for exams at American universities.  I suppose that technically the instructor could decide otherwise, but it would be rather unusual. Note also that in the American system there are many exams: it would not be uncommon for a semester long course to have four exams during the term [I do three in my first year courses] in addition to a final exam.  So exams are most commonly relatively informal affairs, with a single proctor: the course instructor.

My main concern would be whether all students really had the opportunity to take a extra hour. What about students who had something scheduled immediately following the regular exam time, such as another exam? This would certainly be unfair to them.
However, if the schedule was such that all students were available for the extra hour, this situation, although it's not ideal, is not one I would characterize as unfair, and I don't think a student would get very far trying to do anything about it. All students had the same opportunities. Any test is naturally going to have different impacts on students depending on their learning habits and test strategies, so saying it disproportionately helped or harmed students depending on their knowledge or strategies is not a sufficient objection.
You are right in a sense that it reflects the professor's poor planning. Ideally the exam would have been designed such that most students could finish in the originally allotted time. However, many students don't realize that this is much easier said than done. As a professor, occasionally your estimate of an exam's difficulty or length is way off, and you have to do damage control. There are only imperfect solutions to this, and adding extra time, if possible, is among them. I'd say this is a judgment call for the professor, who should take this issue into account when assigning course grades.

To me, this is the only objection to consider.

This kind of extension is unfair, even if given to all students and even if all students are able to spend an extra hour in the room.  It is unfair because it affects students differently based on an arbitrary criterion.
Suppose that Alice and Bob could have written perfect answers to the two-hour exam in three hours and they both realised that right at the start. Knowing she only had two hours, Alice decided to write perfect answers to two thirds of the questions, whereas Bob decided to answer all the questions but in a sketchy way that would score about two-thirds of the marks.  When it is announced that there is a surprise extra hour, Alice can just use that time to write perfect answers to the last third of the exam but it is essentially impossible for Bob to rewrite his sketchy answers into full answers.
So, based on an essentially arbitrary decision they made at the start of the exam, two students who would have both scored 100% if allowed three hours from the start end up scoring 100% and, say, 75%. That is not fair.
It's also very unlikely that all the students can stay the extra hour. And what do you do about that student who has another exam starting an hour after your exam finishes? He has to do choose between disadvantaging himself in your exam by leaving early or disadvantaging himself in the other exam by not having a break before it and not being able to eat lunch.

I think your scenario with Alice and Bob is somewhat contrived.   Being able to write a perfect exam given 50% more time is pretty rare to begin with.  How do we know that Bob can't spend the extra time touching up his answers?  Why is the decision made at the beginning of the exam "arbitrary"?  Whenever you make an exam you make choices which are better for some students and worse for others.  But this is pretty minor; there are plenty of other reasons why this seems like a bad practice.

@PeteL.Clark I assumed perfection to make the numbers easier: the argument goes through for any pair of students of roughly equal ability where one responds to the time constraint by choosing quality and the other by choosing quantity. I agree that any exam is unfair but my point is that the time limit extension increases unfairness. It would be hard for Bob to touch up his answers because touching up isn't necessarily just adding more material (and even that might be difficult if he didn't leave enough space) but may involve deleting material and replacing it wholesale.

@PeteL.Clark (Also, your excellent answer left only relatively minor points still to be mentioned!)

Thanks.  We certainly agree that this should not be done.  In my answer (and in general) I try to make a distinction between "One can view this as being unfair to X" and "That would be actionably unfair, so we can't do it; or, having done it, we must fix it."  I view designing an exam so that one reasonable test-taking strategy turns out to work better than another as a bad practice rather than something actionably unfair.  E.g. if I were a department head, I would roll my eyes at the instructor but probably not intervene.  This too is very subjective, of course.

Well, it depends on the scope of the exam. If this was a graduate qualifying exam and this seemed to affect the pass/fail decision: yikes.  But really if the exam is that important, it should be given again, less stupidly.

"it is essentially impossible for Bob to rewrite his sketchy answers into full answers" I object to this conclusion.

This is by far the best answer here. Whereas Alice and Bob in this example represent extremes of behaviour, the reality is that the majority of students will fall somewhere in between the behaviour of Alice and the behaviour of Bob; and will therefore be advantaged or disadvantaged to varying degrees by the unexpected extension.  This is the very definition of unfair.

In particular, one of the smartest ways of handling an exam is to work out how much time to spend on each question, and planning accordingly - don't spend 90 minutes on a question that's worth 25% of a 2 hour exam.  However, this unfair extension would hugely advantage a student who did  plan their time poorly and did spend far too much time on one single question.

As already hinted at in the other answers, timed written exams¹ (and every other examination method) are inherently incapable of fully fairly assessing the qualities of interest in a student, as they will always also assess exam-writing skills, psychological robustness, time-management skills and similar. This does however not mean that one should not try to make them as fair as possible.
An important part of this includes having fixed conditions for the exam and informing every student about them beforehand, so they know what they are up to. Changing these conditions without a good reason¹ can avoidably increase the importance of skills that are not of interest. Moreover, it is likely to favour those who have exam-relevant skills anyway (and thus have an unfair advantage through the choice of the examination mode anyway, if you so wish). For example:

Many students mentally prepare themselves for the exact exam conditions and changing them favours students who can adapt. The latter are mostly students who are not nervous about exams and thus advantaged anyway.
There are several strategies to go through an exam, for example: Trying to attribute equal time to each task, risking leaving tasks half-finished; taking the easy tasks first; taking the more difficult tasks first and so on. Ideally (i.e., for an exam that is well adjusted to the given time), all these strategies are equally good in outcome; in a regular real situation, some of them are favourable, but at least you can decide the best strategy depending on your skills and psychology; radically changing the rules during the exam may strongly favour one strategy and thus give an advantage to those students who chose it (more or less at random).

Perhaps the above comes more clear with a different, more drastic example:
When I studied, one of the central and most difficult exams was looking like this: ⅔ of the points were attributed to Topic A; ⅓ of the points were attributed to Topic B; ½ of the points were required to pass; there were no grades. Given this situation, there were several viable, but entirely different strategies to approach this exam, e.g.:

If you were good in Topic A, you could entirely focus on it and try to pass the exam without ever addressing Topic B.
If you were good in Topic B, you could focus on Topic B and then try to obtain the rest of the points from easy tasks on Topic A.

When I took this exam, the tasks for Topic A were ridiculously difficult (but in such a way that you would not notice until after investing some time into the task), while the tasks for Topic B were rather easy². As a result, only one person or so would have passed the exam with the above conditions and the passing threshold was lowered to ¼ of the points. Due to the latter, the exam became passable by means of topic B alone and in fact many students passed by overly focussing on topic B, i.e., by pursuing a strategy that could be regarded as bad under the original conditions. Students who focussed on Topic A were strongly disadvantaged though. Moreover, even if you were equally good in both topics, you were randomly advantaged if you started with topic B, since most tasks of topic A were mostly a waste of time (but you could not tell without doing them).
Of course the situation described above is different from yours, but I hope that it illustrates how a strong change to the exam conditions can introduce additional, avoidable unfairness. In your example, I particularly see the following problem: Students who alloted an equal portion of the original time to each task are disadvantaged from those who only worked on selected tasks. The latter can just use the additional time to continue with the remaining tasks, while the former have to revisit their existing solutions, which is more error-prone and takes more time as they have to work themselves into the task again and correct existing stuff. Arguably, adjusting the grading scheme would have been the more fair solution.
So, to sum it up, I would regard the change that you described to be unfair in the sense that it poses an avoidable increase to the importance of non-relevant skills and luck. However, you should keep in mind that any other way of damage control with a badly posed exam would have the same effect and the most fair solution would have been not to change anything (probably resulting in disproportionately bad grades or failing rates).
As stated in a comment by O. R. Mapper, some universities do not allow for such changes, probably for exactly that reason.
At my university, this is usually addressed by not fixing the grading scheme, so students know beforehand how damage control is going to happen (though even this may lead to unfairness in extreme situations such as my example).

¹ For example an external cause such as an unforseen and unavoidable major noise disturbance.
² To give you an idea: Despite being far more concise, the sample solutions for Topic A were ten times as long as those for Topic B.

I presume, a fair exam is an exam that does not violate student's legitimate expectations.
An important expectation is that the same rules apply to everybody. On the one hand, the extension violates this expectation. As other have pointed out:

It privileges students with bad time management
It privileges students who are able to actually stay longer (and have no following appointments etc.)

On the other hand, it is also a legitimate expectation that an exam not be excessively difficult, that is, it should be doable as long the students have understood the material. If students fail the exam, then because they have been badly prepared, not because the exam was badly planned (for example by being too extensive).
If the professor realizes too late that the exam is too extensive, she is caught in a dilemma. Both granting and not granting the time-extension is unfair. Off the top of my head, I can think of two ways around this:

Schedule another session with all students to finish the exam (although there's still the time-management issue)
Be more lenient when grading the exam (this is probably the best solution)

The primary issue of scheduling another session is probably rather that students then know the exam and can use the time until the other session to prepare solutions for exactly the tasks they are missing.

The rules for a test as well as projects should be made before the test and not changed during the test. That being said, time limits on tests should only hold a portion of the tests overall value and the primary value should be placed on the answer. If the grader feels the test was poorly constructed, adjustment should be made during the grading process to assign the grade on the quality of the answer. And re-test if necessary. Education is first about learning, where punctuality is a desire of the wealthy. Edison took his time on the light bulb or he likely would have finished on time and we'd still be in the dark more than we are today.
As I don't have a good enough reputation I'll comment on Professor Clark's comment here in my edit.
I was once told "You can write the history of the world on a postage stamp. To do a descent job of it would likely take as long." Unless there is unlimited time or the grade is based solely on the quality of answer, the allotted time for a test governs the quality of the answer. By changing the time available to turn in the test at any given time after the test has begun, the instructor hasn't really changed the original test, rather he/she has created a second test and the combined tests should be graded accordingly. For the most part, our brains are stupid like computers, they work simply on available inputs. As inputs change, they do their best to re-factor. I don't believe many instructors, other than those in theatre, instruct on improvisation, which would be adjustments to inputs similar to an extension of time for a test. Maybe there is more value there - Teaching how to improvise!

I'm surprised so many people think that's fundamentally unfair; I've had professors add time to a test on several occasions that seemed to make the test more fair.
Example: one of my physics professors (in a Thermodynamics class) always scheduled our midterms (3 of them) for 7-9 pm on Thursday nights to make sure it didn't interfere with class schedules. He once added an hour to the end of a test because we were slower than he expected, and he did so with only a few minutes left. His reasoning was that he made us set aside two hours to guarantee that we could finish it if we studied hard enough, but he didn't care if we needed extra time to prove we could figure the material out -- the test was about what we knew and could solve, not how quickly we could do it. So if you couldn't stay the extra time, it wasn't his problem -- you would've done fine if you'd studied as much as he recommended, and you knew in advance what topics the test was covering. Basically, it was your own fault if you did poorly in the initial two hours, and not his problem if you needed more time but had to leave. In that case, it absolutely was a case of the class not studying enough -- we readily admitted it -- and it was up to the individual whether they wanted to use the time to review their work, finish/improve partial answers, or start problems they hadn't yet gotten to (or leave without using the extra time).
As for everyone complaining about people who'd already left: either they were already done with the test and satisfied with their answers (if I don't want to use my last ten minutes, why would I use an extra hour?) or they had no idea what they were doing so they gave up and left early. Either way, it's not the prof's fault. Example: another physics professor (in a Quantum Mechanics class) made a typo on a midterm once, making the problem unsolvable. Nobody pointed this out to him until we had twenty minutes left on a two-hour test, by which time several people had already left. He told us what the question should have been, and gave us an extra half-hour to make up for time we may have wasted on his mistake. Someone asked what he would do for the students who left early, and he responded that either they: figured out the typo for themselves, solved the problem, and left (unlikely); applied very incorrect math to wrongly solve the problem, thus demonstrating they had no idea what they were doing anyway; or they gave up early, in which case it wasn't his fault that they chose to forfeit their remaining time (and who would give up early if they thought they knew the material?). In no situation was it his problem that they weren't there to benefit from another student identifying the typo, so he wasn't going to give them more time. If they didn't have time to stay, it wasn't his fault -- as in the previous example, students who knew the material well enough never should've needed that much time to begin with.
I do see a problem in non-STEM fields, or on short-answer/essay tests. That would be unfair since it would give some students more time to proofread and otherwise analyze their answers when there never should've been a time management issue in the first place. But when the test is all about do you understand these math/science concepts well enough to apply them?, extending the time allowed for an exam can be very fair.

The problem with the asker’s situation as well as with your example is that the extension is added last minute. Why does the professor in the first example not state beforehand that the exam is intended for two hours, but everybody is free to use four hours? This way everybody can plan their “exam strategy” accordingly and nobody is disadvantaged for chosing a strategy that is only bad in light of the extension. How would you feel, if you left five minutes early, because the time did not suffice to start a new task or revisit your existing solutions, and one minute later the time was extended?

"or they gave up early, in which case it wasn't his fault" - they gave up early precisely because of the mistake committed by said professor. It seems like a rather poor excuse, or way of denying responsibility for one's work, to claim it's not one's fault in such a case. A reasonably self-critical student will not necessarily judge the exam by their own presumed knowledge ("I always know better, the task must be wrong!"), but rather judge their own knowledge by the exam ("This task seems unsolvable to me, so apparently I did not prepare as well as I had thought. I have to give up.").

the test was about what we knew and could solve, not how quickly we could do it — This is a false dichotomy.  A fairly important measure of how well you know something is how quickly you can apply it on demand.

No, I'm sorry, it's not fair. Why should you get a three-hour exam when I have to leave after two-and-a-bit hours to catch my last bus home and when Bob over there has to be home by 9:30 so his partner can go to her job without leaving their young child home alone?

@JeffE: “A fairly important measure of how well you know something is how quickly you can apply it on demand” – but not under stress, which many people suffer from in exam situations. So, being generous with time is not bad per se.

@Wrzlprmft Yes, especially under stress.

@JeffE: Point taken, let me rephrase that: The measure is distorted if some of the measured people are under considerable psychological stress (to the extent that they make mistakes with, say, basic math) and some aren’t.

Look guys I'm pretty sure this is a lower-quality answer here but given right now there aren't too many answers here with enough details we can actually study, I'm not convinced this is a minus worthy answer.


text:
Guidelines for changing terminology introduced by self?
The topics that have been in my research focus recently have problems with consistent naming and terminology through time and papers, so I might perceive it as a greater problem than I would normally, but still. I am a PhD in Computer Science, Image Analysis -- so while there's a lot of standard terminology, a lot of state-of-the-art terminology has not settled on unique names yet.
Until now, at least all the papers made by the same author/research group/under the same adviser (same last author) I've read have been consistent in their terminology (at least the one describing their main contribution). But, the latest article from an interesting author has changed his own terminology on purpose (he says so explicitly himself).
What would be a good reason for terminology change within the scope of one's own work? It's not merging work with somebody -- in fact, the article I'm talking about is the first standalone work from that author after publishing with an adviser during PhD. From my point of view, it just makes it less findable: the key words changed, which might in turn cause less people to read it and in the end cite it. How can this be beneficial?

EDIT I am actually interested in a general set of guidelines for when changing one's own terminology might be beneficial, but let me add the details of the case that inspired the question. It's the terminology to describe a data structure constructed for an image:

In the first 4-5 publications (during the PhD, before publishing the thesis), the terminology was new, the name was suggestive and conforming to the other terminology from the same filed, but still different than other data structures with similar purpose and of similar format.

The latest publication (1 author only) takes over some terminology from a related work, and introduces ambiguity. That terminology was first used to regard components of a similar, but still different data structure. No attempt was made to prove that those similar structures were equivalent (and I think they're not -- still didn't get around to proving that). A new term was created, derived from the terms for components.
Now to me a stronger suggestion is that similar but different data structure used as a basis for terminology, rather than what it was actually meant to describe.

I also admit to doing this. The reason was twofold. Firstly, the old terminology clashed with existing terminology for concepts that I also needed, and secondly, the new terminology better reflected the concept that I was studying. It is also difficult coming up with a name for something when you invent it. But concepts need names.
There are obvious pitfalls to this approach, such as making papers harder to read. It is beneficial in the long run, because the accepted terminology (assuming that the newer terminology becomes the accepted terminology) does not clash with other terminology I need to use.