307

Yes, you should. First, most scientific software is terrible. I'd be very surprised if yours is worse than average: the mere fact you know design patterns and the difference between recursion and loops suggests it's better. Second, it's unlikely you'll have the incentive or motivation to make it better unless, or until, it's needed by someone else (or you ...


306

No, they can't. But they can make you fail the class. Lecturers usually have free rein over the specifics of the material taught. Therefore they are free to choose any technology or dialect as long as it is within the area of the course. Nobody can force you to study anything but if you want to pass his exam or the course by e.g. submitting lab problems, ...


283

I don't feel that general academic ethics obliges you to report this, unless you have reason to believe that it might be endangering the research of the lab (giving inaccurate results, introducing viruses to lab computers, etc). You will have to make your own judgment as to whether you are obliged to report by any of the following: your own personal code of ...


181

I would stay away from his "personal laptop" in the future and avoid peeking at other people's "very personal" screens. It is not your job to report this. And you should not be looking at other people's screens. He decided to use the software on his personal station, not on the resources of the university, so it is none of your concern. It is a typical "none ...


142

Unless there is something in the course description saying otherwise, the lecturer can choose the syntax for all submitted coursework and exams. Picking a specific syntax makes the lectures less confusing, as well as simplifying testing and grading of coursework and exams. To pass the course, you will have to learn Oracle SQL. You may be confusing "...


138

You should create a reproducible test case that demonstrates the flaw conclusively. If you are that confident and the software is that widely used, it warrants publication in a technical journal. They key is to involve the company. Show them your test case and mention you have interest in publishing the result. Offer to collaborate with them on the ...


125

I'll have a go at this. This is mainly my personal view based on my use and implementation of academic software. Like many of the comments already mentioned, I don't think bad software is specific to or even more frequent in academia. That said, I think there are a few reasons why it occurs that are specific to the field. Software is not a priority In ...


108

For me it seems that the reasons are two: the belief that code is only a tool, a particular implementation being secondary to the idea or algorithm, the historical residue (it was unpractical to print a lot of pages; especially as no-one could copy-paste it). Additionally: many scientist seems to be afraid to show their code in public, as they are aware ...


89

I always like to show the students Wolfram Alpha in freshman math courses. (Many will already know about it, whether you show them or not.) There are several reasons for this. The first is that it's a useful tool, both for checking solutions to homeworks, and also for later in life. But the more important reason is that many students are skeptical of why ...


84

In addition to @MarcClaesen's answer let me add a chemist's point of view. I'm a a programming-affine chemist. From my experience, that's a rare species. Maybe less rare on these sites. Though maybe not more rare than a computer scientist in a chemistry lab who implements good laboratory practice... One important point to keep in mind is that students (at ...


84

I would clean it up a little and share it. I've released a lot of code over the years, and also not released code for the reasons you give. Go through it and and comment it, at whatever level you can. Leave in "failed attempts" and comment them as such. Say why they failed, and what you tried. This is VERY useful info for people coming after you. Make ...


75

Rephrased a bit, your question says: Can a lecturer base their course on a specific dialect of a tool? I can and I do. But I'd like to highlight a bit different aspect of this. A proper university-level lecture is (almost) never about concrete tools and languages. It's about concepts. I am teaching Functional Programming this semester. The lecture ...


68

I would suggest a different tactic altogether: Give them a license to use the software as well as any and all updates for free. Support should not be free but done by others under your instruction. In return ask them to sign over any previously perceived ownership of intellectual property. Next ask that they help you by providing suggestions for improvements ...


68

I do not think that this is an ethical question in the first place. Reproducibility is not harmed by the requirement that money needs to be spent on buying software or setting up an experiment (or are there open-source particle accelerators?). While open source solutions are preferable for many reasons, there are clearly cases where using some proprietary ...


68

I work in a biomedical field and most of us are awful programmers. We tend to be more interested in getting the underlying back-end algorithm to work than worrying about the front-end, comments, documentation, version control, unit tests, etc. My suggestion, would be to look through the web pages at a nearby university and see if you can identify someone ...


67

Can a lecturer force you to learn a specific programming syntax / language? Of course they can. Teachers are generally in charge of designing their course in whatever way they think is best suited to reach the intended learning outcomes. In some cases (especially more project-oriented courses) this may mean leaving the choice of technology open to students, ...


67

I think this is a good example of putting too much faith in an average measure like Impact Factor or SJR when you talk about the 'reputation' of a journal. In 2015, in its first year, SoftwareX published "Gromacs: High performance molecular simulations through multi-level parallelism from laptops to supercomputers", which was extremely highly cited ...


58

Yes! Especially if your paper is e.g. about a new/improved algorithm that you've implemented, or you do significant non-standard data analysis, or basically anything where reproducing your results means re-implementing your software. Papers seldom have room to give more than an outline. I know I've spent (= wasted) much too much time trying to implement ...


58

No. Almost no one cares. You should learn LaTeX if you intend to work mathematics and will need to write up your work. It's much simpler to typeset formulas in LaTeX than MS Word, and it's also free.


57

Can I remove someone's name from an academic software development project that didn't contribute a single line of code? Just to focus on the title itself; lines of code contributed is not an accurate summary of contribution. This is a variation on the workman's fallacy of "management is useless because they don't directly make the product". For example, ...


55

tl;dr: Version control is harder to set up, but makes it safe to work on the same file, and makes it easy to track history (i.e. previous versions). Pros and cons of syncing files Yes, the biggest advantage of things like Dropbox (I use it as well for backuping and synchronizing my files) and SugarSync is their easiness. They may work for collaboration ...


51

¿You think your code is messy? I have seen (and attempted to work with) code that gave me nightmares: Five levels of if True nested, scattered at random places through the code. Create an array of zeroes, convert it to degrees, take the cosine, and back to radians. Then, throw away the result. On a software under heavy development, the list of "supported ...


51

This question has become an important one as the push for greater reproducibility in computational research grows. Use of closed-source software is an acceptable part of research in most fields. Nevertheless, the following viewpoint enunciated by John Claerbout is becoming more widespread: An article about a computational result is advertising, not ...


46

I wrote software on my own time, by my own decision, and with my own resources during my undergrad career at a university in the US I want to go through the same thing, but the head of the department seems to refuse to pay (or at least say they are unable to pay for it) because the software was just a "senior project." You have a disagreement ...


45

HTML and CSS for typesetting? No, just no. HTML and CSS were designed for looking good on screen, not paper. Although there are CSS styles for page printing, using a medium for a purpose other than its original design will at best be an overkill (if it works) and in most cases a utter source of frustration. The obvious choice seems to be LaTeX... I ...


43

The only alternative that comes to my mind is Zotero: It is open-source, it comes as a standalone application or as a web-based version with Firefox, Chrome and Safari connectors, it integrates with Word or OpenOffice, it syncs with the Zotero server, it has BibTeX export, and more. The Zotero standalone client is cross-platform and open-source (AGPL ...


42

Yes, Open Source software can be published. What's required varies depending on the venue. There are general journals that focus on the software process. The idea is to encourage better software development gets the credit it deserves. Examples of journals with this approach are the Journal of Open Research Software and the Journal of Open Source Software. ...


41

Are you sure it is cracked software ? A 'warning' popup could just be phishing malware and you might expect that a feature to detect piracy would just shut the application down rather than just issue a warning. Equally it could be a prompt to upgrade to a different version or just an expired demo version which is no longer usable. Perhaps a more immediate ...


Only top voted, non community-wiki answers of a minimum length are eligible