Introduction to Java and Object-Oriented Programming
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.
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.
Syllabus
Syllabus - What you will learn from this course
Week 1
Module 1 : Introduction to Java, Classes, & Eclipse
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.
Week 2
Module 2 : Unit Testing, Arrays, & ArrayLists
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.
Week 3
Module 3 : Static Variables, Methods, & Polymorphism Using Overloading
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.
FAQ
When will I have access to the lectures and assignments?
Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
How much math do I need to know to take this course?
The only math that learners will need for this Specialization is arithmetic and basic concepts in logic.
This course was fun. How can I learn more?
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, explore here. If you prefer an online setting, apply to MCIT Online. 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.
Reviews
This course has enlightened me on how to write and program tasks using JavaScript software. Of course, I had to learn certain methods mentioned in the homework assignments using external sources.
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.
detailed and easy to understand instructions. good practical examples.
Course videos and lecture slides were easy to follow.