Online Course – Certified Professional Internship in Object-Oriented Programming in Java from Google and the University of California, San Diego

Discover how to develop your portfolio as a software engineer. Learn about object-oriented design in project-based courses.

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

  • Communication skills
  • Understanding texts
  • Writing skills
  • Troubleshooting
  • Critical thinking
  • Teamwork
  • Time management
  • professionalism
  • Technological skills
  • Independent learning ability

What you will learn in the course

Courses for which the course is suitable

  • Software developer
  • Software Engineer
  • Java Application Developer
  • Graphical User Interface Developer
  • Data Analyst
  • Data Solutions Developer
  • Information Systems Developer
  • Object-oriented software developer

Internship – 4-part course series

This internship is designed for aspiring software programmers with programming experience in at least one language (such as Python, C, JavaScript, etc.) who are interested in learning how to solve more complex problems using object-oriented design in the Java language. In addition to learning Java, you will gain experience with two Java development environments (BlueJ and Eclipse), learn how to program graphical user interfaces, and learn how to design programs that can manage large amounts of data. These software engineering skills are relevant to a wide range of industries.

Hands-on Learning Project

In this internship, you will demonstrate your new skills in Java and object-oriented programming design by developing four Java applications:

  • Analyze CSV data files
  • Encryption program
  • Interactive map for displaying geospatial data
  • A program that will allow users to manage, manipulate, and analyze large amounts of textual data

Details of the courses that make up the specialization

Java Programming: Solving Problems with Software

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

Course Details

What will you learn?
  • Learn to program in Java and improve your programming and problem-solving skills.
  • You will learn to design algorithms, develop and debug programs.
  • Using customized open source classes, you will write programs that can access and convert images, websites, and other types of data.
  • At the end of the course, you will build software that categorizes the popularity of various baby names in the US over time by analyzing comma-separated values ​​(CSV) files.
After completing the course you will be able to:
  • Edit, compile, and run a Java program;
  • Use conditions and loops in a Java program;
  • Use the Java API documentation when writing programs;
  • Fix 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 program development;
  • Create a class with several methods that work together to solve a problem;
  • Use divide-and-conquer design techniques for a program that uses multiple methods.
Skills you will acquire
  • Category: Algorithms
  • Category: Troubleshooting
  • Category: Strings (Computer Science)
  • Category: Java Programming

Java Programming: Arrays, Lists, and Structured Data

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

Course Details

What will you learn?
  • Expand the software engineering skills you learned in the course “Programming in Java: 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 end of the course, you will write an encryption program and a program to break your encryption.
After completing this course you will be able to:
  • Read and write data from a file;
  • Resolve problems related to data files;
  • Perform quantitative analyses of data (e.g., find maxima, minima, averages);
  • Store and manipulate data in an array or ArrayList;
  • Combine multiple departments to solve larger problems;
  • Use recursive structures and collections (including maps) in Java.
Skills you will acquire
  • Category: Data Structure
  • Category: Cryptography
  • Category: Scatter table
  • Category: Java Programming

Object-oriented programming in Java

  • Course 3
  • 39 hours
  • 4.7 (5,750 ratings)

Course Details

What will you learn?
  • Welcome to our course on object-oriented programming in Java using data visualization.
  • People come to this course with different goals – and we are very excited to work with each of you!
  • Some of you want to become professional developers, others want to improve your programming skills to implement the personal project you are thinking about.
  • This is an intermediate Java course. We recommend this course for learners who have prior experience in software development or a background in computer science.
  • Our goal is that at the end of this course each of you will feel empowered to create a Java program that is more advanced than anything you have created before.
  • In the course of achieving this goal, you will also learn the basics of object-oriented programming, how to leverage the power of existing libraries, how to build graphical user interfaces, and how to use some basic algorithms for searching and sorting data.
  • And this course is project-based, so let’s dive right into the project!
Skills you will acquire
  • Category: Logic Programming
  • Category: Java Programming
  • Category: Object-Oriented Programming (OOP)
  • Category: Sorting algorithm

Data structures and performance

  • Course 4
  • 41 hours
  • 4.8 (2,221 ratings)

Course Details

What will you learn?
  • How do Java programs deal with large amounts of data?
  • Many of the data structures and algorithms that work with toy examples fail when applications process large, real-world data sets.
  • Efficiency is critical, but how do you achieve it, and how do you even measure it?
  • This is an intermediate Java course. We recommend this course for learners who have prior experience in software development or a background in computer science.
  • In this course, you will use and analyze data structures used in industrial-level applications, such as linked lists, trees, and scatter tables.
  • Explain how these data structures make programs more efficient and flexible.
  • Big-O asymptotic analysis will be applied to describe the performance of the algorithms.
  • The program that will be built during this course will allow the user to manage, influence, and draw conclusions from large sets of textual data.
Skills you will acquire
  • Category: Trees (data structures)
  • Category: Data Structure
  • Category: Linked list
  • Category: Binary tree