Hey guys, I have never been any good at computing since I've only really started using them in my mid-teens and my interest in learning mainly laid in the scientific sector. But since I got some free time I thought I could maybe get some practice learning coding which might help me in the future. I was thinking of starting with python, and was wondering if anyone got any suggestions on how I could make a start on it. Any help in this matter would be greatly appreciated. Thanks in advance! AnonymousX
There is not much to it, make sure you know what you want to do for a project cuz I know how hard is to find one, there are bunch of tuts on net and YT just stick to it and everything will be noice GL ma man!
Not gonna lie, I dislike Python's syntax. But I'll need Python for AI... if I'm still alive in the future. Check if Python has Help. You could start reading from Help. That's how I did it with any app or program.
Get a suitable software to start coding with (there are many, I recommend using an IDE like VS/VS Code), make sure to get a software that you like (strange as it may sound but a good start is to start with something that you feel at ease using especially if you are a beginner) Read books or follow some videos that talk about how to code with Python Search, read Python codes online, there are lots of codes so make sure to take it easy and make sure to understand each line ps: here is a good place to start learning Python if you are beginner
If you want to try learning programming, then try to code some simple project that make use of basic programming knowledge (for, when, if else, etc). after you familiarize yourself with those basic knowledge, try to do more complex project that use specific libraries (libraries that come with that programming languages or libraries that you can install). here is an example of a sample project: 1. script to count every ".txt" files in a folder and its sub folder 2. script to write every ".txt" files name from project 1 to a text file for logging purposes 3. script to count specific file names from project 1 (for example every file name that contains testing) and log it 4. etc note: you dont really need to find a programming tutorial for a specific language, what you really need is the logic/algorithm behind programming. if you understand how to create algorithm to solve a specific problem, you can apply it to any programming language.
Thanks for the replies everyone, really appreciate it! I'll try to follow what you suggested. Hopefully I'll get to a decent stage by the time the corona lets up.
I'd recommend starting with youtube tutorials, and go through 2-4 different tutorials. If you only do 1 then you will likely not find a person who can explain it in a way that is best for you to understand. Also try different IDEs to find the one you like. Personally I've used Notepad++, Pycharm, and Microsoft Visual Studio to name a few. Then try creating different projects. When I first learned coding ~8 years ago I started with "Hello World", then made a program that rolled a 6-sided dice, then a program that let the user input the number of dice and the number of sides the dice had, and so on getting more complicated each time. Just take it one step at a time and make sure you understand the logic behind what happens in the code. It's more important to understand the logic behind a code rather than remembering the specific syntax used in a certain language. I've done programming at various levels from personal fun to a research lab analyzing data to a company's R&D department. Each time the programming language I used was different, but the logic is always the same.
If you are mathematically inclined, Julia is a new language my numerical analysis profs recommended. Its syntax is much more natural for mathematicians and its libraries were benchmarked by the prof as much faster than other alternatives. A good way to start is to pick a program you want to implement and to do so.
Just code, code until you'll learn how to think in simples instructions that are in programming. When you'll learn to "divide and conquer" (splitting the big hard task into simple ones that you can understand), you'll learn what to google and you'll be able to more or less adapt to new languages quickly. For example, for someone new making a calculator like the one system has seemed impossible. But googling how to make single window isn't, then you google how to add single button, then how to make that button do something and so on and so on until *poof* you made calculator. ~Edit Of course, do try to understand bits that you googled. There are many free courses online so you might want to check it out, but after understanding basics, I'd still recommend just set a simple goal and trying to realize it instead of grinding courses. Trying to find pieces for your own project seems like a better approach than just combining pieces handed to you by course. ~Edit But still start with some basic course to learn how to make classes and methods rather than just write big ass block of code. When you have questions, google in English, StackOverflow is your best friend. When you struggle with something from course, google it, rather than go mad trying to figure it out. Python seems like a good start, but after you get decent at it, I'd still recommend some typed more object-oriented languages like C++ or C#, after that, you'll at least be able to switch between most common languages. Because if you ever study IT(i mean in college/UNI) you'll probably need them anyway. ~Edit2 I just reread your post... if you're looking to learn mainly computing then you may ignore the last paragraph and look for some course focusing on it.
I have another suggestion, if you have a background in scientific sector, try to create a simple program for a specific equations (or its equivalent in your area of expertise, i dont know if biology have equations). for example, create a graph for acceleration equation (a = delta v / delta t) for t = 0 - 100. try to create a small script to help you with your work/studies you also need to know the best practice of the programming language you want to learn. for python, you must use virtual environment (pipenv, venv, etc) note: dont use anaconda, if you already have experience with python, then you can use it. but if you are a begginers, use pipenv / venv instead i suggest you use visual code with python extension pack, or pycharm. dont use notepad++, it is not suited for begginers. One of the best things visual code has is auto linting/formating (with python extension pack, and autopep8 or other linting libaries installed in your virtual environment), which is a tools that will automatically format your script, it is very helpfull for a beginner. there is a lot of reason why IDE is better than text editor, even if the IDE (visual code) is actually a glorified text editor. A begginers will appreciate the auto formating/linting and other tools from IDE. if someone tells you to learn programming with text editor, dont listen to them. if you are already experienced then you can use text editor. TLDR = dont use text editor, use IDE with python package installed (atom, visual code, pycharm, etc)
Google what's the best book or watch video tutorials, whichever you prefer. Don't expect you'll get it done after a month or so. After 6months you'll know the basics if you regularly study and practice. You can't learn it just by copying code, you need to know how to type code from scratch. You need to know how to solve problems, so if a book has assignments at the end of each chapter, solve them!
https://www.udemy.com/course/complete-python-bootcamp/ If you don't wanna spend any money , consider typing "free" along with the course name on google search. Also, imo, Python is overrated. I get that its easy, but too many people praise it as some kind of language that everybody should learn. Most computer scientists I know only started learning Python later on. What language you study is based on what you want to do exactly. Do you wanna develop apps? 3d games? websites? servers? or do you wanna work as a data scientist? Personally, I learned programming and app development through buying this course (https://www.udemy.com/course/complete-kotlin-android-developer-course-tutorial/). Again, you could just type "free". This one teaches Kotlin which is kinda (emphasis on kinda) like a simpler and cleaner version of Java. What's important to note is you shouldn't only study from one source. Learn coding through books, tutorials, or by editing source code or creating your own at the same time. Also, if you intend on studying computer science (software engineer), I advise you to get as much experience as you can through competitions and internships (internships are extremely important). Edit: You definitely also won't be only learning one language, so don't get too caught up on a singular one. E.g: Many Java developers also have to learn Javascript to make web version of their app on their phone (Like youtube and facebook on a chrome browser). Also, if you study kotlin you are guaranteed to have to study Java later on because Kotlin isn't exactly completely independent (weird phrasing but it works). Think of learning your first language as the tip of the iceburg. But try not to get overwhelmed. Also, I'd advice you to buy the courses because you can link them to your Linkedin account. They don't give real accredited certificates but employers will appreciate the fact that you took your time and the opportunity to learn online by yourself.