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.
Syllabus 7
Module 1: Fundamentals of Programming — Part 1 4 hours
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…
Module 2: Fundamentals of Programming — Part 2 4 hours
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…
Module 3: Object-Oriented Programming - Part 1 5.5 hours
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 essen…
Module 4: Object-Oriented Programming - Part 2 2.5 hours
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 obje…
Module 5: Inheritance and Polymorphism 9 hours
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. Additiona…
Module 6: Exploring Abstract Classes 1.5 hours
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, i…
Module 7: The University Model 1.5 hours
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 princip…
Advantages and disadvantages
Advantages
Structured courses with graded quizzes, assignments and deadlines you can reset.
A shareable certificate from the university or company when you pay.
Financial aid is often approved for students in India (apply 15 days before you need it).
Self-paced: start any time.
A clear syllabus (7 parts) you can see before you start.
Hands-on: you build or practise, not just watch.
Disadvantages
Paid after a 7-day free trial (Coursera Plus or per course).
Some courses can be audited for free, but graded work and certificates need payment.
Some points apply to every course of this kind; see how we rank.
This course is paid. Here is how to take it for free
Free trials: You can start a 7-day free trial for many individual courses, Specializations, or a Coursera Plus subscription to test full course features. Cancel before the seventh day if you do not want to be charged.
Financial aid: If you cannot afford the fee for a certificate, you can apply for financial aid through the link on the course home page by filling out an application about your background and goals.
Instructor: Dennis Freeman, Kendra Pugh This course provides an integrated introduction to electrical engineering and computer science, including modern software engineering, linear systems analysis, electronic circuits, and decision-making. The lecture videos provide an overview of each topic, whi…