-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Content and Pedagogy Development for Teaching and Learning of Sketcher Workbench in FreeCAD Software #12
Comments
Do you have a set of sketches chosen that you plan on including in the teaching module? If so, can you share them here so the grant review committee can understand the scope of what you are proposing? |
Since FreeCAD is an ever changing application, how would this be maintained and/or updated as changes to sketcher and releases progress? |
We have been using a set of 2D drawings to teach our undergraduate students in their Engineering Graphics and Drawing course. We also isometric drawings that can be drawn in a drafting software (such as AutoCAD). Some of these are in the attachment The proposal we have submitted would have a provision to create scripts that can make these drawings in a programmatic manner such that step-by-step instruction/action can be seen as the student progresses with the drawing. It is expected that student also executes FreeCAD commands to achieve the same action. Finally, the student would be completing the full sketch and will be able to check/validate if the drawing created matches with the template file. Later pages (page 67 and above) can also be used for 3D modelling assignments (which can be an extension project at a later stage). |
The 2D Drawings (templates) would be converted into scripts (line-by-line instructions) which would call corresponding API functions to generate the individual step. This way, the drawing is generated programmatically. If FreeCAD UI is changed, some minor changes have to be done in the Wizard (or step-by-step illustration). If FreeCAD Sketcher Workbench internal API functions are modified, the proposed project also will have to adapt to those changes. We feel that since Sketcher is a fairly standard workbench, there would not be major changes to it. If at all required, we shall be maintaining our source code to adapt. |
This is a very good idea, and similar to something we tried in the BIM workbench already: https://wiki.freecad.org/BIM_ingame_tutorial I would suggest to have a look at how it is done (it's a simple script at https://github.com/FreeCAD/FreeCAD/blob/main/src/Mod/BIM/bimcommands/BimTutorial.py that parses the wiki page, splits it into sections, and builds a side panel in FreeCAD that shows a section. Each section can have one or two "goals", which are simple expressions that return True when the user completes them. It might be good here to think of a good system that could be used later on by other workbenches of FreeCAD |
What license do you intend to release the new workbench under? |
@yorikvanhavre Thanks for sharing. Your suggestion for a generic system seems really good and could be extended to other workbenches. |
I want to make sure that my understanding is correct: the grant is for the creation of a workbench that can provide "auto-graded" tutorials, and some small number of actual integrated tutorials. But it would be possible for other tutorial authors to leverage this workbench to create their own tutorials? Or do you view this as a sort of "closed" system where all the tutorials are the ones that your team has directly integrated into the workbench? Also, what license do you intend to release the workbench under? I think the FPA will only be interested in funding development that is released under a suitable FOSS license. |
We shall try to follow a process that can be adapted into other similar tutorials/workbenches to be developed by us or by others. We are eager to keep the source code in public domain as long as students do not get to use it as a hack to get good grades :). We may have to find out the best way forward.
We understand that keeping our workbench/addin license as LGPL2+ (same as FreeCAD) is desirable. We agree to the same. |
From this description it sounds like you are generating a workbench for your internal use, and any other use or development by others is incidental and not a core consideration of this project. The grant review committee is concerned about a number of aspects of this development. Here are a some comments/questions from the review team:
I suggest reframing your proposal in terms of the purely technical development of a workbench that people can use to present tutorials from within FreeCAD, and that provides a step-by-step "autograded" walk-though, without specifying exactly what is to be taught. |
The point with regards to students cheating is a genuine as we see them around us. Students use ChatGPT (at present) pretty much in every course and lose out the experience of learning by making mistakes.
Already answered above in one of the responses
We shall look into creating this. However, this project is a starting point of many in the series and shall elaborate further on the sub-tasks.
We thought we had clarified in the Proposal that it would work as a step-by-step Wizard which would replace the role of an instructor teaching one step at a time. Also, after every step, the student can check if the performed step matches with that in the wizard.
Revised proposal after incorporating the above suggestions and the points discussed in FPA Online meeting on Sept 25, 2024 is in this document and has been submitted on Oct 9, 2024. |
Personally I am okay with the new proposal. I would just like to see a few confirmations, that are not clear to me in the proposal, basically:
|
The grant review committee has no further comment, so I am forwarding this to a vote of the FPA. |
@chennes , |
Voting closes tomorrow, so I will have a final result for you then. |
The FPA has voted to fund this proposal. Please reach out to [email protected] to coordinate payment. |
Proposal description
Sketch Tutorials with Interactive Wizard is proposed which shows step-by-step instructions and a learner executes these steps. After every step, the learner can check if the sketch matches the given template and mistakes (if any) are highlighted as a corrective measure.
Deliverables
FreeCAD is an open-source CAD software and therefore its source code is available for the public to modify and adapt. FreeCAD is also an alternative to the commercial CAD software which are proprietary in nature. The commercial CAD software generally have good documentation and course materials to be used for teaching and learning. On the other hand, open-source software generally lack such material and becomes a challenge for onboarding faculty, students and also industry professionals to use the software.
In this project, a methodology is proposed where the “Content and Pedagogy” for teaching and learning Sketching (in Sketcher Workbench) in FreeCAD is presented.
FreeCAD has Workbenches which can be developed using C++ and/or Python programming languages. These Workbenches would have Commands/Buttons and when a user clicks on them, corresponding program/code is executed to create geometry or perform some other tasks.
In this project, a new Workbench entitled “Learn FreeCAD” is envisaged to have the following features:
Sketch Tutorial Module
a) Upon clicking on a button, a set of thumbnails of finished sketches are shown to the user. User selects one of the sketches (for example, Figure 1(a)) and a new blank “Sketch” is shown to the user. Additionally, another panel/window referred to as “Wizard” is shown with step-by-step instructions and the desired output after every step.
b) The user is shown the first step, and the instructions are also shown in the Wizard (Figure 1(b)).
c) The user is expected to draw the same diagram/figure using the tools mentioned in the Wizard. Upon completion, the user can click on a button in Wizard to check the correctness of the sketch just drawn with the one shown as template. Wizard shows any mistakes and the user gets to correct the same and try again.
d) Upon successful completion of the first step, the user can proceed ahead with next set of steps till the final step (Figure 2) which matches the template/thumbnail image.
[The task of teacher/instructor to correct mistake is assisted by the Wizard]
Figure in attached .pdf file
Amrita-FPA-Grant-Proposal_LearnFreeCAD-SketcherWorkbench_TeachModule_20240807.pdf
Timeline
The project deliverables are spread across 9 months.
Details are in attached file.
Amrita-FPA-Grant-Proposal_LearnFreeCAD-SketcherWorkbench_TeachModule_20240807.pdf
Risks and mitigation
The project coordinators are full-time teachers in an Engineering College and have seen teachers and students struggle while learning CAD. An open-source CAD software with good teaching and learning aids would help in a great way. The developed tutorials shall be first tested at the project coordinator's institute before publicised to other institutes.
Compensation
The total project cost is 6000 USD for a duration of 9 months, which can be paid in 2+1 terms.
Details are in attached file.
Amrita-FPA-Grant-Proposal_LearnFreeCAD-SketcherWorkbench_TeachModule_20240807.pdf
About you
The project coordinators from Amrita Vishwa Vidyapeetham (an University in Bengaluru, India). They are Dr. Rajeevlochana (as PI: Project Investigator), and Dr. Ravi Kumar and Dr. Mohan Kumar S (as Co-PIs: Co-Project Investigators), who shall be supported by their colleagues, students and potential research interns/associates.
A) Dr. Rajeevlochana G. Chittawadigi:
He serves the Department of Mechanical Engineering as its Vice-Chair and enjoys teaching, research and consulting industries. He has obtained his PhD and MS (Research) from IIT Delhi (New Delhi, India), and B.Tech from MNNIT (Allahabad, India), all in Mechanical Engineering. He has more than 9 years of teaching experience at Amrita Bengaluru, 2 years of Research Experience at IIT Delhi and more than 4 years of experience in industries (Hero Honda Motors Ltd., AR-CAD.com, and 3dPLM Software). He has produced and published more than 80 videos on his YouTube channel (https://www.youtube.com/lochan94) aimed at teaching CAD and graphics software (such as Autodesk Inventor, SpaceClaim, GeoGebra, etc.) and has a good knack for developing and delivering educational content effectively. In addition to teaching, he has very good experience in developing addins/plugins for CAD software (Autodesk Inventor, SpaceClaim, etc.) using Visual C#.
B) Dr. Ravi Kumar V.:
He is currently working as Assistant Professor in the Department of Mechanical Engineering and is an avid teacher and researcher. He has completed his PhD from Visvesvaraya Tech. Univ. (VTU, Belgaum, India) and his Masters and Bachelors in Engineering from Univ. Visvesvaraya College of Engineering (UVCE, Bengaluru, India), all in Mechanical Engineering. He has mentored the departmental forum named INGENIUM, where he has organized various industrial visits, Workshop and technical Talks, Various competitions etc., and has good rapport with student community to get tasks or projects executed by them. He enjoys teaching CAD course for entry level engineering students which require patient approach to the concepts for effective learning and understanding. He also teaches programming courses using C and C++ where his accreditation as Oracle Certified Professional and knowledge of Java have benefitted.
C) Dr. Mohan Kumar S.:
He is currently serving the Department of Mechanical Engineering as an Assistant Professor. He has obtained his PhD, M.Tech, and B.E in Mechanical Engineering from Visvesvaraya Tech. Univ. (VTU, Belgaum, India). He is currently mentoring INGENIUM, the department forum which conducts technical events for the students. He has been teaching CAD, Engineering Drawing, Machine Drawing and Finite Element Methods to B.Tech. students and is well versed with the usage of AutoCAD, Autodesk Inventor, ANSYS, and other related CAD software.
More details in the attached file.
Amrita-FPA-Grant-Proposal_LearnFreeCAD-SketcherWorkbench_TeachModule_20240807.pdf
The text was updated successfully, but these errors were encountered: