Learn the basics of in-demand skills like programming, information technology, software engineering, systems architecture and management, and networking.

Explore the basic concepts, nomenclature, and historical perspective of computers and computing, and principles of software development and Object-Oriented Programming.

Explore this detailed survey of computing and programming, with an emphasis on understanding object-orientation and the Java and C++ computer programming languages. We will use history, theory, and practice to deliver lessons that prepare you for a career in computer science.

Learn fundamental programming concepts using the Python 3 programming language, a high-level interpreted language that is easy to read write, with powerful libraries that provide additional functionality.

Learn the C++ computer programming language, with a focus on syntax for primitive types, control structures, vectors, strings, structs, classes, functions, file I/O, exceptions, and other programming constructs.

Learn the components of Bitcoin and how they work together to keep Bitcoin's open, decentralized system running. This course will build the foundation you need to use and work with Bitcoin and other cryptocurrencies.

Survey basic abstract data types, their associated algorithms, and how they are implemented. Topics discussed include the structures of stacks, queues, lists, sorting and selection, searching, graphs, and hashing; performance tradeoffs of different implementations; and asymptotic analysis of running time and memory usage.

Learn discrete mathematics in a way that combines theory with practicality. Major topics include single-membership sets, mathematical logic, induction, proofs, counting theory, probability, recursion, graphs, trees, and finite-state machines.

Get a broad, foundational introduction to the rapidly evolving field of artificial intelligence by learning how to build intelligent software solutions in today's business applications.

Learn data science using the Python programming language by looking at data processing, data analysis, visualization, data mining, and statistical models. By the end of this course, you will be able to implement Python code for these data science topics.

Learn basic concepts in applied cryptography and see how they are implemented in real-world programs.

Explore hardware/software components, assembly language, and the functional architecture and design of computers, with a focus on topics like instruction sets, processor arithmetic and control, Von Neumann architecture, pipelining, memory management, storage, and input/output.

Learn how to apply an engineering approach to computer software development by focusing on software principles, lifecycle models, requirements and specifications, architecture and conceptual model design, detailed design, implementation, validation and verification, quality assurance, configuration control, project management, tools, and environments.

Examine how operating systems and design have evolved as changes in hardware and software led to contemporary operating systems. Topics include basic OS concepts, methods of OS design and construction, process coordination, management, and algorithms for CPU scheduling, memory, and general resource allocation.

Explore the hardware, software, and architectural components involved in computer communications in local area networks by reviewing the basics of computer networks, switching, routing, protocols, and security.

Learn about database architecture and implementation by exploring Structured Query Language (SQL), including topics like file structures and access methods; database modeling, design, and user interface; the components of database management systems; and information storage and retrieval.

Learn the principles of information security to protect the confidentiality, integrity, and availability of information. Discuss the modes of threats and attacks on information systems, threat mitigation, cryptography, user identification and authentication, access control, privacy laws, and more.