Computer science is the study of computational systems, their practical applications, and the examination of how humans interact with and improve upon new technology. College computer science programs and their open online courses typically focus on these primary concentrations: the theory behind programming language, the pragmatic applications and development of new technology, instructional design, and the creation of more user-friendly tech interfaces. Specifically, many courses deal with algorithm creation and coding techniques, while others will apply this knowledge to real-world tasks such as software construction.
Online computer science courses are offered at both undergraduate and graduate levels, and since computers and mobile technology are so ubiquitous, it is possible to earn a viable education through online courses and degree programs. However, in most instances, hiring personnel will restrict their employee search to candidates with qualifying degrees or exceptional programming abilities. As such, an online computer science course cannot substitute for a degree in the job market, but you can ensure that you receive quality online instruction that equates that of an on-campus program.
Online courses in computer science are viable options if you want to learn more about software engineering, communication network construction, robotics, and coding theory. During these online courses, you will learn:
When selecting an open online course from a university, it is essential that you first gauge their accreditation, viability, and relevance to your intended career. Additionally, you should select courses that require copious coding assignments so you earn real-world experience that can be applied to future field-related careers.
We have compiled relevant open courseware in computer science and organized it in the directory below. Open courseware is a collection of online tests, video lectures, and related course materials from universities around the world. While these materials are free to access, you will have to learn independently since you cannot interact with the professor. However, these courses can be excellent resources if you are considering an on-campus or online computer science degree and want to gauge your interest in the subject and your ability to meet classroom requirements.
This computer engineering online course teaches you how to design web and mobile apps by reviewing coding languages such as HTML5, PHP and JavaScript. This course was published recently in Spring 2012 and admits both undergraduates and graduate students. Structurally, Malan’s course is composed of video lectures and recitation sessions as well as supplementary class materials presented as PDF files on the course’s webpage. You should also be prepared to complete projects such as independently developing iOS apps or mobile web apps.
This computer engineering online course will teach you key aspects of object-oriented programming using the C++ Standard Template Library (STP) of coding while also covering software development principles such as decomposition and component re-use. This 14-week course is open to both undergraduates and graduate students, but does not have any major prerequisites beyond your assumed knowledge of the C++ interface. You should also be prepared to complete ten modules, three individual assignments and one assessment.
This introductory computer science online course will expose you to the techniques of artificial intelligence in computers. Through this class, you will gain a foundational understanding of how search methods, semantic networks and algorithms are used to solve practical problems. Additionally, you will learn how to program applications using the LISP language. You must complete the prerequisite computer science and math courses before you can enroll in this class.
This computer engineering online course will introduce you to the basic fundamentals of designing, constructing and operating robotic systems by reviewing vital studies in geometry and kinematics. This course is free of charge and admits both undergraduates and graduate students, but you must have prerequisite credits in matrix algebra before enrolling. Additionally, you should review all enclosed lecture notes carefully as there is a mid-term and final examination.
Published in 2009, this process technology online course will provide you with advanced and in-depth knowledge of dynamic systems theory, control theory and process modeling. Through a combination of video lectures and session notes, you will learn how to numerically model a process from physical and logical models, articulate how processes and control objectives work, identify sensitivities in process models, comprehend multi-objective control architecture principles and realistically predict the quality range for a process. This classs is open to graduate and advanced undergraduate chemical engineering students.
This programming online course will provide you with an introduction to the programming methodology associated with the Java programming language. Specific topics that will be covered include object-oriented design, encapsulation, decomposition, abstraction and testing as it relates to software engineering and programming. This course is intended to introduce undergraduate students from diverse academic backgrounds to broad concepts associated with computer programming, therefore, there are no defined prerequisites. However, you will need to download and install Java to be complete the assignments.
Through this intermediate programming online course, you will develop an in-depth understanding of complex computer programming themes such as data abstraction using C++, algorithmic analysis and programming recursions. Topics of discussion in this course include the software engineering principles of fundamental data structures, space complexity analysis and data abstraction and modularity. There are no specified courses that you should take as prerequisites, however, students are expected to have considerable experience in computer science and programming methodology.
Through this course you will augment your computer programming knowledge while gaining practical programming experience using advanced algorithmic analysis, data abstractions and object-oriented paradigms. In addition to using traditional programming languages such as C and C++, you will practice with modern languages such as Objective C and C# and Python. Required prerequisites for this programming online course include computer programming and problem-solving skills on the CS106B/X level, as well as extensive experience using C++. Therefore, this course is open to advanced undergraduate and graduate students with backgrounds in information technology, computer science and computer programming.
This class will provide you with an introduction to fundamental concepts associated with statistical pattern recognition and machine learning. Specific topics covered in this class include reinforcement learning and adaptive control, bioinformatics, autonomous navigation, speech recognition and parametric/non-parametric learning. Although there are not any specific prerequisites for this robotics online course, you should have general computer science knowledge and skills, the ability to write computer programs and a basic understanding of the basics of probability theory and linear algebra.
This artificial intelligence class will provide you with an introduction to the quantitative techniques associated with natural language processing (NLP). In addition to reviewing contemporary research and methodologies, you will develop an in-depth understanding of linguistic processing algorithms and the computational elements of natural languages. Prerequisites for this robotics online course include sufficient programming experience, general knowledge of artificial intelligence concepts and computational linguistics. This course is open to advanced undergraduate and graduate students with backgrounds in symbolic systems, linguistics or computer science.
This freshman level java online course is an introductory teaching to the java programming language. While there are no prerequisites to this course, you should be computer-literate with the ability to install and use computer programs, search the Internet and save and alter basic text files. During this class, you will explore the java programming model, learn how to design java programs and become literate in java code documentation.