Introduction to Java and Object-Oriented Programming
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Introduction to Java and Object-Oriented Programming
This course is part of Introduction to Programming with Python and Java Specialization
Instructor: Brandon Krakowsky
43,066 already enrolled
Included with
Ask Coursera
333 reviews
Recommended experience
333 reviews
Recommended experience
What you'll learn
Identify core aspects of object-oriented programming and features of the Java language.
Use Eclipse for writing and running Java code.
Develop programs that use Java collections and apply core object-oriented programming concepts using classes, polymorphism, and method overloading.
Test code by applying principles of test-driven development using Java's unit testing framework.
Skills you'll gain
Tools you'll learn
Details to know
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 3 modules in this course
This course provides an introduction to the Java language and object-oriented programming, including an overview of Java syntax and how it differs from a language like Python. Students will learn how to write custom Java classes and methods, and how to test their code using unit testing and test-driven development. Topics include basic data structures like Arrays and ArrayLists and overloading methods.
Welcome to Java! This first module provides an introduction to the Java language and object-oriented programming. It includes an overview of Java syntax, in particular, how it differs from a language like Python. Topics will include variables and data types, loops and conditionals, printing to the console, scanning for user input, and code documentation. This module also explains the structure and inner-workings of a Java class and teaches you how to define your own custom classes and methods.
What's included
38 videos10 readings3 assignments2 app items
38 videos•Total 95 minutes
- What to expect from this Course•2 minutes
- About the Instructor : Brandon Krakowsky •1 minute
- How to submit assignments in Codio•6 minutes
- Module 1 Introduction •1 minute
- Java vs. Python•1 minute
- Java is compiled•1 minute
- Popularity of Java vs. Python•1 minute
- Installing & running Java•1 minute
- Downloading & installing the Java Development Kit (JDK)•0 minutes
- Installing & configuring Eclipse•1 minute
- Eclipse overview•1 minute
- Simple introductory program•1 minute
- Some general rules for Java•1 minute
- Variables & data types•2 minutes
- Declaring variables•1 minute
- Strings vs. chars•1 minute
- Printing•0 minutes
- 'while' loops•0 minutes
- 'for' loops•1 minute
- Getting input•1 minute
- Java comments & Javadocs•1 minute
- Coding Demonstration : Creating my first java project•1 minute
- Coding Demonstration : Creating my first class & using the main method•2 minutes
- Coding Demonstration : Defining variables•2 minutes
- Coding Demonstration : Strings and characters•2 minutes
- Coding Demonstration : Math operations•3 minutes
- Coding Demonstration : String operations•2 minutes
- Coding Demonstration : Conditionals and loops•8 minutes
- Coding Demonstration : Casting•7 minutes
- Coding Demonstration : User input•6 minutes
- Coding Demonstration : Adding Javadocs•1 minute
- Java is class based•1 minute
- Defining a class•1 minute
- Defining fields in a class•1 minute
- Defining a constructor for a class•1 minute
- Defining a method in a class•1 minute
- Creating an instance of a class•1 minute
- Coding Demonstration : Banking project•33 minutes
10 readings•Total 57 minutes
- Course Layout & Syllabus•10 minutes
- Tips to succeed in this course•10 minutes
- Navigating Assignments using Codio•10 minutes
- Module 1 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)•5 minutes
- Installing & configuring Eclipse overview•7 minutes
- Math operators•3 minutes
- Casting•3 minutes
- 'char' operations•3 minutes
- Importing a Java Program into Eclipse•5 minutes
- Opt-in to Penn Engineering Online Communications•1 minute
3 assignments•Total 64 minutes
- Quiz 01 - Intro to Java & The Java Language•20 minutes
- Quiz 02 - Classes•14 minutes
- Learning Style Preference Survey•30 minutes
2 app items•Total 300 minutes
- Practice Coding Assignment 1a: Hello World!•120 minutes
- Homework 1 : Simple Game•180 minutes
In this module, you will be taught to test your code to get it working. The best way to do this is to write a set of unit tests that you can run against your program, at any time. In this module, we'll learn how to do unit testing in Java, and why we want to do it. We’ll also learn all about Java Arrays, which are collections of items, and ArrayLists, which are kind of like arrays, but much more flexible. These work just like lists in Python. ArrayLists are part of Java’s larger Collections Framework, which we’ll continue to reference throughout this course.
What's included
23 videos5 readings2 assignments2 app items
23 videos•Total 94 minutes
- Module Introduction•1 minute
- Why unit test?•1 minute
- Disadvantages & advantages•1 minute
- JUnit •0 minutes
- Terminology•1 minute
- Assert methods•1 minute
- Coding Demonstration : Counter project•15 minutes
- Testing for equality•1 minute
- Implementing the equals method•1 minute
- Coding Demonstration : Comparing people•9 minutes
- Coding Demonstration : Banking project with unit testing •24 minutes
- Declaring & initializing arrays •3 minutes
- Initializing arrays in one line•1 minute
- The length of an array•1 minute
- Stepping through an array using a for loop or enhanced for loop•1 minute
- Nested arrays•1 minute
- Accessing values in nested arrays•1 minute
- About the Collections Framework•1 minute
- Creating an ArrayList•1 minute
- The size of an ArrayList•1 minute
- Printing primitives vs. Objects•1 minute
- Implementing the toString method•3 minutes
- Coding Demonstration : Classroom project•27 minutes
5 readings•Total 16 minutes
- Module 2 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)•5 minutes
- More assert methods•3 minutes
- Even more assert methods•2 minutes
- Array methods•3 minutes
- ArrayList methods•3 minutes
2 assignments•Total 22 minutes
- Quiz 03 - Unit Testing •10 minutes
- Quiz 04 - Arrays & ArrayLists•12 minutes
2 app items•Total 240 minutes
- Homework 2 : Custom String•120 minutes
- Homework 3 : Arrays & ArrayLists•120 minutes
So far, we’ve been defining variables as instance variables in our Java classes. Instance variables are just variables defined inside a class, and every instance of a class can have a different value for an instance variable. In this module, we’ll look at defining static variables in our Java classes. Static variables are also defined as variables inside a class, but with the keyword 'static'. Static variables have the same value for every instance of a class. In fact, you don’t even need to create an instance of a class to use a static variable! We’ll also look at static methods. And just like static variables, you don’t need to create an instance of a class to use, or call, a static method. In this module, we’re also going to introduce polymorphism, which refers to overloading and overriding. We’ll focus on overloading, which is having two or more methods in the same class, with the same name.
What's included
21 videos2 readings2 assignments1 app item
21 videos•Total 88 minutes
- Module 3 Introduction•1 minute
- Instance variables vs. static variables•1 minute
- Creating static variables•1 minute
- Referencing static variables•1 minute
- Using static variables for hard-coded values•1 minute
- About static methods•1 minute
- Static helper methods•0 minutes
- About Java’s main method•0 minutes
- When to use a static method•1 minute
- Other use cases for static•1 minute
- Other rules for static•0 minutes
- Coding Demonstration : Customer tracking project•25 minutes
- Method signatures•1 minute
- Polymorphism•1 minute
- Overloading•1 minute
- Why overload a method?•1 minute
- DRY (Don’t Repeat Yourself) principle of software development•1 minute
- Legal vs. illegal variable assignments and method calls•2 minutes
- Java uses the most specific method•1 minute
- Multiple constructors•9 minutes
- Coding Demonstration : Dog project•39 minutes
2 readings•Total 6 minutes
- Module 3 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)•5 minutes
- Opt-in to Penn Engineering Online Communications•1 minute
2 assignments•Total 20 minutes
- Quiz 05 - Static Variables & Methods•8 minutes
- Quiz 06 - Polymorphism - Overloading•12 minutes
1 app item•Total 180 minutes
- Homework 4 : Custom Integer ArrayList•180 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Offered by
Explore more from Software Development
- Status: Free Trial
Course
- Status: Free Trial
- Status: Free Trial
- B
Birla Institute of Technology & Science, Pilani
Course
Why people choose Coursera for their career
Learner reviews
- 5 stars
67.86%
- 4 stars
21.02%
- 3 stars
5.40%
- 2 stars
1.80%
- 1 star
3.90%
Showing 3 of 333
Reviewed on Jun 26, 2023
The lecturer was excellent. his teaching style is very smart and understanable to everyone,and explanation part is also great. wish to learn from him again.
Reviewed on Apr 4, 2021
Great course to learn object oriented programming in Java. It was nice that testing was included. Could probably go a little deeper into casting and collections.
Reviewed on Nov 2, 2022
Amazing course and really , really usefull for professional coding , thank you so much for providing me financial aid really loved the experience
Frequently asked questions
The only math that learners will need for this Specialization is arithmetic and basic concepts in logic.
If you enjoyed this course, we recommend Courses 1, 2 and 4 in the series!
If you would like to learn the fundamentals of computer science beyond the basics of programming, consider applying to the Master of Computer and Information and Technology (MCIT) at the University of Pennsylvania, an Ivy League computer science master’s program for people without a computer science background. For an on-campus experience, . If you prefer an online setting, apply to . In fact, the lectures in this series are also used in the online degree program! The Specialization certificate will be viewed favorably by the admissions committee, so be sure to mention it when you apply.
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
More questions
Financial aid available,
