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

Study Partner and/or Mentor

18th July, 2020
Last date to join: 31st July, 2020

Hey everyone! So I just started learning programming a few months ago. I did a little bit of CS50, have read a little bit of HF Java and now I am working through MOOC Helsinki program. I want to really nail down one language(java) and go from there. I would like to start a career sometime by the end of this year/early next year... I am looking for a study buddy(or a group) of people kinda in my same boat. Learning java, working through MOOC, learning some front end with freecodecamp etc... I would like to make some projects this summer and would love some feedback while doing it. Also to keep each other motivated and check in on each other to see we are getting after it would be great! And I would really love to be able to help others as when you teach something you get a different perspective and it makes more sense! Also being in/around the Philadelphia area would be a HUGE plus!) Thank you!

UTC−04.00 Novice English

Description

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.

Java Programming

Start Learning
Online Courses

Independent

Free

7-14 weeks, 5-10 hours a week

Beginner

Free Certificate

Study Partner and/or Mentor

18th July, 2020
Last date to join: 31st July, 2020
Start Learning
Affiliate notice

Hey everyone! So I just started learning programming a few months ago. I did a little bit of CS50, have read a little bit of HF Java and now I am working through MOOC Helsinki program. I want to really nail down one language(java) and go from there. I would like to start a career sometime by the end of this year/early next year... I am looking for a study buddy(or a group) of people kinda in my same boat. Learning java, working through MOOC, learning some front end with freecodecamp etc... I would like to make some projects this summer and would love some feedback while doing it. Also to keep each other motivated and check in on each other to see we are getting after it would be great! And I would really love to be able to help others as when you teach something you get a different perspective and it makes more sense! Also being in/around the Philadelphia area would be a HUGE plus!) Thank you!

UTC−04.00 Novice English

  • Type
    Online Courses
  • Provider
    Independent
  • Pricing
    Free
  • Duration
    7-14 weeks, 5-10 hours a week
  • Difficulty
    Beginner
  • Certificate
    Free Certificate

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.

  • 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.

Learning is better with Cohorts

Active hands-on learning
Build assignments each week

Feedback loop
Submit your assignment, and receive feedback from your peers. Stuck on a problem?

Learn with a cohort of peers
Join a group of like-minded people who want to learn and grow alongside you

Frequently asked questions

Yes. Our study groups (all of them) are free to join

You join the group and study the MOOC together on a schedule. The exact dates, deadlines, are created by the host

This depends on the host of your group. Some groups have weekly video calls for accountability + doubt solving.

Moocable is a community where you can find study partners, mentors, or people to collaborate on projects. It's designed for people who want to upskill, but struggle with self-learning. Users often post about their skills, goals, and what they're looking to learn or work on, and others can respond to form partnerships or groups. You can join our community

31st July, 2020