The Student Room Group

LADS - Do I learn ethical hacking first or python programming?

So i'm on the btec and I was told by the programming teacher that programming is a nasty subject to get your head around and that it's one of the reasons for dropouts on the course. My dad said it's an artform and that you're either talented with it or your not. Point is I've got courses in both but I've only made headway with the ethical hacking one i'm on 40% according to udemy. Do I ditch it and go with the programming course first or just stick with finishing ethical hacking? I don't mind ditching it if it means sh*t is more understandable in the end.
I personally would focus on the programming. I don't personally agree with what your dad says, I think the more you do it the better you get, and the only way you can improve is to practice practice practice. I've done the same as you, and done some ethical hacking courses on the side, but I would strongly recommend trying the programming one because not only will it help you in your ICT course, but it will come into play when doing ethical hacking engagements.
Hope this helps!
Definitely programming, it is certainly a prerequisite. I don't agree with what your dad said- anyone can learn how to program.

I'm unsure how much python you'll use in ethical hacking (probably would be good for writing scripts), but the programming concepts are universal, and will certainly help. I'm assuming you'll use some JavaScript, PHP, SQL (take that with a grain of salt, as the closest thing I've done to ethical hacking is studying a cybersecurity module).
Any kind of skill or talent isn't something which comes naturally to anybody - it's something that people learn and hone over a long period of time. Programming is just like any other skill, such as learning to speak a foreign language, or to play a musical instrument. Obviously people who are fluent in a language or who can play an instrument very well will make it look effortless and easy if you watch them doing it, but that's only because they've spent years of their life on that journey; they'll have initially started out as a novice struggling along with the basics just like everyone else.

While you'd obviously need to start out with a programming language by learning the basic syntax and structure of the language (also learning some of the jargon and underlying concepts, and making sure that you can read existing code in that language too), the really 'hard' part about programming is learning to 'think' in ways that a computer can understand (computational thinking).

Everything about programming really boils down to learning new ways of thinking about solving problems -- people often struggle because they try to run before they can walk, or they try to solve a big, complicated problem without starting out with smaller problems, or they haven't fully understood many of the basic concepts yet, or they're simply not used to the techniques around breaking a big problem into smaller/simpler ones.

All of this is something that any moderately intelligent person can pick up with enough practice at solving problems for themselves and putting the effort in. Of course, not everybody is willing to put that effort in, which may be why people end up dropping out of programming courses - it's more likely that they just find it a bit overwhelming and aren't truly prepared to persist with it. It's not something that can be memorised with flash cards.

This isn't too dissimilar to learning a natural language, whereby you might start out learning a lot of important words and phrases, and the basic grammatical structure of that language so that you can form basic common sentences, but to be able to have a fluent conversation with a native speaker you really need to be able to 'think' in that language and understand the context around what someone else is saying or has written.

The process of reaching a point where everything begins to make more sense feels quite slow and frustrating to start with - you may find yourself hitting the same problems over and over, it can be a bit overwhelming; the learning curve can feel very steep at first, but persistence always wins. It takes many hundreds of hours trying over a long period of time, but eventually little pieces will start to 'click' until everything starts to seem clear, but should also feel very rewarding to be able to look at a problem and solve it by yourself.

Also, you don't need to spend money on Udemy or other paid sites, there's plenty of decent free online courses:

Simple/basic intro just on the Python language, but a good starting point: https://www.codecademy.com/courses/learn-python

A more in-depth intro-to-Python course from University of Michigan: https://www.py4e.com/

Decent free Python e-book: http://greenteapress.com/wp/think-python-2e/

(edited 4 years ago)

Quick Reply

Latest

Trending

Trending