What you are writing is a classical school boy procedural language code. Not object oriented. Let me explain the reasoning behind this statement.
When writing oop code, you need to consider "change". Every course that you create in the future will not have the same attributes.
For example, I will share what I think your requirements will look like. Every course will undergo a phase wise maturity cycle. Some courses just need to be described enough and you will stop there. Some courses will have books associated with it, and some hyperlinks. Some courses will have images and some will have video files associated with it. Some will have been very mature and they will need complete course management, counselling, enrollment, student entry management, student performance management and finally student certificates and rewards.
If you think like a student you will create 1 class with all these attributes and you will have null's for all the fields you dont need.
If you think like a mature student you will probably create multiple classes like CourseLinksOnly, CourseImagesOnly, CourseImagesAndVideos, CourseVideosOnly.
If you think like a architect, you will model your class with real world business oriented names and features. CourseBasic, CourseOnline, CourseClassroom, CourseStarted, CourseCompleted, CourseArchived. And each of these will probably inherit from each other. But at the same time the remaining part of your code will not refer to the objects, they will refer to interfaces (contracts) instead. And I can go on.....
My advice, is to take your learning to a new level very very quickly. Think completely like a architect. A good book to start studying is Head First Design Patterns Java
. The first 3 chapters are enough to get your head straight and out of the procedural language way of thinking :).