Free Republic
Browse · Search
Bloggers & Personal
Topics · Post Article

Skip to comments.

Getting Started (Advice For Beginning Coders)
Matt Pritchard.io ^ | March 4, 2016 | Matt Pritchard

Posted on 03/05/2016 11:57:50 AM PST by OddLane

“Coding is easy!”

“Anyone can learn to code!”

“Everyone should learn to code!”

Hogwash. Learning to code is exceptionally difficult. It’s true that it has never been easier to attempt to learn to code, but trying and doing are two completely different things. As someone with virtually no computer science or mathematics background, diving into the world of programming has been an eye opening experience. If you haven’t studied computer science already, I guarantee that you are underestimating just how vast the domain actually is.

I’m not saying this to discourage anyone interested in learning to code, (quite the opposite!) I just want people to enter this field with their eyes open. There are a wealth of free resources online for learning any number of languages, and if you are interested in seeing what this is all about I highly recommend giving one of them a try. My only warning is that once you complete those first classes and tutorials, you are essentially on your own.

Many people have written on this topic in the past, so I’m not going to reiterate what has already been put better by others (most notably Erik Trautman of the Viking Code School), but I will try and give you some advice on where to get started and how to avoid the pitfalls I found myself tripping into. So, where to begin:

(Excerpt) Read more at mattpritchard.io ...


TOPICS: Computers/Internet
KEYWORDS: coding; selfhelp
Navigation: use the links below to view more comments.
first previous 1-2021-4041-58 next last
To: central_va
C is great but doesn’t teach you a dang thing about object oriented programming.

Windows Powershell might be a better starting point for learning OO programming.

21 posted on 03/05/2016 12:30:38 PM PST by tacticalogic ("Oh bother!" said Pooh, as he chambered his last round.)
[ Post Reply | Private Reply | To 17 | View Replies]

To: lee martell

That’s Barney the dinosaur, I’m pretty sure.


22 posted on 03/05/2016 12:32:48 PM PST by Anoreth (It is not moth eaten. It is superb.)
[ Post Reply | Private Reply | To 7 | View Replies]

To: OddLane
Pluralsight has some free programming courses for kids.
23 posted on 03/05/2016 12:33:14 PM PST by tacticalogic ("Oh bother!" said Pooh, as he chambered his last round.)
[ Post Reply | Private Reply | To 1 | View Replies]

To: HeartlandOfAmerica
I learned my first computer "language" during commercial breaks during an episode of "Saturday Night Live" in 1980. That was Motorola 6800 assembly language. The next Monday we had our first microprocessor lab using their "D2 kit". The professor got called out during the class session, and when he came back in I was teaching the class.

Since those days I've done it all, although these days, unfortunately, it is a game for younger men.

24 posted on 03/05/2016 12:36:38 PM PST by The Duke ( Azealia Banks)
[ Post Reply | Private Reply | To 6 | View Replies]

To: OddLane
Well, I have always considered coding a verbal/logical skill - if you can learn a foreign language you can probably learn to code.

The actuaries I worked with back in the day were all horrible coders. They kept trying to re-create mathematical equations in PL/I (yes, I'm that old).

But - just like learning to speak a language - the hardest part is not learning words or simple sentences but to express complex ideas in an elegant, efficient, and reusable way. Not many people are very good at it. American business runs on terrible code - "Office Space" was a highly accurate documentary. :)

25 posted on 03/05/2016 12:36:48 PM PST by Mr. Jeeves ([CTRL]-[GALT]-[DELETE])
[ Post Reply | Private Reply | To 1 | View Replies]

To: central_va

A good point, since I learned to code when coding was linear. I have to go back and teach myself what they meant by Object Oriented code. I did this to teach AP Computer Science class in high school. They code in Java.


26 posted on 03/05/2016 12:38:39 PM PST by KC_for_Freedom (California engineer (ret) and ex-teacher (ret) now part time Professor (what do you know?))
[ Post Reply | Private Reply | To 17 | View Replies]

To: OddLane

I only took a semester of programming, but obviously the secret is to learn to read punchcards by eye.


27 posted on 03/05/2016 12:40:03 PM PST by mrsmith (Dumb sluts: Lifeblood of the Media, Backbone of the Democrat/RINO Party!)
[ Post Reply | Private Reply | To 1 | View Replies]

To: OddLane
The easiest way to code is to understand the steps you would take to solve the problem yourself. Then translate those steps into whatever language you're coding. If you have that basic analytical ability, you can do well at coding. If you don't understand reductionist logic, then you should find another profession.

I've written everything from 65C02 Machine Language to IBM 360 Assembler to COBOL to Basic to Java, and the principles never change, only the syntax.

28 posted on 03/05/2016 12:40:41 PM PST by IronJack
[ Post Reply | Private Reply | To 1 | View Replies]

To: OddLane

One place I disagree with the author: research shows that learning programming works in the brain much like learning spoken language. And like spoken language, early exposure to multiple languages is very good. Making yourself multi-lingual is important to long term success.

The half-life of tech knowledge is about 5 years. I use almost nothing I used even 10 years ago today, much less 20-30.


29 posted on 03/05/2016 12:46:56 PM PST by 5thGenTexan
[ Post Reply | Private Reply | To 1 | View Replies]

To: grey_whiskers

The “obfuscated C code contest” was a real thing in the USENET days. Many people had signatures that, when compiled, gererated an ASCII business card of sorts.

About once a year, people would push the limits with examples like the one you posted. The goal was to create a working program with coherent output that as source code looked like a baby had gotten hold of the keyboard.

I think these programs also contributed to improving the compilers of the time, too by pushing them to their limits.


30 posted on 03/05/2016 12:54:23 PM PST by 5thGenTexan
[ Post Reply | Private Reply | To 14 | View Replies]

To: central_va
11. You are not paid to write comments or document anything.

12. Any comments you do write will be:
a.) Trivial or obvious.
b.) If not trivial or obvious, completely wrong when current or obsolete when added after the fact.

31 posted on 03/05/2016 12:57:58 PM PST by FredZarguna (And what rough beast, its hour come round at last, slouches towards Fifth Avenue to be Born?)
[ Post Reply | Private Reply | To 12 | View Replies]

To: who_would_fardels_bear

Actually item 10 should read hand off the consultant brought in to fix project


32 posted on 03/05/2016 12:58:28 PM PST by Nifster (I see puppy dogs in the clouds)
[ Post Reply | Private Reply | To 2 | View Replies]

To: mrsmith

LOL! My first real foray into “programming” was based on paper boxes containing MnMs. It was a tic-tac-toe state machine, rendered on paper. You added MnMs of a certain color to a particular game state depending on the outcome of the game, and used those to determine the “machine’s” move against you during the next game. IIRC, eventually, you couldn’t get better than a tie. Against paper.

Peace,

SR


33 posted on 03/05/2016 12:59:27 PM PST by Springfield Reformer (Winston Churchill: No Peace Till Victory!)
[ Post Reply | Private Reply | To 27 | View Replies]

To: OddLane
The problem is there are so many platforms and programming languages to pick from, a beginner soon feels like he is in the middle of the ocean, in a dinghy.

And if you really intend to reach the highest echelons, you better bring some mad math skills. Just sayin'™

34 posted on 03/05/2016 1:00:47 PM PST by Company Man (Keep Calm and Carry.)
[ Post Reply | Private Reply | To 1 | View Replies]

To: OddLane; KC_for_Freedom; IronJack; catnipman; central_va; lee martell
Learning to code is exceptionally difficult.

Strongly disagree. The number of resources to learn coding and development has never been more prevalent: books, ebooks, virtual machines, cloud based IDEs, lectures, videos, on site training, mentoring, open courseware, MOOCs (massive online classes), etc.

We can apply Bloom's Taxonomy of learning given that many developers deal in knowledge of technique, facts, and appliction. Consider Bloom's "cognitive" style of learner and the resources available for him/her :

There are many different techniques for various learning styles. What is so powerful today is there are many different forums for learning such as self-study, private school, workshops, tutorials, and of course RTFM!

The author confusing learning to code with being and effective coder.

Lot of great advice on this post! central_va shares it's the experience that teaches us the advanced stuff. Lee martell says be ambition! HeartlandOfAmerica shares it perseverence, practice and attention to detail.

Bottom line, the motivated learner has the tools to learn coding, just add GRIT!

35 posted on 03/05/2016 1:01:01 PM PST by DrJeff
[ Post Reply | Private Reply | To 1 | View Replies]

To: who_would_fardels_bear

13. Let testers debug your code. When you fix the problem you will look like a hero. Heck put bugs in there on purpose. Never submit perfect code. Ever.


36 posted on 03/05/2016 1:04:26 PM PST by central_va (I won't be reconstructed and I do not give a damn.)
[ Post Reply | Private Reply | To 2 | View Replies]

To: corkoman
Don't mention it.

Good luck to your son!

37 posted on 03/05/2016 1:10:02 PM PST by OddLane
[ Post Reply | Private Reply | To 3 | View Replies]

To: HeartlandOfAmerica
Step at a time. I found C1 easy, then stepped up to C++

I wouldn't recommend starting with C and going to an object oriented language later either, because that's what I did. If you become good at C, there is a lot to unlearn to properly code in objects. Just unlearning things takes at least a year or two.

Depending on the age of the student, Scratch is a good learning tool. Also Pharo, which is a free Smalltalk implementation. You can't get a job in Pharo, but it is great for learning object oriented languages.

38 posted on 03/05/2016 1:31:48 PM PST by Vince Ferrer
[ Post Reply | Private Reply | To 18 | View Replies]

To: mrsmith

Yes, there are three basic steps to coding.

1. Learn how to operate a punch card machine

2. Figure out how far apart to make you initial line numbers so you don’t have to gosub too often and try to remember where to return.

3. Learn how to take code someone else has written and modify it to do something useful.

Oh, and avoid endless loops.


39 posted on 03/05/2016 1:39:30 PM PST by PAR35
[ Post Reply | Private Reply | To 27 | View Replies]

To: OddLane

For those in the San Diego area, I know the non-profit after school program, “The League of Amazing Programmers” has been doing an outstanding job teaching kids, starting in the 5th grade, real, professional-level Java.


40 posted on 03/05/2016 1:47:40 PM PST by NECAWA
[ Post Reply | Private Reply | To 1 | View Replies]


Navigation: use the links below to view more comments.
first previous 1-2021-4041-58 next last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
Bloggers & Personal
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson