Online Computer Science Programs

Reasons to enroll in the online computer science programs:

  • You prefer to squeeze in online learning into your busy schedule, or want to avoid the time wasted in commuting;

  • You have NO background whatsover in computer science and “you want in;"

    • If you DO have background, you can accelerate.

  • You are ready for a career switch;

  • You are excited about the technology that underpins so much of the modern world;

  • You are seeking employment in one of the best-paying and fast-growing professions;

  • You enjoy making stuff (software) that others can use;

  • You want to be the “go to” person for IT/technology in your office;

  • You want to move on from the status-quo into something new and relevant to the future;

  • You are worried that you don’t have the “math” or “science” needed for standard computer science programs;

  • You don’t have time to prep for GRE or other such tests.


Our online programs

Graduate Certificate: The Gateway to Computer Science

This is a short five-course program that assumes NO background whatsoever. (We start from scratch and help you learn programming.) The Gateway trains you in basic coding/programming skills so that by the end you will have:
  • Written code to work with data, to solve problems, develop websites;
  • Understanding the principles of programming with modern object-oriented language that’s popular with employers;
  • Developed confidence in computers and technology.
The Gateway prepares students for a full Master’s (the second program, below), with guaranteed admission for students who perform adequately in the Gateway. Two of the Gateway courses count towards the 10-course Master’s so you only need only eight additional courses after the Gateway.

Master’s in Applied Computer Science

This is a 10-course Master’s in Applied Computer Science program (MS-ACS) that prepares its graduates for success in the world of computing: software development, IT, computer science, databases, networks, security, web development. Ideally, most beginners will come through the Gateway into this program. But if you have some courses in the Gateway already under your belt (from some other school), you can test out of those and accelerate into the MS-ACS.
The coursework covers core areas that employers seek: databases, networks, web development, system administration, security, and software engineering. Elective courses are available in current hot areas.

Online Computer Science FAQs

What exactly is computer science? What kinds of careers are open to a person with a degree in computer science? These are important questions to ask—and we answer them, and several other key questions, in these FAQs. 

Computer Science is all about using computers to solve problems. Mostly, this involves designing software (computer programs) but also involves building apps and applications for other fields. In the entire history of technology, computer code is a strange and exciting new development: it is simultaneously practical in being able to do repetitive tasks humans would rather avoid, but yet also capable of embodying intelligence and self-direction. Whatever your thoughts are about good and bad uses, what’s clear is that everybody ought to know at least some computer science. 

Computer Science is not about using software, such as spreadsheets (like Excel), word processors (like Word) or image tools (like Photoshop). Many software packages are complicated to master (such as Photoshop or Excel) and it is true that many jobs depend on expertise in using such tools, but computer science is not about using the tools. It is not about expertise in computer games, it is not about about writing content in websites, and it is not about not about assembling computers or knowing which computers are best buys. Edsger Dijkstra, a famous award-winning computer scientist once said, "Computer Science is no more about computers than Astronomy is about telescopes". Computer Science is about the principles behind building the above software packages, about the algorithms used in computer games, about the technology behind the internet and about the architecture of computing devices.

While computer science has become a somewhat precise term as a field of study (like geology), information technology (IT) is a somewhat more vague term. The commercial world uses the term IT in a variety of contexts, generally, to mean "anything to do with computers". Many business uses of this term refer specifically to the combination of databases, information processing systems and communication systems (email, web browsing) they have been installing in the 80's and 90's. Thus, an IT job could mean a sales job in a computer company, or a business manager overseeing the installation of software, or it could mean a network technician who installs fiber-optic cable, or of course a software engineer. However, computer science generally denotes a professional with computer science training, one who is involved in the creation of software and software systems.

Computer science is not about building keyboards or monitors or the cables that connect your PC to your printer. While these are important to the functioning of a computer, as is electricity, computer software consists of interacting programs each of which is a collection of instructions capable of being executed on a computer. So, first we need to think of a computer as a "dumb" machine that knows how to execute elementary "instructions" (add this, multiply that). Then, software programs are collections of instructions that achieve higher-level end objectives. In a sense, the "intelligence" lies in the software and it is the difficulty of creating reliable, intelligent software that has made the young discipline of computer science into the large, diverse field it is today. Software systems now pervade almost all aspects of life, including high-end entertainment (such as computer-generated imagery in animation), mission-critical control systems (factories, robots, aircrafts, space-travel), information systems (banks, websites, medical databases, government systems), robots and artificial intelligence, and research tools (earthquake simulators, drug-design software, astronomy databases).

Programming is the intellectual endeavor of creating individual software programs. Part of it involves thinking (design, analysis), part of it involves coding (translating a design idea into instructions via a programming languages such as Java or C++) and part of it involves testing (subjecting software to a battery of tests to make sure it works). Programming has been likened to mathematics (analytic thinking) to writing (artfully telling a story), to engineering (building larger software out of smaller software units) and to art (exercising creativity). The part of programming that is most easily identified in Hollywood depictions is coding, the process of typing instructions in a programming language (such as Java or C++); this involves the stereotypical hunching over a monitor, pounding at the keyboard and watching the blinking 

Far from it. Initially, it may seem that it is all about programming because it is the skill whose teaching we start with. (We start with programming because it's fun, it's challenging and it's a prerequisite to further computer science.) Later courses concentrate on some aspect of computer science central to the discipline. So, what are these areas of computer science? You can: learn about how computers are built (architecture), the principles behind important "infrastructure" software systems (operating systems, databases), study classic algorithms and learn to design your own, learn how compilers and language translation is done, study specialized computer science areas such as security, artificial intelligence, parallel computing, networks, graphics, bioinformatics, robotics, education or multimedia.

Many people incorrectly believe that a computer science career is all about programming. While it is true that most entry-level jobs after a Bachelor's degree involve programming, most practitioners eventually graduate to other responsibilities such as design, coordination, testing, planning and management. Thus, you typically start with a software engineering job after graduating and move on (after about 5 years of experience) into higher-level positions. 

Most career paths in computer science involve people skills and interacting with people. Beyond an entry-level position as a software engineer, almost any corporate position requires working with people. The creation of software is most often a team effort, and software companies are organizations of people like any other type of company. Thus, if your career path is typical, you will not be alone in your cubicle staring at the screen.

There is of course a rich tradition of computer scientists who love developing software and who are happy spending most of their time in programming or designing software. Some are so motivated that they often spend hours on programming beyond their time at work. Many of these efforts have resulted in the vast amount of free open-source software available on Linux and other systems.

Some people wonder if all the "important" problems in computer science have been solved, leaving only tinkering for future generations. Nothing could be further from the truth. Perhaps the most important theoretical objective in computer science (the P=NP question – check it out) remains unsolved to this day. Another seemingly mundane problem shows no sign of being solved: how to rapidly and easily create large software systems without errors. Similarly, applications of computer science to other disciplines have only begun to scratch the surface. Are you interested in these challenges?

Computer science is unlike many other disciplines in that there is a large intersection with other fields. This makes it possible to "dual-major" in computer science and another field in a meaningful way. For example: biology, economics, criminal justice, fine arts and animation, media, law, and business.

For those disciplines that intersect with computer science (see above), the answer is clear. But what about history or English? An honest answer to this question would have to include a comment from a recent history major: "I really want to study history, but see computer science as a back-up in the job market." Fair enough. However, consider that computer science also provides a certain kind of intellectual training, one that is focused on logical thinking, mastery of detail, teamwork and multiple facets of problem-solving. Computer science students, for example, find the logical-thinking tests on the LSAT (Law school exam) and GMAT (Business school exam) quite easy. And, yes, it helps to have a backup!

Initially, it does seem that way. The reason is that, programming is challenging and is introduced "cold" to students in a first computer science course. Compare this to the study of mathematics: math is with us since Grade 1 and introduced in small steps right through school. Programming is a similar intellectual skill that takes time to master, usually about through 3-4 courses. While there are always students to appear to find programming easy and unnecessarily intimidate others into believing they are not suited to computer science, most of us learn skills step-by-step over time. Can anyone with no musical background learn a musical instrument in one semester? Can you learn to speak a foreign language fluently with a single course? No! It just takes time. Many students tend to give up because of a combination of "others seem to get it and I don't" and "why isn't it coming to me?". Any skill acquisition is hard if viewed negatively. But like any skill acquisition, it can be acquired with patience and persistence. And once the skills are acquired, the supposedly "super-smart" kids who "got it" earlier don't seem that unreachably smart anymore.

Request More Information                   Apply