Project

Learning Progress Tracker (Java)

Challenging
502 completions
~ 41 hours
4.3

Practice loops and flow controls, functional decomposition, and SOLID principles. Learn how to process strings and leverage the JUnit testing framework to make sure that your code is error-free. Use suitable collections such as lists and maps to sort and filter data.

Provided by

JetBrains Academy JetBrains Academy

About

Online learning is gaining popularity. A good education platform can manage registrations, track learning progress, send notifications and newsletters to many users worldwide. It is a huge volume of work indeed. In this project, you will build an application that keeps track of the registered users, their learning progress, and metrics. It will also provide detailed information about each user or any category of users and the overall statistics for the entire learning platform.

Training project icon

Training project

This project allows you to practice and strengthen your coding skills, helping you get ready for more advanced tasks ahead.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Setup the core of your program: read input, detect a pre-defined set of commands, and respond accordingly.
Verify new users by checking their registration information. In this stage, your program should read information about users from the console and verify that it matches certain patterns.
Adjust your program to store the learning progress. Your program should be able to verify that the provided information has the right format and update the user records accordingly.
Output the statistics about students and courses. Teach your program to calculate and output the details about the courses based on multiple criteria.
Find out who the best students are and send personal messages to them.

Reviews

Dan Murphy avatar
Dan Murphy
8 months ago
Implementing all of the required functionality for this project was relatively easy, but I found it very challenging to come up with a good design for the classes and their interactions.
Cristian Nistor
9 months ago
I love this kind of projects. Completing this project was both challenging and rewarding, pushing me to explore several advanced Java concepts that significantly improved my programming skills. The project required a combination of problem-solving, code design, and hands-on implementation, making it ...
Tobias Hänel avatar
Tobias Hänel
9 months ago
I learned to write basic JUnit tests, used BigDecimal for statistic computation and implemented an in-memory data store (resembling a relational database).

4.3

Learners who completed this project within the Java Desktop Application Developer course rated it as follows:
Usefulness
4.5
Fun
4.2
Clarity
4.1