Educative's Take on PBL
Learn how Educative used PBL to facilitate the learners.
PBL is a pedagogical school of thought that has been used in traditional schools. Many aspects of PBL are designed for a common classroom environment. Educative on the other hand is an online learning platform, teaching exclusively Computer Science and Information Technology courses.
Project lighthouse
It is advised that an author creating the projects should keep some fundamental concepts of PBL in mind, although it is clear that not all the principles of PBL will be applicable here. Still following are the steps that can help you create a project on Educative’s platform.
Find Real Life Problem
The first step is to find a problem in real life that you have solved or you think you can solve using the tools you have a command on. In our context, the scope of problems is limited to information technology problems. After selecting the problem you should write its solution. After writing the code to solve that problem you will divide it into smaller steps, and then write some other details of the project. More on this comes later.
While choosing a problem you should think about the following factors
Resource limitation
The first thing you should ask yourself is, is the problem solvable in Educative’s framework? There is a limitation on computing resources. Currently, we are allowing 7.5 GB of memory with 2 CPU cores over the cloud. Anything that is solvable within resources is a good pick. Secondly, Educative promotes CLI-based access to external resources. GUI-based access to external access should not be included in a project. Any resource that is exclusively useable outside of Educative’s platform cannot be used, for example, Google collab or AWS Sagemaker.
Project modularity
You should select a project that when you divide it into steps, then it is easy for you to create relatively independent subproblems that can be addressed separately using a category or a single step. As you will see in the next lessons, a category is a collection of similar steps.
Project length
The length of the solution you devised should be adequate. It should not be too long that a student becomes bored or an average learner just cannot solve it within 40 minutes. You should keep in mind that the workspace widget that is extensively used in the projects will retain its state for a maximum of 60 minutes.
The project should be too easy that is not challenging enough for a learner, or it is too short that you cannot divide it into more than 2 or 3 steps. If its length is too short, then probably you should consider writing an Edpresson shot for it.
Licensing issues
You should be very careful while using the codes written by other authors in your solution. Any project that uses proprietary code or proprietary software is not a good fit for Educative’s framework.
Divide the solution
The next step while creating the project is to divide your solution into independent ordered steps. In the next lessons, you can see how much space will you have when describing a step. You should divide the solution into small enough steps that the description fits appropriately in that space.
Try to write different concepts you are sharing in a project and create a separate step for each concept. For example, a website development project will have GUI design and development, backend design and development, and database design and development. You might want to divide it according to the Modal View Controller (MVC) architecture.
Rearrange the steps
Once you have divided the solution into smaller steps, you have to arrange them such that a learner does not need to go back and forth to implement a module. The steps should be ordered in a way that is intuitive.
If your solution contains multiple files, then it is best to visit one file once, but that is not possible in some cases. In such situations, you should visit each concept in a separate category and visit each file related to that concept in one step. Try to avoid revisiting the concepts over and over. If you are suggesting improvements in your own project, then create a separate project for that, rather than revisiting the same concept multiple times.
Write the title and description
After completing the project you should write down the title and description of the project. This is the most important part of your project. Here is your chance to advertise your project for a new learner. The description should be short, succinct, and catchy. Try to add stats showing the importance of the technologies you are demonstrating in your project. Try to establish the importance of the solution you are developing and the prospective outcomes if the learner learns that technique.
Albeit, the description cannot be an essay. It should not have more than 400 words. Instead of words, you should rely more on the diagram and stats related to the project and the technologies used in it.
Write relevant information
If you want the learner to go to some specific courses or to some other projects or any other resources, then write it down. Educative will incorporate that information at appropriate places.
Write test case
Shortly we will see that Educative has two main types of projects.
- Guided projects
- Unguided projects
For unguided projects, you must write down a test case for each step. Executing that test case should verify that the learner has written the code to adequately fulfill the requirements written in the respective step.
For guided projects, you can write the text case in the end for the complete project. This is essential to give the user feedback about their solution.
Types of projects
There are two main categories of projects on the Educative’s platform. The difference is not much but the implications are significant
Guided projects
Guided projects have a hint and solution mentioned in each step. They are both for beginners and intermediate learners. We motivate the learner to solve the problem on their own, but if they cannot then we provide the solution of a single step. Solving each step should solve the complete problem. We suggest only a single test case at the end of a guided project to give the user feedback on their solution.
Unguided projects
Unguided projects are just the same, except that they do not have any solutions mentioned within the steps. They may contain hints in some steps, but they will never contain a solution. Unguided projects must contain a test case for each step of the project. A learner will not be able to solve the problem if they cannot solve even a single step. This category is for expert users.