A Pathway to Programming

I am a high-school freshman trying to learn programming. However, I fell overwhelmed and do not know here to start. I tried to learn Python and was able to understand the basics, and I have also learned a bit of HTML and CSS as well. But I keep on losing interest in each language and keep on switching back and forth between them depending on my mood. Some days, I want to work on web development, and I continue learning HTML and CSS. But a few days later, I want to do a bit of data science, and move back to Python. Now, I want to work with Android development, and I know want to learn Java. Any advice?

I just started learning Java this year in a programming class. It’s fun and easy, but there are a lot of problems and nuicances in java, which is why my super advanced programming friend hates Java. Apparently Python is the best? Idk. I say you should stick to Python and really really learn it. Java can only take you so far.

@neuronerd31 Thanks. By the way, judging by your name, I’m guessing you want to go into neuroscience. So why take Java?

Computational neuroscience?

Hi! I was a CS major at Yale (class of 2016) and am currently a programmer, so maybe I can provide some helpful advice here. Python is a great first language to learn, and I second the recommendation above that you first spend a significant amount of time learning Python. It’s a good, popular language that’s used extensively for all kinds of things - web development, data science, machine learning, scientific programming, etc. There are also a lot of jobs out there that use Python, if you think you might be interested in pursuing a career in software development in the future. After you feel like you have a solid grasp on Python, I’d learn C. C is a lower level language that will teach you how the computer works under the hood (memory allocation, pointers, etc).

As another somewhat separate recommendation, I’d recommend getting good at math if you’re seriously interested in programming. Almost all of the interesting areas in programming (graphics, machine learning, etc) use a significant amount of math. There’s an incredible amount of value in starting to seriously study math early on, and I personally wish I had spent a lot more time studying math in high school (though in high school, I wanted to be a novelist, so you’re probably in a somewhat different boat as you already have technical interests). Note that computer science at the top universities is also really taught as a branch of applied math, with some programming mixed in. So getting good at math now also means you’ll have a significant advantage if you decide to major in computer science down the road.

Feel free to message me if you have any questions, and best of luck!

@Luminouzz What if I wanted to do a science fair project based on computer science? Any tips for that?

Btw, munchlax is awesome

@Mahindra Yay for meeting someone else who likes Munchlax (and Pokemon)! I think it really depends on the requirements of the science fair. Computer science is a very general term, but it might be somewhat difficult for a “computer science” project to qualify as a science project. There’s often the expectation of the scientific method (come up with a hypothesis, think of an experiment to test that hypothesis, carry out the experiment and draw conclusions with respect to the hypothesis, etc). A lot of computer science projects wouldn’t really fit into that mold, so you might have some trouble there.

If your science fair has the traditional requirements I just outlined above, I think your best bet is to maybe think of a project that’s more closely related to classical science and then use computational methods / programming as a way of helping you carry out your experiment (using computer models or simulations to narrow down the hypothesis space / experiment space / as experiments in themselves is another possible idea). I don’t have any specific ideas off the top of my head, but you can definitely google around for some to see what other people have done. I’d be happy to discuss any particular ideas you come up with though.

thx

@Luminouzz Can I PM you? I am a high school sophomore who has an interest in majoring in comp sci/math.

@Mahindra I recommend using CodeAcademy for a start! It has free programs in many programming languages!

@equationlover Is it free? Hmm may look into it this summer if I have free time.

What would you recommend starting with if you have 0 programing experience?

Edit: Never mind looks like python could be a start.

@equationlover - Sure, go ahead! I’m always happy to respond to PMs.

@JadeRock It is free! I would start with Khan Academy though, as that’s a lot more user friendly than CodeAcademy. Both are free! BTW, It’s nice to hear from you again! :slight_smile:

I would recommend all of you to also use the NewBoston’s Youtube videos. He has tutorials on almost every programming language, and his lessons are easy to follow and understand.

@equationlover and @Mahindra Thanks for the resources! Should be something I can look into for the couple of summer months.

And I’ve been around here the whole time equationlover I think I’ve seen some of your recent posts lately.

@Mahindra I have low vision, so those lessons are not helpful at all. I tried going through them in January and it was straining my eyes too much. That’s one of the upsetting things—most tutorials are just way too hard to see so I can’t do them. Kahn Academy is an exception.

@equationlover Sorry. I have vision problems too but I just zoom in.

On YouTube videos that doesn’t work very well, unfortunately. I just gave you advice on your other post, because that’s also relevant to what I know about.

@equationlover Onelast question? How much background knowledge do I need to to do a project?