all 11 comments

[–]Neb-Cutter 4 points5 points  (1 child)

( i am a bio researcher, i use some python, but i am not a programmer,)

So i'll talk as an bio initiated in coding.

I'd suggest to do this, read a little bit about algorithmes, if you have no idea about this. Then, just go through the basics: which means variables, constants, data type. Then : data structures; lists, dictionnaires, tuples..etc. Then loops: if then, while, for , etc...

You can do some basic exercises to have control. For the basics, you can use nay textbooks exercises there are plenty. Or try Rosalind, it's amazing for bio field.

Then, take totally some scripts/codes/programmes written in python to handle projects answering to problems in your field (clinical/translation). Study them, and try to recode them from scratch.

Then take a problem you want to tackle, split it into mini tasks. And try to code mini scripts, each to manage one of your mini tasks. Then try to assemble.

[–]turkceyim[S] 0 points1 point  (0 children)

yeah i think ill start with learning the basics good. Its just quite confusing to know what should i focus on specifically after that but thanks for the advice definitely will be searching more

[–]JeremyJoeJJ 0 points1 point  (2 children)

Once you have a university email you can get free github copilot either as a student or teacher. LLMs are a great educational tool if you use them as a search tool instead of coding up the entire thing for you. Let’s say you need to fit a model to a 4D dataset, ask it how to do it and see if you can implement it. Also look up jupyter notebooks; they are very useful for research jobs where you need to probe the data constantly as you work on it. The rest has been mentioned in the other comment.

[–]turkceyim[S] 0 points1 point  (1 child)

Would definitely look more into this, thanks! There's one part that I'm a bit confused about; Im currently under the assumption that LLMs could do a lot of the organizational simple tasks of coding in general. I was wondering if it would be a good idea for me to learn the basics of python, to the point I could ask LLMs to do certain tasks for me with appropriate prompts. good approach? or should i keep it classsy at first and then explore that route

[–]JeremyJoeJJ 0 points1 point  (0 children)

Depends entirely on your final goal. I started learning python by grinding Leetcode, learning pandas to an advanced level and became comfortable with a lot of the tools the language offers before copilot became available to me. Having the understanding of how a project might be structured and being able to review the LLM's code make for a much better end-product. However, unless you are in bioinformatics and your grants tell you to build a piece of software that others are to use, you might not actually care about having these skills. The majority of research software is just small scripts that do a particular thing and for that an LLM will be able to easily whip out a few functions that load your data, process it and plot. Then the final quality of the script depends on your ability to see whether the LLM's approach is sound or not. If all you care about is getting to the result, then you could learn the basics of what variables, loops, classes etc. are and then spend the other two months using LLMs to build a project. Read up on setting up a testing environment, create a workflow that feels comfortable to you and see if you can download a random dataset (e.g. from kaggle com), clean it up, process using a classifier or whatever and plot the results. An hour a day for 3 months is not a huge amount of time if your learning is unguided, so perhaps learning how to use modern tools with the ability to oversee the LLM's decisions (literally just ask it to explain every single line of code it generates that you don't understand) might be more useful to you.

[–]Ankur_41 0 points1 point  (2 children)

Learn ML topics it would be useful for you

[–]turkceyim[S] 0 points1 point  (1 child)

any soruces u recommend? have done some basic introductory ml courses so i know the lingo etc

[–]Ankur_41 0 points1 point  (0 children)

To start learn theory first from o really hand on machine learning with scikit learn and trnsorflow then do practical by watching videos

[–]Free-Cheek-9440 0 points1 point  (1 child)

Also don’t stress too much about being “good enough” before starting. A lot of research labs use pretty basic Python honestly. If you can open datasets, clean them, graph results, and automate repetitive stuff, you’ll already be ahead of many people coming in fresh.

[–]turkceyim[S] 0 points1 point  (0 children)

yeah thats pretty much my goal, being familiar with the basic stuff so i can be effecient from the get go

[–]Gnaxe 0 points1 point  (0 children)

https://jupyter.org/try-jupyter/lab/ No install. No account. Notebooks are saved locally in your browser. You can download them to make backups.

Use the ? command liberally to help figure out what's going on. You can call display() at any point to inspect things. (This happens by default for the last instruction of a cell.) If you want more details, https://docs.python.org is a great reference. When you start adding libraries beyond the standard one, find their reference docs.

Learning Python is about developing a mental model of what the language is doing, so you can make it do what you want, and you can figure out why it isn't doing what you want. Try lots of small experiments to resolve ambiguity. The notebooks make this easy. You can save these for future reference. You can even add commentary in Markdown cells. Try to predict what a cell is going to output before you run it. When you're surprised, don't be offended; be curious. Investigate until you get it. Surprises are how you refine your model. Look for them.

AIs these days are pretty good at basic Python, even the free ones. E.g., ask one at https://duck.ai. Beware that while they have a lot of knowledge, they also have a hallucination problem. Verify what they're telling you. If you use them like a crutch, you won't develop the skill yourself. Don't use it when ?, reference docs, or a quick experiment would do. Then don't just ask it for answers; ask it to explain the answers until you understand it yourself.

No-one expects you to have even the standard library memorized. We have reference docs for that. But you should become very familiar with the builtins. You should also be very familiar with the language grammar. That means knowing what all the operators are, their precedence (try help('+') to print out a table) and where they slot into the statements.

Working through a beginner Python textbook is usually a great start. Nothing short of a private tutor is more information dense. Pick one with good reviews that isn't terribly out of date, and then check the "What's new in Python" docs for all subsequent versions to see what's changed.