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.
Inclus
6 vidéos52 lectures1 devoir2 sujets de discussion
Afficher les informations sur le contenu du module
6 vidéos•Total 42 minutes
What Makes Up a Computer?•6 minutes
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 lectures•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 devoir•Total 30 minutes
Module Quiz - Fundamentals of Programming•30 minutes
2 sujets de discussion•Total 40 minutes
Meet Your Fellow Learners•10 minutes
Introductory Java•30 minutes
Object-Oriented Programming
Module 2•12 heures à terminer
Détails du module
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.
Inclus
5 vidéos40 lectures2 devoirs1 sujet de discussion
Afficher les informations sur le contenu du module
5 vidéos•Total 38 minutes
The this Reference•4 minutes
Wrapper Classes•9 minutes
The String Class•10 minutes
The StringBuilder and StringBuffer Classes•6 minutes
Superclasses and Subclasses•8 minutes
40 lectures•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 devoirs•Total 60 minutes
Module Quiz - Basics of Object-Oriented Programming Part 2•30 minutes
Module Quiz - Fundamentals of Programming Part 2•30 minutes
1 sujet de discussion•Total 30 minutes
Object-Oriented Programming•30 minutes
UX and OOP
Module 3•8 heures à terminer
Détails du module
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.
Inclus
4 vidéos39 lectures2 devoirs1 sujet de discussion
Afficher les informations sur le contenu du module
4 vidéos•Total 15 minutes
Environment Setup for JavaFX in Eclipse•8 minutes
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 lectures•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 devoirs•Total 60 minutes
Module Quiz - Basics of GUI programming in Java•30 minutes
Module Quiz - Basics of Abstract Classes and Interfaces•30 minutes
1 sujet de discussion•Total 30 minutes
UX Design•30 minutes
Advanced Concepts in Java
Module 4•11 heures à terminer
Détails du module
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.
Inclus
9 vidéos49 lectures5 devoirs1 sujet de discussion
Afficher les informations sur le contenu du module
9 vidéos•Total 28 minutes
Procedural vs. Event-Driven Programming•2 minutes
Events•3 minutes
Overview of Generics•4 minutes
Declaring Generic Classes and Interfaces•4 minutes
Computing Factorials•5 minutes
Java Collections Hierarchy Framework•3 minutes
The List and ListIterator Interfaces•2 minutes
ArrayList and LinkedList Classes•3 minutes
Vector and Stack•3 minutes
49 lectures•Total 442 minutes
Event-Driven Programming•10 minutes
Taste of Event-Driven Programming•10 minutes
Handling GUI Events•10 minutes
Selected User Actions and Handlers•10 minutes
Registering Handlers, Handling Events, and The Delegation Model•10 minutes
[OPTIONAL] Exercise: Creating a JavaFX application with a response for user’s action•10 minutes
(Handler) class, Inner Class, and Anonymous Inner Class•10 minutes
Listener (Handler) Class•10 minutes
Inner Classes•10 minutes
Anonymous Inner Classes•10 minutes
Simplifying Event Handling Using Lambda Expressions•10 minutes
Single Abstract Method Interface (SAM)•10 minutes
The MouseEvent Class•10 minutes
The KeyEvent Class•10 minutes
The KeyCode Constants•10 minutes
[OPTIONAL] Exercise: Creating a JavaFX Program(MyKeyEvent)•10 minutes
Overview of Event-Driven Programming with Scene Builder•10 minutes
The Pros and Cons of Screen Builder•10 minutes
Creating Interactive JavaFX Applications With Scene Builder•10 minutes
[OPTIONAL] Exercise: Creating a Java Application With an Interaction•10 minutes
Getting and Fixing the Warning in Generics•10 minutes
Exercise: Generics•10 minutes
What is Generics? Why Generics?•10 minutes
No Casting Needed•10 minutes
Generic Methods•5 minutes
[OPTIONAL] Exercise: Generic Methods•10 minutes
Example — Generic Class•10 minutes
Bounded Generic Type•10 minutes
Raw Type and Backward Compatibility•10 minutes
Wildcards•10 minutes
Generic Types and Wildcard Types•10 minutes
Introduction to Erasure and Restrictions on Generics•10 minutes
Exercise: Generic Array•10 minutes
Trace Recursive Factorial•5 minutes
Fibonacci Numbers•10 minutes
Characteristics of Recursion•5 minutes
Data Structures•5 minutes
Collections•10 minutes
The Collection Interface•10 minutes
Iterators•5 minutes
Notes for Iterator•5 minutes
The List Interface•10 minutes
UML Class Diagrams of Java.util.ArrayList and Java.util.LinkedList•10 minutes
The Comparator Interface•10 minutes
Example of Using the Comparator Interface•10 minutes
Queues and Priority Queues•10 minutes
The Queue Interface and PriorityQueue Class•10 minutes
Module Summary•1 minute
Congratulations•1 minute
5 devoirs•Total 150 minutes
Module Quiz - Event-Driven Programming•30 minutes
Module Quiz - Generics•30 minutes
Module Quiz - Recursion•30 minutes
Module Quiz - Collections and Iterators•30 minutes
Module Quiz - Lists, Stacks, and Queues•30 minutes
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.
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Felipe M.
Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’
Jennifer J.
Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’
Larry W.
Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’
Chaitanya A.
’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’
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.