Computer Science 101 (Coursera)

Offered by Stanford University,
Computer Science 101 (Coursera)

CS101 teaches the essential ideas of Computer Science for a zero-prior-experience audience. The course uses small coding experiments in the browser to play with the nature of computers, understanding their strengths and limitations. Sign up for the "To be announced" session to be notified by email when the class is next run, and sign up for "Self-Study" to start browsing the class materials right away. Self-Study mode makes all the videos and assignments available to be done at your own pace, but without a certificate of completion at the end.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

CS101 teaches the essential ideas of Computer Science for a zero-prior-experience audience. Computers can appear very complicated, but in reality, computers work within just a few, simple patterns. CS101 demystifies and brings those patterns to life, which is useful for anyone using computers today.

In CS101, students play and experiment with short bits of "computer code" to bring to life to the power and limitations of computers. Everything works within the browser, so there is no extra software to download or install. CS101 also provides a general background on computers today: what is a computer, what is hardware, what is software, what is the internet. No previous experience is required other than the ability to use a web browser.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Applied Calculus with Python (Coursera) Coursera
Johns Hopkins University

Applied Calculus with Python (Coursera)

This course is designed for the Python programmer who wants to develop the foundations of Calculus to help solve challenging problems as well as the student of mathematics looking to learn the theory and numerical techniques of applied calculus implemented in Python. By the end of this course, you will have learned how to apply essential calculus concepts to develop robust Python applications that solve a variety of real-world challenges.

Aug 31st 2026
5-12 Weeks
Programación en Python (Coursera) Coursera
Universidad de los Andes

Programación en Python (Coursera)

¡Te damos la bienvenida al curso de Programación en Python de la Universidad de los Andes! El propósito de este curso es ofrecerte un ambiente interactivo para que desarrolles tus habilidades de pensamiento computacional, aprendas a programar en el lenguaje Python y te entrenes en la resolución de problemas utilizando un computador. La estrategia pedagógica empleada es el aprendizaje activo basado en casos.

Aug 31st 2026
4 Weeks
Blockchain Scalability and its Foundations in Distributed Systems (Coursera) Coursera
The University of Sydney

Blockchain Scalability and its Foundations in Distributed Systems (Coursera)

Blockchain promises to disrupt industries once it will be efficient at large scale. In this course, you will learn how to make blockchain scale. You will learn about the foundational problem of distributed computing, consensus, that is key to create blocks securely. By illustrating limitations of mainstream blockchains, this course will indicate how to improve the technology in terms of security and efficiency. In particular, this course will help you: understand security vulnerabilities of mainstream blockchains; design consensus algorithms that tolerate attacks, and; design scalable blockchain systems.

Aug 31st 2026
5-12 Weeks
Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Aug 24th 2026
5-12 Weeks
Open Source Programming - Bachelor's (Coursera) Coursera
Illinois Tech

Open Source Programming - Bachelor's (Coursera)

Contemporary open-source programming languages and frameworks are presented in this course. Students will consider design and development topics in system, graphical user interface, network, and web programming. Dynamic scripting languages are covered using object-oriented, concurrent, and functional programming paradigms. Concepts gained throughout the course are reinforced with numerous exercises which will culminate in an open-source programming project.

Aug 31st 2026
5-12 Weeks
Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Aug 31st 2026
5-12 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Aug 24th 2026
5-12 Weeks
Client Needs and Software Requirements (Coursera) Coursera
University of Alberta

Client Needs and Software Requirements (Coursera)

This course covers practical techniques to elicit and express software requirements from client interactions. Upon successful completion of this course, you will be able to: Create clear requirements to drive effective software development; visualize client needs using low-fidelity prototypes; maximize the effectiveness of client interactions - adapt to changing product requirements.

Aug 31st 2026
4 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Aug 31st 2026
5-12 Weeks
Introduction to Software Product Management (Coursera) Coursera
University of Alberta

Introduction to Software Product Management (Coursera)

This course highlights the importance and role of software product management. It also provides an overview of the specialization, as well as its goals, structure, and expectations. The course explains the value of process, requirements, planning, and monitoring in producing better software. Upon successful completion of this course, you will be able to: relate software product management to better software products; recognize the role of a software product manager; reflect on how Agile principles will improve your own projects.

Aug 31st 2026
2 Weeks