Online Course – Certified Professional Internship in Java Programming and Software Engineering from Duke University

Discover a career as a software engineer. Learn the fundamentals of programming and software development.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

Beginners

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

  • Basic knowledge of the Hebrew language
  • Understanding Hebrew syntax
  • Reading and writing in Hebrew
  • Hebrew vocabulary
  • Hebrew language speaking skills
  • Understanding Hebrew texts
  • Translations and understanding Hebrew dialects
  • Hearing and response abilities in the Hebrew language
  • Understanding Israeli culture

What you will learn in the course

Courses for which the course is suitable

  • Software developer
  • Software Engineer
  • Android app developer
  • Website developer
  • Data Analyst
  • Animation software developer
  • Algorithm developer

Internship – 5-part course series

Take the first step towards a career in software development with an introduction to Java, one of the most popular languages ​​on the market and the foundation of the Android operating system. This specialization is designed for beginners and will teach you the fundamental concepts of programming, equipping you with the ability to write programs to solve complex problems. In addition, you will develop the fundamental skills a software engineer needs to solve real-world problems, from designing algorithms to testing and debugging programs.

Tangible Learning Project

With a focus on projects, this internship will help you create a portfolio that showcases your new programming skills. In the final project, you will build a recommendation engine similar to those used by Netflix or Amazon. Another project in your portfolio will include:

  • An interactive web page that applies filters to images
  • Analyze CSV data files
  • Animation software
  • and generates predictive text

Details of the courses that make up the specialization

Programming basics with JavaScript, HTML, and CSS

Course 1 • 33 hours • 4.6 (14,687 ratings)

Course Details
What you’ll learn
  • Learn basic programming concepts (such as functions, for loops, conditional statements) and how to solve problems like a programmer.
  • Building web pages using HTML, CSS and JavaScript.
  • At the end of the course, you will create a web page where others can upload photos and apply filter apps to the photos you create.
After completing the course, you will be able to:
  • Think critically about how to solve a problem using programming;
  • Write JavaScript programs using functions, for loops, and conditional statements;
  • Use HTML to build a web page with paragraphs, divs, images, links, and lists;
  • Add styles to a web page using CSS IDs and categories;
  • Make a web page interactive with JavaScript commands like alert, onClick, onChange, and add input features like image canvas, button, and slider.
Skills you will acquire
  • Category: Algorithms
  • Category: Troubleshooting
  • Category: String (Computer Science)
  • Category: Java Programming

Java Programming: Solving Problems Using Software

Course 2 • 17 hours • 4.6 (7,936 ratings)

Course Details
What you’ll learn
  • Learn to program in Java and improve your programming and problem-solving skills.
  • You will learn to design algorithms as well as develop and debug programs.
  • At the end of the course, you will build software that will analyze the popularity of various baby names in the US over time by analyzing CSV files.
After completing the course you will be able to:
  • Edit, compile, and run a Java program;
  • Use conditional statements and loops in a Java program;
  • Use Java API documentation when writing programs;
  • Debug a Java program using the scientific method;
  • Write a method in Java to solve a specific problem;
  • Develop a set of test cases as part of software development;
  • Create a class with several methods that work together to solve a problem;
  • Use distributed and so-called design techniques for software that uses multiple methods.
Skills you will acquire
  • Category: Data Structure
  • Category: Interfaces
  • Category: Software Design
  • Category: Java Programming

Java Programming: Arrays, Lists, and Structured Data

Course 3 • 14 hours • 4.7 (3,162 ratings)

Course Details
What you’ll learn
  • Build on the software engineering skills you learned in “Java Programming: Solving Problems with Software” by learning new data structures.
  • At the end of the course, you will write an encryption program and a program that will break your encryption algorithm.
After completing the course you will be able to:
  • Read and write data from files;
  • Resolve problems related to data files;
  • Perform quantitative analyses of data (such as finding maximums, minimums, and averages);
  • Store and manage data in an array or ArrayList;
  • Integrate multiple departments to solve larger problems;
  • Use iterables and collections (including maps) in Java.
Skills you will acquire
  • Category: HTML
  • Category: Html5
  • Category: JavaScript
  • Category: Cascading Style Sheets (CSS)

Java Programming: Software Design Principles

Course 4 • 12 hours • 4.6 (1,480 ratings)

Course Details
What you’ll learn
  • Solve real-world problems with Java using multiple classes.
  • At the end of the course, you will write software that will analyze and sort earthquake data, and develop a predictive text generator.
After completing the course you will be able to:
  • Use sorting correctly in problem solving;
  • Develop classes that implement the Comparable interface;
  • Use time data to analyze empirical performance;
  • Divide problems into several classes, each with its own methods;
  • Determine whether a class from the Java API can be used to solve a particular problem;
  • Recognize the limitations of Java algorithms and programs in problem solving;
  • Familiarize yourself with standard Java classes and idioms including error handling, static methods, java.net, and java.io.
Skills you will acquire
  • Category: Programming Principles
  • Category: Interfaces
  • Category: Software Design
  • Category: Java Programming

Java Programming: Building a Recommendation System

Course 5 • 4 hours • 4.7 (639 ratings)

Course Details
What you’ll learn
  • Have you ever wondered how Netflix decides which movies to recommend to you? Or how Amazon recommends books?
  • We can understand how this works by building our own simple recommendation system!
  • At the end of the course, you will write software that answers questions about the data, including which items to recommend to a user based on their ratings of several movies.
After completing the course you will be able to:
  • Read and lay out data into lists and maps;
  • Calculate average ratings;
  • Calculate how similar a particular user’s rating is to another user based on ratings;
  • Recommend movies to a given user based on ratings;
  • Display recommended movies for a specific user on a web page.
Skills you will acquire
  • Category: Data Structure
  • Category: Cryptography
  • Category: Hash table
  • Category: Java Programming