Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Georgia Institute of Technology

Introduction to Object-Oriented Programming with Java

Georgia Institute of Technology via edX Professional Certificate

Overview

“Introduction to Object-Oriented Programming With Java” is a series of courses built from Georgia Tech’s online for-credit version of CS1331: Introduction to Object-Oriented Programming (OOP).

This course begins with an introduction to the Java programming language. It provides a brief history of Java and presents the foundations of what set it apart from the programming languages (procedural and object-oriented) that existed at the time of its creation. Students will then learn the basics of Java syntax and explore writing interactive programs that incorporate concepts and constructs like: primitive data types, classes, arithmetic operations, conditionals, loops, arrays, console input and output, methods, and reuse.

Following this introduction, students will begin hands-on learning about object-oriented programming. They'll write their own custom classes that represent real-world concepts and objects and learn how to organize different (built-in and custom) classes into a programming solution.

Students will then extend their understanding of reusability with an introduction to inheritance and explore topics like parent-child class (or subclass-super-class) relationships, abstract classes, and UML.

Next, students will learn about interfaces and polymorphism. Intertwined in that discussion is a mini-lesson on the kinds of algorithms that are often used to process data in programs and how one might use them in an OOP context. Students will also learn the basics of evaluating algorithms based on the concept of runtime complexity. Such a skill can ultimately make them better programmers.

Along those lines, students will improve their approach to handling runtime errors by learning about exceptions. They will apply the construct in multiple contexts, including file input and output.

The course series concludes by presenting the fundamentals of a few advanced topics, namely: data structures (primarily lists), recursion, graphical user interfaces (GUIs) with JavaFX, anonymous inner classes, and lambda expressions.

Syllabus

Courses under this program:
Course 1: Introduction to Object-Oriented Programming with Java I: Foundations and Syntax Basics

Learn the foundational basics of the Java programming language.



Course 2: Introduction to Object-Oriented Programming with Java II: Object-Oriented Programming and Algorithms

Learn the basics of object-oriented programming and algorithms.



Course 3: Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs

Learn how to create and use exceptions, data structures, recursion, and graphical user-interfaces (GUIs).



Taught by

Olufisayo Omojokun

Reviews

5.0 rating, based on 15 Class Central reviews

Start your review of Introduction to Object-Oriented Programming with Java

  • Profile image for Minzhe Chen
    Minzhe Chen
    I have really enjoyed this course and I am so glad that I took CS1331 as my first object oriented programming course. It is a great introduction to the fundamental concepts of object oriented programming, such as abstraction, classes, inheritance, i…
  • Profile image for Liyah99 Huang
    Liyah99 Huang
    This is a great series of courses teaching Object-Oriented programming in Java language. As a non-CS student, I knew almost nothing about Java nor object-oriented programming before I took this class. This class taught me everything I need to know a…
  • Yuchen Ma
    CS1331 is a great starting point for those are interesting in learning about programming. I took the course as a non-CS major and without any experience in object-oriented programming. Professor Omojokun presents the material in a way that is clear…
  • Anonymous
    Introduction to Object-Oriented Programming with Java is an informative course for learners interested in brushing up their Java skills or learning the basics of object-oriented programming in a new programming language. There are plenty of assignments that push you to truly understand and apply first-hand the concepts discussed in the lectures. The course material is presented clearly and builds on itself as you progress so you won't feel overwhelmed and will always have references to turn to for help. I highly recommend this course and encourage others to use the discussion forum when you feel stuck or to help other learners along their journey!
  • Profile image for Yilin Lu
    Yilin Lu
    I completed all 3 courses in the series.

    The lesson videos are really well done - Professor Omojokun would often illustrate the new concepts by incrementally running through the code in the video while pointing out the new concepts graphically in play.

    I also really appreciate the comprehensive homework coding exercises which gave me the opportunity to write realistic code and forced me to apply all the concepts learned.
    The coding exercises were definitely challenging and took a while to solve, but if it were easy I wouldn't be learning as much.
  • Anonymous
    I thought the course set was extremely informative and easy to follow.

    The inclusion of answer keys to one of the homework problems as it allowed me to re-contextualize the learning in a more practical manner.

    Additionally, the presentation of diagrams to illustrate the inner workings of certain Java concepts allowed me to grasp ideas much quicker as a student who has no prior CS experience.
  • Profile image for Jai Young Kim
    Jai Young Kim
    CS1331 is an excellent entry-level course even for people like me who had no CS or programming background. Dr. Omojokun uses great examples throughout the lectures that make it easy for beginners like me to follow. The homework assignments were challenging and thought-provoking but very rewarding once the pieces came together. Both the lecture videos and homework assignments are enjoyable and complement each other very well. I would highly recommend this course for anyone looking to learn about Object-Oriented Programming or get into Java programming for the first time.
  • Anonymous
    CS1331 is a great starting point for learning Java, especially if you don't have a background in computer science or programming. Dr. Omojokun uses simple and relatable examples in the lectures, which makes it easy for beginners like me to understand. He slowly builds on top of the concepts that you need to fully grasp the material. The homework assignments, though a bit challenging, are fulfilling once you figure them out. The lectures and assignments go hand in hand, creating a pleasant and coherent learning experience. I highly suggest this course to anyone interested in learning about Object-Oriented Programming or trying out Java programming for the first time.
  • Julie Le Rudulier
    CS1331 is a fun yet challenging entry-level course.

    Dr. Omojokun uses very simple and clear examples throughout the lectures, which makes complex notions such as recursion or abstraction easy to understand.

    The homework might take some time to solve, but it's a great way to consolidate the knowledge you have acquired throughout the lectures.

    I definitely recommend this course! Thanks again to Dr. Omojokun for providing students with such informative and clear content. Was definitely the best way to start learning about Java, Data Structures and Object-Oriented Programming.
  • Anonymous
    This was a great Java Professional Certificate. It was a good challenge and introduced fundamental topics. My favorite part was the Object-Oriented Programming and Algorithms course. I gained a better understanding of writing classes.
  • Profile image for Yehao Zheng
    Yehao Zheng
    This course is a great introduction to Java. The lectures are very clear and informative. The homework might take some time to solve, but it's a great way to consolidate the knowledge you have learned throughout the course.
  • Anonymous
    Fun course! Homeworks get pretty challenging but clever, especially after the first course. Would be nice to see a part IV and have threads as a topic.
  • Profile image for Yuwen Guan
    Yuwen Guan
    This course is awesome! It covers all the important subjects of Object-Oriented Programming, like inheritance and polymorphism. Plus, it starts from the very basics of Java, explaining stuff like variables and loops, and then gets into cooler thing…
  • Anonymous
    Introduction to Object-Oriented Programming with Java is an impressive program that will benefit students from all backgrounds. Dr. Olufisayo Omojokun is an outstanding instructor who really excels in explaining concepts with precision using clear and concise language. He keeps the presentations interesting with relatable examples, and he uses a deliberate and effective approach to building advanced concepts through progression. As someone familiar with C++ but new to Java, I found this program to be valuable in stimulating new ways of thinking about OOP. I highly recommend it as a powerful resource to begin developing in Java.
  • Anonymous
    This course provides a valuable information in an easy to understand way but yet in a challenging way which makes it more enjoyable, It is presented by professor Fisayo and I would like to extend my many thanks to him for this hard work.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.