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. Topics include, but are 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.
This introductory module establishes the foundational knowledge necessary for effective software development by combining core programming concepts with practical design methodologies. You will explore fundamental design principles and object-oriented programming paradigms that form the backbone of modern software architecture, gaining insight into how these concepts create maintainable and scalable code. Through previewing real-world application case studies, you will see how theoretical principles translate into practical solutions across various domains and industries. The module concludes with a comprehensive review of Java programming fundamentals, ensuring all students have the essential syntax, data structures, and programming constructs needed to succeed in subsequent coursework and apply object-oriented design principles effectively in your development projects.
Inclus
1 vidéo18 lectures1 devoir1 élément d'application1 sujet de discussion
Afficher les informations sur le contenu du module
1 vidéo•Total 2 minutes
Milestone 1 Video•2 minutes
18 lectures•Total 176 minutes
Course Introduction•10 minutes
Syllabus - Application Engineering and Development Part 1•5 minutes
This module introduces students to Java programming fundamentals and object-oriented design through hands-on application development. Students will learn to create Java classes and objects, understanding how to define and work with instance variables, methods, and the differences between static and non-static elements. The module emphasizes practical GUI development, teaching students to build user interfaces with JFrames and JPanels while managing data flow between components. By the end of this module, students will have a solid grasp of the object-oriented paradigm and be able to integrate core Java concepts—including data types, control structures, and methods—to create functional Swing applications that demonstrate their understanding of both programming fundamentals and user interface design.
Inclus
15 lectures1 devoir1 élément d'application
Afficher les informations sur le contenu du module
15 lectures•Total 170 minutes
OO Programming Concepts•15 minutes
Constructors•15 minutes
Default Constructors•15 minutes
Declaring Object Reference Variables•15 minutes
Accessing Object’s Members•15 minutes
Thinking in Objects•15 minutes
Instance Variables and Methods•10 minutes
Static Variables, Constants, and Methods•10 minutes
Introduction to Program Input and Output•10 minutes
Program Input•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
Summary•5 minutes
1 devoir•Total 10 minutes
Module 2 Assess Your Learning•10 minutes
1 élément d'application•Total 65 minutes
Creating a Java Swing Application•65 minutes
Module 3: Object-Oriented Programming - Part 1
Module 3•6 heures à terminer
Détails du module
This module represents a crucial transition point in your Java programming journey, where you'll move beyond basic programming concepts to explore more sophisticated data management and visualization techniques. Building upon foundational object-oriented principles, module 3 introduces you to essential tools for organizing, storing, and manipulating collections of data while also teaching you how to model and visualize complex system relationships.
Inclus
18 lectures1 devoir2 éléments d'application
Afficher les informations sur le contenu du module
18 lectures•Total 240 minutes
UML (Unified Modeling Language) Class Diagram•10 minutes
Default Value for a 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
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
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
Summary•10 minutes
1 devoir•Total 10 minutes
Module 3 Assess Your Learning•10 minutes
2 éléments d'application•Total 90 minutes
Managing Multiple Objects Part I•30 minutes
Managing Multiple Objects Part II•60 minutes
Module 4: Object-Oriented Programming - Part 2
Module 4•3 heures à terminer
Détails du module
Building upon your foundational understanding of classes and objects, this module will take you deeper into the heart of object-oriented programming by exploring how objects interact with methods and how to think systematically about object design. You'll learn about the intricacies of passing objects to methods, understand the crucial differences between primitive and reference type handling, and further explore the principles of encapsulation and abstraction.
Inclus
9 lectures1 devoir1 élément d'application
Afficher les informations sur le contenu du module
9 lectures•Total 115 minutes
Passing Object to Methods•15 minutes
Generic Example of Passing Objects by Methods•10 minutes
Array of Objects•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
Summary•5 minutes
1 devoir•Total 10 minutes
Module 4 Assess Your Learning•10 minutes
1 élément d'application•Total 35 minutes
Understanding User Interaction Models•35 minutes
Module 5: Inheritance and Polymorphism
Module 5•9 heures à terminer
Détails du module
In this module we will focus on inheritance, polymorphism, and access modifiers. You'll discover how to create robust class hierarchies using superclasses and subclasses, master the intricacies of constructor chaining, and learn to leverage polymorphism for flexible and maintainable code. Additionally, you'll explore essential Java collections through the ArrayList class and understand how different access modifiers control the visibility and accessibility of your code components. By the end of this module, you'll have a solid foundation in these core OOP concepts that are essential for building sophisticated Java applications.
Inclus
24 lectures1 devoir4 éléments d'application
Afficher les informations sur le contenu du module
24 lectures•Total 385 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
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
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
Summary•5 minutes
1 devoir•Total 10 minutes
Module 5 Assess Your Learning•10 minutes
4 éléments d'application•Total 145 minutes
Broker Model•75 minutes
Understanding Travel Agency Operations•30 minutes
Understanding Election Processes•20 minutes
Understanding Election Code•20 minutes
Module 6: Exploring Abstract Classes
Module 6•1 heure à terminer
Détails du module
Welcome to Module 6, where you'll dive into abstract classes. In this module, you'll discover how abstract classes serve as blueprints for creating well-structured class hierarchies while enforcing specific implementation requirements in subclasses. Through a deep exploration of abstract methods, instantiation rules, and real-world examples like the Calendar and GregorianCalendar classes, you'll gain a solid understanding of when and how to effectively use abstract classes in your Java applications. This foundational knowledge will enhance your ability to design robust, maintainable code that follows proper object-oriented principles.
Inclus
1 vidéo4 lectures1 devoir2 éléments d'application
Afficher les informations sur le contenu du module
1 vidéo•Total 1 minute
Milestone 2 Video•1 minute
4 lectures•Total 35 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
Summary•5 minutes
1 devoir•Total 10 minutes
Module 6 Assess Your Learning•10 minutes
2 éléments d'application•Total 40 minutes
ProfileWorkarea Example•16 minutes
Understanding User Profiles and Login Procedures•24 minutes
Module 7: The University Model
Module 7•2 heures à terminer
Détails du module
In this module, you'll step into the role of a software architect designing a comprehensive digital university system that manages students, courses, faculty, and administrative processes. You'll begin by understanding how complex software systems are architected, then apply object-oriented principles to model real-world entities and their relationships using appropriate data structures. As you build this system, you'll learn to delegate responsibilities effectively across components and develop systematic approaches for tracing and debugging complex system execution.
Inclus
2 lectures1 devoir2 éléments d'application
Afficher les informations sur le contenu du module
2 lectures•Total 12 minutes
Summary•10 minutes
Congratulations!•2 minutes
1 devoir•Total 10 minutes
Module 7 Assess Your Learning•10 minutes
2 éléments d'application•Total 80 minutes
Understanding the University Model•40 minutes
Understanding the University System Structure•40 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.