Java Programming and Software Engineering Fundamentals Specialization

Starts Nov 16

Java Programming and Software Engineering Fundamentals Specialization

Explore a Career as a Software Engineer. Learn the basics of programming and software development

About This Specialization

Take your first step towards a career in software development with this introduction to Java—one of the most in-demand programming languages and the foundation of the Android operating system. Designed for beginners, this Specialization will teach you core programming concepts and equip you to write programs to solve complex problems. In addition, you will gain the foundational skills a software engineer needs to solve real-world problems, from designing algorithms to testing and debugging your programs.

Created by:

5 courses

Follow the suggested order or choose your own.


Designed to help you practice and apply the skills you learn.


Highlight your new skills on your resume or LinkedIn.

Projects Overview

Beginner Specialization.
No prior experience required.
  1. COURSE 1

    Programming Foundations with JavaScript, HTML and CSS

    4 weeks of study, 3-7 hours/week
    English, Serbian

    About the Course

    Learn foundational programming concepts (e.g., functions, for loops, conditional statements) and how to solve problems like a programmer. In addition, learn basic web development as you build web pages using HTML, CSS, JavaScript. By the en
  2. COURSE 2

    Java Programming: Solving Problems with Software

    4 weeks of study, 4-8 hours/week
    English, Turkish

    About the Course

    Learn to code in Java and improve your programming and problem-solving skills. You will learn to design algorithms as well as develop and debug programs. Using custom open-source classes, you will write programs that access and transform images, w
  3. COURSE 3

    Java Programming: Arrays, Lists, and Structured Data

    4 weeks of study, 4-8 hours/week
    English, Korean

    About the Course

    Build on the software engineering skills you learned in “Java Programming: Solving Problems with Software” by learning new data structures. Use these data structures to build more complex programs that use Java’s object-oriented features. At the en
  4. COURSE 4

    Java Programming: Principles of Software Design

    4 weeks of study, 4-8 hours/week
    English, Korean

    About the Course

    Solve real world problems with Java using multiple classes. Learn how to create programming solutions that scale using Java interfaces. Recognize that software engineering is more than writing code - it also involves logical thinking and de
  5. COURSE 5

    Java Programming: Build a Recommendation System

    Current session: Nov 5
    4 weeks of study, 3-6 hours/week

    About the Capstone Project

    Ever wonder how Netflix decides what movies to recommend for you? Or how Amazon recommends books? We can get a feel for how it works by building a simplified recommender of our own! In this capstone, you will show off your problem sol


  • Duke University

    Duke University is consistently ranked as both a top undergraduate and research institution, with world class faculty at all levels in undergraduate, graduate, and professional schools.

    Duke University has about 13,000 undergraduate and graduate students and a world-class faculty helping to expand the frontiers of knowledge. The university has a strong commitment to applying knowledge in service to society, both near its North Carolina campus and around the world.

  • Andrew D. Hilton

    Andrew D. Hilton

    Associate Professor of the Practice
  • Robert Duvall

    Robert Duvall

  • Susan H. Rodger

    Susan H. Rodger

    Professor of the Practice
  • Owen Astrachan

    Owen Astrachan

    Professor of the Practice