What would be better? Trying to learn code online with a good certified course, or trying it by attending an on-campus course?
Coding, or computer programming, is a subject of interest to many in the LockerGnome community; knowing where to begin learning is the elusive part. As our editor Bob recently pointed out, learning how to program is not the esoteric science that it seems, reserved for a select few genius practitioners. No, coding is not simply for the Mensa set; anyone can learn code. Like any language, computer code is more or less a set of terms structured in a way that seems unfamiliar and difficult to make sense out of at first glance. Deciphering computer code for the first time can make a person feel a bit like a dog being asked to read a blog. Yet as with any subject a student undertakes, once you begin to understand the basics of programming, everything else will come together as long as you are willing and have the patience to learn.
Learning Code or Learning to Code?
The first thing to decide when selecting an educational course of action is precisely what it is you wish to learn. In the case of programming, do you wish to learn how to program, or do you wish to learn programming?
The first approach to the subject, learning how to code (or how to program, or how to write programs), indicates a desire to learn the actual syntax, rules, language and logic of code so that you may then apply it. Software engineers, computer programmers, application developers: these are all professional titles applied to those who have learned how to program and are actively engaged in the practice of writing computer programs, whether they be desktop, Web, or mobile applications.
Learning code (or learning programming), on the other hand, indicates a willingness to explore the subject of programming from the view of a computer scientist who is not necessarily going to write code. Learning more about programming theory, best practices, varieties of methods and tools: these are all disciplines within computer science that will lead the learner to an occupation in project management, computer and information system management, or one of the many other aspects of the computer sciences that do not require one to regularly write code.
Learn Code at Your Own Pace Versus a Structured Environment
Once you’ve decided which aspects of programming you wish to learn, you’ll need to figure out what your preferred learning style is. Are you the type of person who learns best in a structured environment, such as in a classroom setting? Or have you found that you retain knowledge better when you discover it at your own pace? Recognizing the type of learner you are is nearly as important as deciding on what to learn.
Some people prefer the traditional method: the classroom. Both online and on-campus classrooms provide settings where the student is typically encouraged to engage in dialogue with a teacher and other students. Many have benefited from this type of setting, as it provides the type of environment that encourages the student to reach certain milestones in their learning under the guidance of a mentor and in competition with their peers. Relating with others through discussion, whether in person or virtually, can assist the individual in thoroughly comprehending and retaining the knowledge gained through classroom instruction. There are also hybrid courses that offer meetings both online and on campus.
Others have had difficulty learning in a classroom environment, finding they learn far better through self-study. Though many aspects of coding require the developer to work with others, particularly when working with a team, the act of writing programming code is most often a solitary activity. Just as the writer of novels retreats from his family and friends to type his words in isolation, the writer of applications inputs her code by herself. Programmers, like writers, often also study in isolation in order to better their understanding of the craft. There exists a vast collection of resources available for those who prefer self-directed study, including books, websites, DVDs, and podcasts.
The key things to consider are your own past successes in education. Did you learn best studying at your own pace? Did you prefer the structured setting of a classroom? Did competing with others help you to learn, or did you find that to be more stressful than instructional? Has it been important for you to be able to stumble upon information independently? Have you preferred to have others skilled in areas you wish to understand demonstrate their expertise? Once you understand how you best learn, choose the educational method that seems to best match. Many people learn using a variety of methods, both self-directed and in classroom environments.
For those of you who are interested but on the fence about whether or not you should learn code, I’ll leave you with a few remarks by programming language designer Mitchel Resnick:
When you learn to read and write, it opens up opportunities for you to learn so many other things. When you learn to read, you can then read to learn. When you learn to code, it opens up for you to learn many other things.