Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

University of Pennsylvania

Software Development Fundamentals

University of Pennsylvania via edX

This course may be unavailable.


Software developers are in high demand in the current job market, and computer programming is a prerequisite skill for success in this field.

Start your journey toward becoming a professional software developer by learning Java, one of the industry’s most commonly used programming languages.

This course, part of the CS Essentials for Software Development Professional Certificate program, will quickly cover Java syntax and keywords and then explore features of object-oriented programming including encapsulation, inheritance, and polymorphism. You will learn how to apply these concepts to programmatic problem solving by investigating class modeling techniques and relationships such as aggregation, realization, and generalization.

In addition to programming, you will learn about software testing techniques that help us find problems in our code, and you will use modern development environments and tools for tasks like debugging and unit testing. We will introduce Eclipse, the eclipse debugger and Junit (a unit testing framework).

After completing this course, you will be able to design, develop, and test large applications in Java and understand and apply core principles of professional software development.


Week 1: Java basics.

Week 2: Testing and Debugging.

Week 3: Collections. Object Oriented Design.

Week 4: Polymorphism - Interfaces, Inheritance, Overloading, Overriding.

Taught by

Arvind Bhusnurmath


3.0 rating, based on 2 Class Central reviews

Start your review of Software Development Fundamentals

  • Profile image for Borin Srun
    Borin Srun
    The instructor doesn't how to present the theme of the topics in a clear concise way. It is unenjoyable to hear 80% of the lectures are his repetitive unstructured explanations.
  • This course is not for absolute beginners . You need to have basic knowledge of java like access modifiers, arraylist, constructor , static method etc . But teaching style can be improved in this course . Better to take CS50, MITx CS course on edx before this course . This course does not have a project .

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.