Desirable Coding Skills

A place to discuss the science of computers and programs, from algorithms to computability.

Formal proofs preferred.

Moderators: phlip, Moderators General, Prelates

Mark_Cangila
Posts: 31
Joined: Fri Mar 16, 2018 4:34 pm UTC

Desirable Coding Skills

Postby Mark_Cangila » Wed Apr 18, 2018 4:37 pm UTC

Ok. A bit of background about me. I am currently 13 and going into 9th grade next year. I want to start computer science. Right now I can code a tiny bit in unity, code a mild amount in C, and code a bit in JavaScript. I have 3 questions. First, are there any skills I should learn to get a good paying job. Secondly, What languages will help teach me OOP. And lastly, I heard from my mom's friend that a master's in computer science is useful only so I can get a PhD. Is that true?

User avatar
Xanthir
My HERO!!!
Posts: 5284
Joined: Tue Feb 20, 2007 12:49 am UTC
Location: The Googleplex
Contact:

Re: Desirable Coding Skills

Postby Xanthir » Sun Apr 22, 2018 6:19 pm UTC

Useful skills for a job is: get decent at any programming language. "Popular" languages (Java, Python, JS) will give you a wide variety of places to go, less popular ones will restrict where you can work, but they'll appreciate you more. (Imo, C/C++ is a dead end, cut your losses and try anything else.)

You can learn OOP in any of the mainstream languages; they're all designed with at least some of that in mind. All three of the ones I mentioned above will do fine. (It's worthwhile to learn a few languages, particularly ones that are "far apart" evolutionarily, so you can learn what things are core to object-orientedness and what things are just part of how *one particular language* does OOP.)

Going above a bachelor's in CS is mostly useful if you're interested in actually doing research in CS. You can spin it into industry jobs on cutting-edge stuff; all the machine-learning that's hot right now is the result of PhDs working for for-profit companies (building on a lot of university research work originally). You're too young yet to have gotten into the kind of math that involves, so you won't know whether you like that sort of thing or not. (I didn't; I play around with higher math strictly as a hobby.) (In other words, comp sci is actually a field of applied math. That may or may not end up appealing to you.)

You don't even necessarily need a bachelor's; plenty of my friends have great coding jobs without one. It does help get your foot in the door in a lot of places, tho, and can help give you a good learning base that can be hard to get on your own.
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))

User avatar
Jplus
Posts: 1710
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: Desirable Coding Skills

Postby Jplus » Sun Apr 22, 2018 9:50 pm UTC

I don't think C or C++ needs to be a dead end per se, but otherwise I agree with everything Xanthir wrote.

Just being able to program at all already gets you pretty far if you want to get a well paid job as a programmer.

Using a version control system like Git will benefit you a lot, already before you have a job.

OOP is good to know, but keep an eye open for other paradigms, too. Functional programming, generic programming and modular programming are all cool and worth knowing, too. Maybe have a look at Scheme, Haskell or C++ template metaprogramming, just to give you a broader overview of what's possible in programming.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
pogrmman
Posts: 503
Joined: Wed Jun 29, 2016 10:53 pm UTC
Location: Probably outside

Re: Desirable Coding Skills

Postby pogrmman » Mon Apr 23, 2018 7:26 am UTC

I’d second learning a functional language in addition to OOP. It’s a pretty different paradigm that knowing, in my opinion, will help you as a programmer in general. Because you need to think about the problem from a different approach, it can be really helpful.

Learning how to use git — even on a basic level — will be immensely helpful. It’s incredibly useful, even for personal projects. With bigger projects (like when I implemented my own neural net framework), it’s a total lifesaver. It’s even nice for smaller stuff too. I’ve only dabbled with coding in groups, and found it helpful for that too. I certainly know that it can’t hurt for job prospects.

User avatar
Xanthir
My HERO!!!
Posts: 5284
Joined: Tue Feb 20, 2007 12:49 am UTC
Location: The Googleplex
Contact:

Re: Desirable Coding Skills

Postby Xanthir » Mon Apr 23, 2018 9:45 pm UTC

On the Git note, I highly recommend A Plumber's Guide To Git for a solid introduction to what Git is "under the hood", which I've found immensely useful in using it (and unfucking my repos when I do something out of the ordinary).
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))

Mark_Cangila
Posts: 31
Joined: Fri Mar 16, 2018 4:34 pm UTC

Re: Desirable Coding Skills

Postby Mark_Cangila » Tue Apr 24, 2018 7:34 pm UTC

Sorry for the late response. I thought that all replies on this forum were notifications :oops: I use git somewhat (I started using it for a unity project for a class.) I am learning some C, and I looked a bit into Haskell. I am also looking into Assembly. I LOVE math. I currently have done (in US education terms) Algebra 1, Algebra 2, and Geometry 1.

User avatar
Weeks
Hey Baby, wanna make a fortnight?
Posts: 1946
Joined: Sat Aug 23, 2008 12:41 am UTC
Location: Alien-lizard city, Panama

Re: Desirable Coding Skills

Postby Weeks » Tue Apr 24, 2018 9:40 pm UTC

Have you spoken with any teachers about this? If so, what did they say?

Mark_Cangila wrote:Sorry for the late response. I thought that all replies on this forum were notifications
It only notifies you if you are quoted, like so.
suffer-cait wrote:One day I'm gun a go visit weeks and discover they're just a computer in a trashcan at an ice cream shop.
Kewangji wrote:I'd buy you chili ice cream if you were here, or some other incongruous sweet.
natraj wrote:i have a bizarre mental block against the very idea of people enjoying mint and chocolate together.

Mark_Cangila
Posts: 31
Joined: Fri Mar 16, 2018 4:34 pm UTC

Re: Desirable Coding Skills

Postby Mark_Cangila » Tue Apr 24, 2018 10:20 pm UTC

Weeks wrote:Have you spoken with any teachers about this? If so, what did they say?

Mark_Cangila wrote:Sorry for the late response. I thought that all replies on this forum were notifications
It only notifies you if you are quoted, like so.


I haven't talked to any teachers. I don't have a computer science teacher at school. I will next year though, so I probably will ask then.

User avatar
Weeks
Hey Baby, wanna make a fortnight?
Posts: 1946
Joined: Sat Aug 23, 2008 12:41 am UTC
Location: Alien-lizard city, Panama

Re: Desirable Coding Skills

Postby Weeks » Tue Apr 24, 2018 11:13 pm UTC

Mark_Cangila wrote:I haven't talked to any teachers. I don't have a computer science teacher at school. I will next year though, so I probably will ask then.
What about math teachers? You said you love math.

Have you looked into what comes next, like Calculus?
suffer-cait wrote:One day I'm gun a go visit weeks and discover they're just a computer in a trashcan at an ice cream shop.
Kewangji wrote:I'd buy you chili ice cream if you were here, or some other incongruous sweet.
natraj wrote:i have a bizarre mental block against the very idea of people enjoying mint and chocolate together.

Mark_Cangila
Posts: 31
Joined: Fri Mar 16, 2018 4:34 pm UTC

Re: Desirable Coding Skills

Postby Mark_Cangila » Tue Apr 24, 2018 11:53 pm UTC

Weeks wrote:
Mark_Cangila wrote:I haven't talked to any teachers. I don't have a computer science teacher at school. I will next year though, so I probably will ask then.
What about math teachers? You said you love math.

Have you looked into what comes next, like Calculus?


I've not really looked into Calculus yet. The plan is to do AP Stat then Pre-Calc then AP calc. I now a small amount about calc. I understand that derivatives calculate an equation that gives the slope of a curve at a point, while integration is the opposite. On an unrelated note, what happens if you integrate the original equation?

User avatar
Xanthir
My HERO!!!
Posts: 5284
Joined: Tue Feb 20, 2007 12:49 am UTC
Location: The Googleplex
Contact:

Re: Desirable Coding Skills

Postby Xanthir » Wed Apr 25, 2018 2:44 am UTC

You get its integral. ^_^

I can highly recommend 3Blue1Brown's Essence of Calculus series. Each video is short and approachable, and the whole series is only about 4 hours total. It'll give you a really nice intuitive appreciation of what calculus is, what it does, and how and why it's used. (Try their other videos too - the Linear Algebra series is particularly good, too.)
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))

Demki
Posts: 199
Joined: Fri Nov 30, 2012 9:29 pm UTC

Re: Desirable Coding Skills

Postby Demki » Wed Apr 25, 2018 6:59 am UTC

In addition to the video series xanthir recommended (which I also recommend, 3Blue1Brown is really good in general), I also recommend paul's math notes, a site that contains a lot of fairly in-depth explanations and examples for calculus(I believe there's there algebra too).
iirc it also has problem sets if you wish to practice, and proofs for some Calc 1 theorems.

Mark_Cangila
Posts: 31
Joined: Fri Mar 16, 2018 4:34 pm UTC

Re: Desirable Coding Skills

Postby Mark_Cangila » Wed Apr 25, 2018 3:34 pm UTC

Thanks everyone! I'll check out 3Blue1Brown. I saw his bitcoin one a while ago.

User avatar
pogrmman
Posts: 503
Joined: Wed Jun 29, 2016 10:53 pm UTC
Location: Probably outside

Re: Desirable Coding Skills

Postby pogrmman » Wed Apr 25, 2018 4:47 pm UTC

Mark_Cangila wrote:On an unrelated note, what happens if you integrate the original equation?


If you integrate between two points on a curve, you get the area beneath the curve between those two points. That’s a definite integral. An indefinite integral gives you an equation whose derivative is the original curve (aka the antiderivative).


Return to “Computer Science”

Who is online

Users browsing this forum: No registered users and 4 guests