Learn the basics of in-demand skills like programming, information technology, software engineering, systems architecture and management, and networking. You can earn a free certificate of completion for any of these online Computer Science courses, or use many of them to earn credit in leading computer science, information technology, and cybersecurity college programs. 

In our Computer Science courses, you will learn to:

  • write programs using Object-Oriented Programming concepts such as objects, classes, inheritance and polymorphism;
  • apply the object-oriented methodology in software engineering to create UML artifacts for software analysis, requirements, design, and testing; and
  • learn project management concepts in a software engineering environment to manage projects, people, and products.

  • Time: 52 hours
  • Free Certificate
Introductory course that provides the basic concepts, nomenclature, and historical perspective of computers and computing. Includes an introduction to software development and Object-Oriented Programming.

  • Time: 42 hours
  • Free Certificate
Detailed survey of computers, computing, and programming, with a detailed emphasis on understanding of Object-Oriented Programming and exploration of different programming languages.

  • Time: 40 hours
  • Free Certificate
Introduction to the C++ computer programming language, focusing on syntax for primitive types, control structures, vectors, strings, structs, classes, functions, file I/O, exceptions and other programming constructs.

  • Time: 38 hours
  • Free Certificate
Introductory survey of the specification and implementation of basic abstract data types and their associated algorithms. Structures discussed include: stacks, queues, lists, sorting and selection, searching, graphs, and hashing; performance tradeoffs of different implementations and asymptotic analysis of running time and memory usage.

  • Time: 106 hours
  • Free Certificate
Introduction to the mathematical foundations from discrete mathematics for analyzing computer algorithms, both for correctness and performance. Focuses on the introduction to models of computation, including finite state machines and Turing machines.

  • Time: 109 hours
  • Free Certificate
Exploration of the basic hardware/software components, assembly language, and functional architecture design of computers, specifically focusing on instruction sets, processor arithmetic and control, the Von Neumann architecture, pipelining, memory management, storage, and other input/output topics.

  • Time: 45 hours
  • Free Certificate
Detailed introduction to the application of engineering approach to computer software design and development. Topics include: life cycle models, software requirements, specification, conceptual model design, detailed design, validation and verification, design quality assurance, software design/development environments and project management.

  • Time: 120 hours
  • Free Certificate
Examination of the evolution of operating systems and design, focusing on hardware/software evolution leading to contemporary operating systems; basic operating systems concepts; methods of operating systems design and construction; algorithms for CPU scheduling, memory and general resource allocation; process coordination and management.

  • Time: 60 hours
  • Free Certificate
Detailed introduction to the basic hardware and software, architectural components for computer communications in local area networks. The components that are focused upon include understanding the basics of computer networks, switching, routing, protocols and security.

  • Time: 104 hours
  • Free Certificate
Study of database architecture and the components used in implementation. Using the Structured Query Language, topics including file structures and access methods; database modeling, design and user interface; components of database management systems; information storage and retrieval are explored.