Without a doubt, computer scientists and programmers are at the forefront of an industry that is driving modern innovation. The technology industry as we know it today is still a young industry. Still an industry where at any moment, a single programmer, or a small team of programmers, can innovate and create significant changes in the way we communicate and process information.

This guide is designed to show you the various opportunities that exist in the modern world for computer scientists and programmers. Here you will find information on the wide variety of careers available in these fields, economic information, and most importantly, information about how one might go about learning the skills necessary to be successful in the field. It features segments on learning the basics of programming and how to move forward and come to a deeper understanding of the discipline. We also consider the best collegiate computer science programs in the country and the best non-collegiate resources for those that wish to jump-start their study of the field. Relevant professional associations and programming competitions are also listed. This guide will help you understand the field of computer science and is intended to help you find the pathway to success in the field that best fits your needs and goals.
Chapter One
Chapter Two
Chapter Three
Chapter Four
Chapter Five
Chapter Six
Chapter Seven
Chapter Eight
Chapter Nine
Chapter Ten
Chapter Eleven
Chapter Twelve
The median pay for programmers in 2010 was $71,000 per year, according to the Bureau of Labor Statistics; for software developers it was $90,000; and for computer and information research scientists, $103,000 per year.

The job growth rate for programmers was even with the national average at 12%, for software developers it was more than double the average at 30%, and for computer and information research scientists it was faster than average at 19%. Technology is driving much of the economic growth in the country, and it is very unlikely that this field will become over-saturated at any point in the near future.

Many companies like Google and Facebook, among others, constantly state the need for new brilliant minds in the industry.

BLS Job Information for Computer Programmers
BLS Job Information for Computer Information and Research Scientists
BLS Information for Computer Software Developers
The Importance and Increasing Accessibility
Programmers, software developers and computer scientists all serve different roles in the technology industry, but there is much similarity regarding skill sets, and overall there is a lot of crossover between the various fields.

The difference between the three roles really comes down to focus. All of these professionals can program computers, but programmers are focused on
writing perfect, elegant code,
whereas computer scientists are often more focused on theory, and software developers tend to be jacks of all trades with leadership skills who get placed
in charge of software projects.
Difference Between Computer Scientist, Programmer, and Developer
Computer Programmer Job Overview
Software Developer Job Overview
Six Reasons Why Studying Computer Science is Worth It
Basic College and Career Information
You don’t have to wait for college to start learning to program computers.

Programming at its core is simple, and there are many free resources available that can help you learn the basics.

Code Academy is one of the foremost tutorial websites dedicated to teaching people of all levels about programming. Whether you are a junior high student interested in computers and how they work or a seasoned veteran looking to pick up a new language.

Code/Racer gamifies learning about programming.

Stack Overflow is a community of professionals dedicated to helping people of all levels develop, and Coder Dojo is a place where veterans help junior and senior high school students begin to learn about the discipline.
Code Academy
Computer Clubhouse
Coder Dojo
Stack Overflow
C and C++ are difficult languages that will force you to learn about the deeper mechanics involved in computing in order to take full advantage of the languages.

Python is seen as being beginner-friendly, as it is easy to read and understand for newcomers, Ruby has a huge support structure devoted to helping new programmers learn the language, and Java is a standby that still serves as a powerful introductory language.
The Basics of Choosing Your First Programming Language
C++ Made Easy: Beginner Tutorials with Quizzes
Interactive Python Tutorial for Learning the Basics
Code Academy Ruby Tutorial
Interactive Java Tutorial for Learning the Basics
Online education has been one of the major fields where innovation is taking place. There is a new open courseware initiative with powerful partners. Schools like Harvard and MIT are putting classes up and making them fully accessible to anyone who's interested, for free. These do not give college credit. But for intermediate programmers looking to learn from the best educators in the business, this is a great way to get started.

Georgia Tech has partnered with Udacity and is creating the world’s first massive online master’s program in computer science. It's designed to give real credit and a real degree, in an exceptionally cheap online program.
Open Courseware Consortium
Massachusetts Institute of Technology Computer Science Open Courses
Stanford Introduction to Computer Science and Programming Methodology
Harvard Introduction to Computer Science I
Georgia Tech Massive Online Master’s in Computer Science

These non-credit courses are similar to the open courseware initiative, but instead of a full program, they are more full-featured classes with less selection.

There are many introductory courses offered by schools around the world available for free.

Many of these courses come with a certificate of completion for those that complete the program. But none of them currently offer college credit.

Though there have been instances of professors teaching these courses that have recommended they count as college credit for individual, exceptional students. These situations however, are still rare.

CNN Money: Primer on Free Non-credit Online Courses
Open Culture
These are the top traditional bachelor’s in computer science programs in the country.

Entering a program like this in college is one of the best ways to ensure you have a well-rounded understanding of the field.

Many students of high-profile computer science courses experience success, whether or not they complete the programs. Mark Zuckerberg for instance, dropped out of college to start Facebook.

These programs are important not necessarily for the piece of paper you receive at the end but for the invaluable information and perspectives they offer potential professionals in computer science and programming.
Stanford University
Carnegie Mellon University
U.C. Berkeley
University of Texas Austin
This is a list of some of the best graduate programs
in computer science offered online.
University of Illinois
Drexel University
University of Minnesota
Purdue University
Johns Hopkins University
Networking is one of the most important things for computer science professionals. One of the best ways to network is to present papers at conferences and to attend conferences and interact with other professionals.

These conferences often lead to like-minded individuals meeting and sowing the seeds for startups that would be difficult to undertake as an individual.
Association of Computing
IEEE Conferences
IADIS International Conference on Applied Computing
World Congress on Engineering and Computer Science
These professional organizations and research labs are among the most influential in the field of computing. Membership in professional societies gives you access to bleeding edge information on the computer science field.

The labs are pretty exclusive but offer opportunities for internships andfellowships to up and coming scientists interested in conducting the most advanced research in the field.
Association of Computing Machiner
IEEE Conferences
Association for the Advancement of Artificial Intelligence
International Computer Science Institute
Bell Laboratories Inc.
Whether you are a high school hacker, college student, graduate student or computer science professional, one of the best ways to get noticed in the industry is to take part in competitions.

The competitions have a wide variety of focuses. Some are just for high school or college students, some are for everybody, professionals and hobbyists alike.

Performing well in a competition can open exclusive doors in the industry and lead to some of the best jobs available.

If you have a competitive side, consider entering competitions; they provide great motivation for learning and can result in amazing opportunities for your career.
Google Code-in
Google Code Jam
Facebook Hacker Cup
ACM International Collegiate Programming Contest
HP Code Wars
The pathways to prominence in the fields of computer science and programming are varied.

Many in the field attend college, earn degrees and go on to do great things. There are also those that begin programming at a very young age, learning everything they can in their spare time, and create innovative programs and systems that change technology before they even graduate from high school, or college.
Return to Contents
Return to Contents
Return to Contents
Return to Contents
Return to Contents
Return to Contents
Return to Contents
Return to Contents
Return to Contents
Return to Contents
Return to Contents