313

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 ...


305

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 ...


184

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 ...


141

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 ...


132

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 ...


114

I think it's reasonable for you not to support these circumstances, but also no need for you to report/escalate the situation to compel some change in behavior. In your place I'd advise your students A) that you cannot help with installation of non-standard copies, and B) you can't be responsible if the non-standard software they use prevents them from ...


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 ...


88

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 ...


87

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 ...


85

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 ...


68

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 ...


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, ...


59

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 ...


59

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, ...


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 ...


50

In the past, I've found MS Powerpoint to be a very acceptable way to make nice posters since it supports large paper formats and scaling images well. If you need equations, you can make those in a standalone LaTeX doc and cut and paste them from the PDF to the poster pretty reasonably. It's been a few decades since I've had to do this, so LaTeX may have an ...


49

My recommended tool for this is Inkscape. It uses vectorized shapes and is pretty intuitive to work with.


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 ...


44

What publishers and authors choose or prefer for document processing really depends on the discipline. Your profile says you are interested in "Electronics and Communication Engineering". For that kind of technical writing I suspect LaTeX is the system of choice, both for you and for your publisher. It's easy to prepare large documents with several ...


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