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.

Application Engineering and Development Part 1

Application Engineering and Development Part 1


Instructors: Kal Bugrara
Instructors


Access provided by SR University
Details to know

Add to your LinkedIn profile
7 assignments
See how employees at top companies are mastering in-demand skills

There are 7 modules in this course
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.
What's included
1 video18 readings1 assignment1 app item1 discussion prompt
1 video•Total 2 minutes
- Milestone 1 Video•2 minutes
18 readings•Total 176 minutes
- Course Introduction•10 minutes
- Syllabus - Application Engineering and Development Part 1•5 minutes
- Meet Your Faculty•3 minutes
- Academic Integrity Attestation•1 minute
- Variables•15 minutes
- Data Types•10 minutes
- Data Types — Alphanumeric•10 minutes
- Data Types — Boolean•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
- Format String•10 minutes
- Control Flow and Conditions•10 minutes
- if-else•10 minutes
- Multiple ‘else if’ Statements•10 minutes
- Summary•2 minutes
1 assignment•Total 10 minutes
- Module 1 Assess Your Learning•10 minutes
1 app item•Total 45 minutes
- Understanding Application Design Principles•45 minutes
1 discussion prompt•Total 10 minutes
- Meet Your Fellow Learners!•10 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.
What's included
15 readings1 assignment1 app item
15 readings•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 assignment•Total 10 minutes
- Module 2 Assess Your Learning•10 minutes
1 app item•Total 65 minutes
- Creating a Java Swing Application•65 minutes
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.
What's included
18 readings1 assignment2 app items
18 readings•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 assignment•Total 10 minutes
- Module 3 Assess Your Learning•10 minutes
2 app items•Total 90 minutes
- Managing Multiple Objects Part I•30 minutes
- Managing Multiple Objects Part II•60 minutes
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.
What's included
9 readings1 assignment1 app item
9 readings•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 assignment•Total 10 minutes
- Module 4 Assess Your Learning•10 minutes
1 app item•Total 35 minutes
- Understanding User Interaction Models•35 minutes
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.
What's included
24 readings1 assignment4 app items
24 readings•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 assignment•Total 10 minutes
- Module 5 Assess Your Learning•10 minutes
4 app items•Total 145 minutes
- Broker Model•75 minutes
- Understanding Travel Agency Operations•30 minutes
- Understanding Election Processes•20 minutes
- Understanding Election Code•20 minutes
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.
What's included
1 video4 readings1 assignment2 app items
1 video•Total 1 minute
- Milestone 2 Video•1 minute
4 readings•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 assignment•Total 10 minutes
- Module 6 Assess Your Learning•10 minutes
2 app items•Total 40 minutes
- ProfileWorkarea Example•16 minutes
- Understanding User Profiles and Login Procedures•24 minutes
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.
What's included
2 readings1 assignment2 app items
2 readings•Total 12 minutes
- Summary•10 minutes
- Congratulations!•2 minutes
1 assignment•Total 10 minutes
- Module 7 Assess Your Learning•10 minutes
2 app items•Total 80 minutes
- Understanding the University Model•40 minutes
- Understanding the University System Structure•40 minutes
Instructors


Offered by

Offered by

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.
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Explore more from Computer Science
NNortheastern University
Course
UUniversity of Pennsylvania
Course
NNortheastern University
Course
