All Courses
Harvard CS50
java
Beginner
Certificate

CS50's Introduction to Programming with Scratch

100 hours
4.9(95,000 reviews)
Free

This CS50 introduction starts with Scratch, a drag-and-drop language, so you learn programming logic (loops, conditions, functions) before writing any text-based code. You can take it free two ways: Harvard publishes the material at cs50.harvard.edu, and edX hosts the same content with an optional paid certificate. No account is needed on Harvard's site. One honest note: CS50's core intro moves from Scratch into C rather than Java, so if your only goal is job-ready Java, pair this with a dedicated Java course afterward. It's still one of the best first-programming experiences online, and the Scratch start makes it approachable for people who have never coded.

CS50's intro courses have been taken by nearly 5 million learners, one of the largest online course audiences ever (source: Fortune Education, fortune.com/education).

About This Course

Harvard's CS50 introductory course starting with Scratch and progressing to Java concepts. The most engaging introduction to programming available anywhere.

Course Details

Platform

Harvard CS50

Language

java

Level

beginner

Duration

100h

Certificate

Yes, included

Cost

Free

Frequently Asked Questions

Is this course free?

Yes. All the materials are free on cs50.harvard.edu, and you can audit the same course on edX. Only the edX certificate costs money.

Does it actually teach Java?

CS50 begins with Scratch and its main track uses C. It builds the programming fundamentals that carry over to Java, but for deep Java skills you'll want a dedicated Java course next.

Is it good for total beginners?

Yes. Starting in Scratch lets you focus on logic before syntax, which is why it's such a popular first course.

Where should I take it, Harvard's site or edX?

Same lessons on both. Harvard's site is fully open; edX adds a certificate and a graded track.

What should I learn after this?

A focused Java course, or CS50's own follow-ups in Python, SQL, or web, depending on your goal. Add small projects to lock in what you learned.

More java Courses

Codecademy's Java course covers the fundamentals: syntax, classes, OOP, data structures, and algorithms. Interactive browser-based environment.

20h
4.5
Details

MIT's software engineering course using Java. Covers specifications, testing, abstraction, concurrency, and design patterns. Full lecture notes and problem sets.

80h
4.8
Details