Approx. {{courseState.expectedDuration}} {{courseState.expectedDurationUnit}}

Assumes 6hr/wk (work at your own pace)

Built by
Join {{263156 | number:0}} Students
view course trailer
View Trailer

Course Summary

In this introductory course, you'll learn and practice essential computer science concepts using the Java programming language. You'll learn about Object Oriented Programming, a technique that allows you to use code written by other programmers in your own programs. You'll put your new Java programming skills to the test by solving real-world problems faced by software engineers.

Why Take This Course?

Java is one of the most popular programming languages used by software developers today. It is the core language used in developing Android apps, and is also commonly used in back-end web development. If you’re new to programming and want to enter either of these fields, this course is a great place to get started.

Even if you don’t have a career trajectory in mind, Java programming is a great option for first-time coders due to its popularity and ease of use. This course will provide you with a solid foundation in computer science and Object Oriented Programming concepts, as well as set you on the path for success as a software engineer.

Prerequisites and Requirements

No prior programming experience and knowledge is assumed or needed. Beginners welcome!

See the Technology Requirements for using Udacity.

What Will I Learn?


Lesson 1: Introduction to Computers, Programming Languages, Algorithms, and the Java Programming Environment

Lesson 2: Introduction to Classes and Objects

Lesson 3: Graphics

Lesson 4: Fundamental Data Types

Lesson 5: Decisions

Lesson 6: Iterations

Lesson 7: Arrays, ArrayLists and Simple Array Algorithms

Lesson 8: Methods (Parameter Passing, Instance vs. Static Methods)

Lesson 9: Inheritance

Instructors & Partners

Cay grew up in Northern Germany and attended the Christian-Albrechts-Universität in Kiel, a harbor town on the Baltic sea. He received a M.S. in computer science from Syracuse University, and a Ph.D. in mathematics from the University of Michigan in Ann Arbor. For four years, he was VP and CTO of an Internet startup that went from 3 people in a tiny office to a public company. He now teaches computer science at San Jose State University. In his copious spare time, he writes books and articles on programming languages and computer science education.

Please note that the Coaching, project feedback, and Verified Certificate are provided by and through Udacity. These services are specifically not provided by or affiliated with Cay Horstmann, San Jose State University, or any publisher of Dr. Horstmann's other textbooks.

instructor photo

Cheng-Han Lee

Course Developer

Cheng-Han worked as a program manager at Microsoft prior to Udacity, and he studied at the University of Texas at Austin and University of California at San Diego for his degrees in computer science.

Outside of work, Cheng-Han is a world traveler. He has lived in Taiwan, Shanghai, Charleston (SC), Dallas, Austin, San Diego, Seattle, and now the Bay Area. In addition to traveling, he likes to find new parks to explore, new venues to visit, and new restaurants to try.

instructor photo

Sara Tansey

Course Developer

The origins of Sara Tansey’s unique skill set confound those she meets. Where did she learn to code like she does? How does she scale treacherous rock faces with such ease? And she can shoot a bow-and-arrow?! Who even does that anymore!? The truth is that Sara was actually raised by rock-climbing, bow-wielding, java-brewing monks in a monastery on the island of...(you’re not going to believe this)... Java. Can Tansey code? Tansey can code. And she can’t wait to help you do the same.

track icon

View more courses in Software Engineering

track icon

View more courses in Android