Introduction to Java and Object-Oriented Programming

  • 4
Approx. 17 hours to complete

Course Summary

This course teaches Java programming in an object-oriented approach, covering topics such as inheritance, encapsulation, abstraction, and polymorphism. By the end of the course, students will be able to design and implement Java applications using these concepts.

Key Learning Points

  • Learn Java programming using object-oriented approach
  • Develop proficiency in Java application development
  • Understand the core concepts of inheritance, encapsulation, abstraction, and polymorphism

Related Topics for further study


Learning Outcomes

  • Design and implement Java applications using object-oriented concepts
  • Develop proficiency in Java programming
  • Understand the core concepts of inheritance, encapsulation, abstraction, and polymorphism

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of programming concepts
  • Access to a computer with Java installed

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced
  • Video lectures

Similar Courses

  • Java Programming and Software Engineering Fundamentals
  • Object-Oriented Programming in Java
  • Java Programming: Arrays, Lists, and Structured Data

Related Education Paths


Notable People in This Field

  • Computer Scientist
  • Computer Programmer

Related Books

Description

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.

Knowledge

  • 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.

Outline

  • Module 1 : Introduction to Java, Classes, & Eclipse
  • What to expect from this Course
  • About the Instructor : Brandon Krakowsky
  • How to submit assignments in Codio
  • Module 1 Introduction
  • Java vs. Python
  • Java is compiled
  • Popularity of Java vs. Python
  • Installing & running Java
  • Downloading & installing the Java Development Kit (JDK)
  • Installing & configuring Eclipse
  • Eclipse overview
  • Simple introductory program
  • Some general rules for Java
  • Variables & data types
  • Declaring variables
  • Strings vs. chars
  • Printing
  • 'while' loops
  • 'for' loops
  • Getting input
  • Java comments & Javadocs
  • Coding Demonstration : Creating my first java project
  • Coding Demonstration : Creating my first class & using the main method
  • Coding Demonstration : Defining variables
  • Coding Demonstration : Strings and characters
  • Coding Demonstration : Math operations
  • Coding Demonstration : String operations
  • Coding Demonstration : Conditionals and loops
  • Coding Demonstration : Casting
  • Coding Demonstration : User input
  • Coding Demonstration : Adding Javadocs
  • Java is class based
  • Defining a class
  • Defining fields in a class
  • Defining a constructor for a class
  • Defining a method in a class
  • Creating an instance of a class
  • Coding Demonstration : Banking project
  • Course Layout & Syllabus
  • Tips to succeed in this course
  • Navigating Assignments using Codio
  • Module 1 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
  • Installing & configuring Eclipse overview
  • Math operators
  • Casting
  • 'char' operations
  • Importing a Java Program into Eclipse
  • Quiz 01 - Intro to Java & The Java Language
  • Quiz 02 - Classes
  • Module 2 : Unit Testing, Arrays, & ArrayLists
  • Module Introduction
  • Why unit test?
  • Disadvantages & advantages
  • JUnit
  • Terminology
  • Assert methods
  • Coding Demonstration : Counter project
  • Testing for equality
  • Implementing the equals method
  • Coding Demonstration : Comparing people
  • Coding Demonstration : Banking project with unit testing
  • Declaring & initializing arrays
  • Initializing arrays in one line
  • The length of an array
  • Stepping through an array using a for loop or enhanced for loop
  • Nested arrays
  • Accessing values in nested arrays
  • About the Collections Framework
  • Creating an ArrayList
  • The size of an ArrayList
  • Printing primitives vs. Objects
  • Implementing the toString method
  • Coding Demonstration : Classroom project
  • Module 2 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
  • More assert methods
  • Even more assert methods
  • Array methods
  • ArrayList methods
  • Quiz 03 - Unit Testing
  • Quiz 04 - Arrays & ArrayLists
  • Module 3 : Static Variables, Methods, & Polymorphism Using Overloading
  • Module 3 Introduction
  • Instance variables vs. static variables
  • Creating static variables
  • Referencing static variables
  • Using static variables for hard-coded values
  • About static methods
  • Static helper methods
  • About Java’s main method
  • When to use a static method
  • Other use cases for static
  • Other rules for static
  • Coding Demonstration : Customer tracking project
  • Method signatures
  • Polymorphism
  • Overloading
  • Why overload a method?
  • DRY (Don’t Repeat Yourself) principle of software development
  • Legal vs. illegal variable assignments and method calls
  • Java uses the most specific method
  • Multiple constructors
  • Coding Demonstration : Dog project
  • Module 3 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
  • Quiz 05 - Static Variables & Methods
  • Quiz 06 - Polymorphism - Overloading

Summary of User Reviews

Learn Java Object Oriented Programming with this highly rated course on Coursera. Users praise the comprehensive content and engaging instructors.

Key Aspect Users Liked About This Course

Comprehensive content

Pros from User Reviews

  • Engaging and knowledgeable instructors
  • Well-structured course with clear explanations
  • Practical exercises and hands-on projects
  • Great introduction to Java OOP concepts
  • Useful for both beginners and experienced programmers

Cons from User Reviews

  • Some users found the pace too slow
  • Lack of real-world examples
  • Not enough emphasis on debugging and troubleshooting
  • Some technical issues with the online platform
  • No certificate of completion for free users
English
Available now
Approx. 17 hours to complete
Brandon Krakowsky
University of Pennsylvania
Coursera

Instructor

Brandon Krakowsky

  • 4 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses