This course is an introduction to the Java programming language and the concepts of object-oriented design. It not only covers the fundamentals of programming in Java, but it also brings in the concepts of object-oriented design and guides students to build GUI-based applications to address real-world problems. Topics include, but not limited to, fundamentals of programming in Java, classes and methods, objects and references, overloading, inheritance, polymorphism, abstract classes and interfaces, basic data structures, and GUI applications. Students are expected to apply learned knowledge to address an identified problem found in the real world.
In this module, you will be setting up the foundation to learn computation and programming, review the fundamentals of programming using Java programming language and write Java programs with basic syntax, including variables, I/O, Strings, control flow, conditions, methods, arrays, and file I/O.
Programming Environment (Building and Running a Program)•8 minutes
Example of Using String Formatting•7 minutes
Demonstration - Opening a File for Reading•10 minutes
Demonstration: Trace Code•7 minutes
Visibility Modifiers and Accessor/Mutator Methods•4 minutes
52 readings•Total 728 minutes
Course Overview•1 minute
Syllabus - UX & Business App Development with OOP•10 minutes
Academic Integrity•1 minute
Setting Up Your IDE & Exercise•30 minutes
Introduction to Computation and Programming•10 minutes
Variables•15 minutes
Data Types•10 minutes
Data Types — Alphanumeric•10 minutes
Data Types — Boolean•10 minutes
Introduction to Program Input and Output•10 minutes
Program Output•10 minutes
Program Input•10 minutes
Exercise: Java Program with Three Integers•10 minutes
Format String•10 minutes
Exercise: Program that asks User for Decimal Value•10 minutes
Control Flow and Conditions•10 minutes
if-else•10 minutes
Multiple ‘else if’ Statements•10 minutes
do-while Loops•10 minutes
While Loops•10 minutes
For loops•10 minutes
Introduction to Methods•10 minutes
Types of Methods•15 minutes
Predefined Methods in Java•15 minutes
More Examples•15 minutes
The Process of Methods•15 minutes
Introduction to Arrays•10 minutes
Creating Arrays•15 minutes
Arrays in Memory•15 minutes
Array Elements and Length•15 minutes
Out-of-Bound Errors•15 minutes
Initializing Arrays•15 minutes
Arrays as Method Arguments•5 minutes
File Objects•15 minutes
File Output•15 minutes
Using a PrintWriter•15 minutes
Exercise: Reading from a File•60 minutes
Exercise: Writing to a File•60 minutes
OO Programming Concepts•15 minutes
UML (Unified Modeling Language) Class Diagram•10 minutes
Exercise: Objects and Classes•30 minutes
Constructors•15 minutes
Default Constructors•15 minutes
Declaring Object Reference Variables•15 minutes
Accessing Object’s Members•15 minutes
Default Value for a Data Field•10 minutes
Exercise: Data Field•10 minutes
Primitive Data Type vs. Class Types•15 minutes
Garbage Collections•15 minutes
Instance Variables and Methods•10 minutes
Static Variables, Constants, and Methods•10 minutes
Module Summary•1 minute
1 assignment•Total 30 minutes
Module Quiz - Fundamentals of Programming•30 minutes
2 discussion prompts•Total 40 minutes
Meet Your Fellow Learners•10 minutes
Introductory Java•30 minutes
Object-Oriented Programming
Module 2•12 hours to complete
Module details
You will continue exploring object-oriented programming by focusing on the concept of arrays of objects by creating and manipulating multiple instances of objects in a sequential manner, learning how to pass objects to methods, along with an in-depth examination of class abstraction and encapsulation. You will extend your exploration to wrapper classes and harness the capabilities of String, StringBuilder, and StringBuffer classes to devise solutions for real-world problems.
The StringBuilder and StringBuffer Classes•6 minutes
Superclasses and Subclasses•8 minutes
40 readings•Total 576 minutes
Passing Object to Methods•15 minutes
Generic Example of Passing Objects by Methods•10 minutes
Array of Objects•15 minutes
[OPTIONAL] Exercise: Array of Objects•15 minutes
[OPTIONAL] Exercise: Passing Objects to Methods•15 minutes
Thinking in Objects•15 minutes
Case Study: The BMI Class•20 minutes
Processing Primitive Data Types Values as Objects•15 minutes
The Static valueOf Methods•10 minutes
The Methods for Parsing Strings into Numbers•10 minutes
Interned Strings•10 minutes
Replacing and Splitting Strings•10 minutes
Matching, Replacing and Splitting by Patterns•10 minutes
Convert Character and Numbers to Strings•5 minutes
Introduction to Superclasses and Subclasses•20 minutes
Is Superclass’s Constructor Inherited?•10 minutes
Using the Keyword super•10 minutes
Introduction to Inheritance•10 minutes
Constructor Chaining•10 minutes
Introduction to Constructor Invocation in Java Inheritance•60 minutes
The Impact of a Superclass without no-arg Constructor•20 minutes
Defining a Subclass•5 minutes
Calling Superclass Methods•10 minutes
Overriding Methods in the Superclass•10 minutes
Overriding vs. Overloading•20 minutes
The Object Class and Its Methods•20 minutes
The toString() method in Object Class•20 minutes
Polymorphism•10 minutes
Polymorphism and Dynamic Binding•10 minutes
Casting Objects•10 minutes
The instanceof Operator•20 minutes
The equals Method•10 minutes
The protected Modifier•15 minutes
Visibility Modifiers•15 minutes
The final Modifier•15 minutes
The ArrayList Class•20 minutes
Array Lists from/to Arrays•20 minutes
Max and Min in an Array List•10 minutes
Introduction to Shuffling an Array List•20 minutes
Module Summary•1 minute
2 assignments•Total 60 minutes
Module Quiz - Basics of Object-Oriented Programming Part 2•30 minutes
Module Quiz - Fundamentals of Programming Part 2•30 minutes
1 discussion prompt•Total 30 minutes
Object-Oriented Programming•30 minutes
UX and OOP
Module 3•8 hours to complete
Module details
This module, you will be taking a closer look into the world of Graphical User Interface (GUI) programming which are the essential components of modern software applications, enabling users to interact with software in a visually intuitive and user-friendly manner. You will learn the fundamental principles of designing and creating basic GUI applications.During this week, you will also recall the fundamental characteristics of each GUI toolkit and articulate, and demonstrate the ability to configure a programming environment for JavaFX and apply basic programming skills to write and execute simple JavaFX applications and create user interfaces using pages, groups, UI controls and shapes.
Definition and Example of Abstract Class•3 minutes
Interface Definition•2 minutes
Example of Using Interface Design in Java: Integer and BigInteger Classes•2 minutes
39 readings•Total 381 minutes
Graphical User Interface•10 minutes
Historical Context and Evolution of JavaFX vs. Swing and AWT•10 minutes
JavaFX vs. Swing and AWT•10 minutes
JavaFX features •10 minutes
Exercise: Setting up JavaFX•10 minutes
Basic Structure of JavaFX•10 minutes
Panes, UI Controls, and Shapes•10 minutes
[OPTIONAL] Exercise: Creating a JavaFX Project•10 minutes
Property Binding•10 minutes
[OPTIONAL] Exercise: Continuing with Creating a JavaFx Project•10 minutes
Classes—Color, Font, Image, ImageView•10 minutes
[OPTIONAL] Exercise: Creating a JavaFX Application using Image and ImageView•10 minutes
Layout Panes•10 minutes
[OPTIONAL] Exercise: Creating an App •10 minutes
Shapes•10 minutes
Shape Class•10 minutes
Text•10 minutes
Line•10 minutes
Rectangle•10 minutes
Circle•10 minutes
Ellipse•10 minutes
Arc•10 minutes
Arc Examples•10 minutes
Polygon and Polyline•10 minutes
Eclipse and Scene Builder•10 minutes
Tools: Scene Builder•10 minutes
[OPTIONAL] Exercise: Creating a JavaFX app with Scene Builder•10 minutes
Abstract Method in Abstract Class•10 minutes
Abstract Class as a Type•10 minutes
Case Study: Abstract Calendar Class and GregorianCalendar Subclass•10 minutes
[OPTIONAL] Exercise: Creating an Abstract Class•10 minutes
Interface Usage•10 minutes
[OPTIONAL] Exercise: Defining an Interface•10 minutes
The Comparable Interface•10 minutes
Interface Design in Different Classes•10 minutes
[OPTIONAL] Exercise: Example of Using Integer and Date Classes With Their compareTo() Method•10 minutes
The Cloneable Interface•10 minutes
Interfaces vs. Abstract Classes•10 minutes
Module Summary•1 minute
2 assignments•Total 60 minutes
Module Quiz - Basics of GUI programming in Java•30 minutes
Module Quiz - Basics of Abstract Classes and Interfaces•30 minutes
1 discussion prompt•Total 30 minutes
UX Design•30 minutes
Advanced Concepts in Java
Module 4•11 hours to complete
Module details
This module, you will be introduced to event-driven programming, a paradigm to respond to various events or actions. Primarily focusing on how applications can be designed to respond to user actions on JavaFX GUI applications. This week's topic emphasizes explaining the mechanism and designing responses for interaction in JavaFX. You will also learn about the concept of handler classes in event-driven programming, including how handler objects are registered to respond to specific events. You will learn how to describe events, event sources, and event classes and apply that to write and analyze code that effectively manages and responds to various events.
Founded in 1898, Northeastern is a global research university with a distinctive, experience-driven approach to education and discovery. The university is a leader in experiential learning, powered by the world’s most far-reaching cooperative education program. The spirit of collaboration guides a use-inspired research enterprise focused on solving global challenges in health, security, and sustainability.
When will I have access to the lectures and assignments?
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.
What will I get if I purchase the Certificate?
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
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.