4 ms·
A lot of academic code is also written by students. For instance, I'm working on a project that ends up with code written by 6 masters' students. I'm trying des
by kaitai 8y ago
A lot of academic code is also written by students. For instance, I'm working on a project that ends up with code written by 6 masters' students. I'm trying desperately to get them to use Git or some other kind of version control rather than emailing me files, but it's only been partially successful. My last CS class per se was 18 years ago. They don't know (&(^ about programming -- at least I've been paid to do it in a production context in a company that has to make money to justify its existence -- and since they learned C++ first but we're programming in R or Python there are some ridiculous and unnecessary maneuvers and lots of for loops. I try to work through the code with them but I also don't have time for all of it, since I'm also teaching several classes etc. Sometimes it's easier to go with the crap I've got (that I've tested for correctness) than rewrite things.
If people have good resources I could pass to students about standards for Python code, for instance, let me know.
- bigger_cheese 8y agoThis is an issue in my field (Engineering) as well. Most people in my field (materials engineering) are not programmers either they are lucky if they've done one intro course 10 years ago (which was probably done in a language like Java or Visual Basic). Even then what gets taught in an intro course at university is not the type of code that is written "on the job". I did two semesters of programming courses when I was at uni (as electives) my courses were taught in Java and focused on stuff like object oriented programming and memorizing stuff about "the waterfall model" There is a pretty big gap between this and my first experience which was being sat down in front of some 30 year old Fortran code which had no objects, no classes etc. The goto at least in my org when people are trying to understand scientific code - write their own algorithms etc is the 30 year old "Numerical Recipes" (https://en.wikipedia.org/wiki/Numerical_Recipes https://en.wikipedia.org/wiki/Numerical_Recipes) textbook. The explanations in this textbook are best and simplest I have come across by far. I know I personally referenced this book heavily when I was writing code in C to do Spline interpolation/smoothing. I am unaware of any other reference for a lot of algorithms/techniques than this book. Only other thing I am aware of is the GNU GSL library which in my experience is harder to understand for beginners - even it's example code is "for loop based" For example: https://www.gnu.org/software/gsl/doc/html/bspline.html https://www.gnu.org/software/gsl/doc/html/bspline.html If I had to convert this code to R (which I do know) or python (which I've never written) I'd probably write it this loop based style as well it's what I know and what makes sense to do me and the people in my org I'd expect to be interacting with my code. (the "Engineers can write Fortran in any language meme" is a real issue). Maybe someone should write a new textbook on "modern" way to solve these sorts of problems if such a thing exists I am unaware of it but would certainly be welcome.
- roguecoder 8y agoThis makes me wonder if universities could employ a bootcamp-like curriculum, with lots of feedback, collaboration and unit tests, and make it available for students in these disciplines. Like how many schools have everyone take writing classes.
- kaitai 8y agoI think this would be very useful. So useful. I personally haven't been able to get anything code-related through the curriculum committee though (I'm not in CS).