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

Independent

Java Programming

University of Helsinki via Independent

Overview

Welcome to the University of Helsinki’s free massive open online course (MOOC) on programming! This is an updated version of our popular course Object-Oriented Programming with Java.

During this course, you will learn the basics of computer programming, along with algorithms and object-oriented programming through the Java programming language. The course includes comprehensive materials and plenty of programming exercises - all of which are tested using our automatic testing service Test My Code.

Anyone can join - no previous programming knowledge is required.

Unlike many programming courses found online, ours is completely unabridged; the course’s scope and material are identical to our CS1 Introduction to Programming and Advanced Programming courses.

This is the first course in our computer science learning track, and we use industry-grade tooling from day one. As such, the course is about programming in a real integrated development environment (IDE) instead of a browser or an educational IDE.

The course does not require separate registration. You can simply dive into the first part of the course found over here.

Course Contents

The course is split up into two individual courses: Java Programming I and Java Programming II. Each course consists of seven parts, each with its own exercise set. Completing a single part takes approximately 5-20 hours, and we recommend reserving at least 10 hours per part, depending on prior skills with computers.

Credits and certificate

No more exams will be held on this course. If you have a Finnish social security number and wish to complete Introduction to Programming and the Advanced Course in Programming for credits, see Python Programming MOOC.
You can get a certificate for each course (Java Programming I & Java Programming II seperately) from here: https://www.mooc.fi/en/profile/completions.

Syllabus

  • Java Programming I
    • Part 1: Welcome to learning programming! The first part of the course focuses on taking the plunge with programming and getting familiar with all the required tools.
    • Part 2: The second part of the material focuses on repetition in programs and on how to divide functionality into distinct units.
    • Part 3: The main themes in the third part of the course are adding information to list and array data structures, and handling information in string form.
    • Part 4: The main theme of the fourth part is object-oriented programming. You will learn to read data from files and to represent and handle information with the help of objects.
    • Part 5: The fifth part of the course material continues with object-oriented programming, which was introduced in the fourth part.
    • Part 6: The sixth part of the course material handles objects consisting of objects, and we'll take a look at separating the text user interface and the program logic.
    • Part 7: In the seventh part of the course we'll focus on general programming paradigms and algorithms. The course Introduction to programming (TKT-10002) ends after the seventh week, and the Advanced course in programming (TKT-10003) begins with the eight part.
  • Java Programming II
    • Part 8
    • Part 9: The ninth part of the course material focuses on two essential concepts of object oriented programming, namely inheritance and interfaces. You will learn to create classes that inherit another classes, and also classes that implement one or more interfaces. You are also going to notice that an object can be represented by any of its actual types.
    • Part 10: In the tenth part of the course we introduce handling collections with streams. You'll learn how to create a stream from a collection, filter the values of a stream, transform the values of a stream, and collect values of a stream to another collection. We introduce the concept lambda expression, and you'll learn to use it in your programs. You will also learn how to order objects using the Java Comparable interface, and some other useful techniques like regular expressions, enumerate type and iterator.
    • Part 11: In the eleventh part you'll learn to decypher simple class diagrams. You'll become familiar with packages in Java and learn what the different parts of an import statement mean. You'll practise using exceptions in Java: how to throw and handle them. You'll take another look at reading data from a file, and learn to write data to a file.
    • Part 12: In the twelfth part of the course we will introduce type parameters and you will learn what ArrayList<String>; actually means. You will learn to implement classes that use type parameters. You will get to understand how ArrayList and HashMap are implemented, and you will implement your own versions as well. You will learn how to create random numbers, and practice using some Java tools to create random numbers. You will learn how multidimensional data can be presented, and how to use multidimensional arrays.
    • Part 13: The thirteenth part of the course material introduces the topics of creating graphical user interfaces and the kinds of components that are used in them. You will learn to handle different events that occur in graphical user interfaces, and practise creating applications that contain multiple views.
    • Part 14: In the fourteenth part you will learn methods for data visualization and acquaint yourself with Java's existing charts (line chart, bar chart). You will learn to make simple drawings and take a look at image processing. You will also learn to play audio files. Finally, there is a slightly larger program — the Asteroids game — that you will create by following an example.

Taught by

Agile Education Research

Reviews

4.6 rating, based on 9 Class Central reviews

Start your review of Java Programming

  • Profile image for Abhishek Chourasia
    Abhishek Chourasia
    I recently took a Java course and was thoroughly impressed with the quality of the content and instruction. The course was well-structured and covered everything from the basics of Java syntax to more advanced topics like object-oriented programming and data structures.

    The instructor was knowledgeable and engaging, making the material easy to follow and understand. The course also provided hands-on exercises and projects that helped solidify my understanding of the concepts.

    Overall, I highly recommend this Java course to anyone looking to learn the language or improve their skills. It's an excellent resource for both beginners and experienced developers alike.
  • Profile image for Ganesh J
    Ganesh J
    I would rate the Java Programming course by the University of Helsinki via Independent as 5 stars. This course offers a comprehensive and well-structured approach to learning Java, suitable for beginners and experienced programmers alike. The practical exercises and projects helped me grasp the concepts effectively. The clear explanations and supportive community made the learning experience enjoyable. Overall, I highly recommend this course to anyone looking to learn Java programming in-depth. Thank you to the University of Helsinki and the instructors for offering such a valuable course!
  • Profile image for THIRUMURUGAN S
    THIRUMURUGAN S
    I would rate the Java Programming course by the University of Helsinki via Independent as 5 stars. This course offers a comprehensive and well-structured approach to learning Java, suitable for beginners and experienced programmers alike. The practical exercises and projects helped me grasp the concepts effectively. The clear explanations and supportive community made the learning experience enjoyable. Overall, I highly recommend this course to anyone looking to learn Java programming in-depth. Thank you to the University of Helsinki and the instructors for offering such a valuable course!
  • Profile image for Kartik Sharma
    Kartik Sharma
    this is one of best course i have ever seen. thanks for this course, its very useful for i have learnt a lot from it.
  • Profile image for Jawad Khan
    Jawad Khan
    This is one of the best course I have seen it.
    Thanks for this course & Thanks class central also its very helpful website
  • Profile image for Yugandhar Borase
    Yugandhar Borase
    The instructor was knowledgeable and engaging, making the material easy to follow and understand. The course also provided hands-on exercises and projects that helped solidify my understanding of the concepts.

    Overall, I highly recommend this Java course to anyone looking to learn the language or improve their skills. It's an excellent resource for both beginners and experienced developers alike.
  • Rahul Kumar
    The course was very well organized and structured, with the perfect balance between theory and practical exercises. The lectures were engaging and informative, with clear and concise explanations of Java programming concepts. The instructor was extremely knowledgeable, patient, and always willing to help with any questions or concerns that arose during the course.
  • ARIMUTTU VENKATA KRISHNA
    It's a very great experience
    It's a very great experience
    It's a very great experience
    It's a very great experience
    It's a very great experience
    It's a very great experience

    It's a very great experience
    It's a very great experience
    It's a very great experience
    It's a very great experience
    It's a very great experience
    It's a very great experience
  • Profile image for Jangam Neelima
    Jangam Neelima
    it was nice experience to learn java programing course ..
    nice assigning programs. this course for beginners and they are easily understood.
    i like this course.
    and they are providing free certificate.

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.