Giter Site home page Giter Site logo

automation-tools-for-courses's Introduction

Automation Tools for Courses

Usage

Run them using python3 sample_tool.py. Of course, you need a Python (3). The imported libraries to these scripts will be need to be installed using pip3 install <package_name>.

Maintained scripts:

  • web-scrap-*.py;
  • readme-*.py;

Course Publication Process

  1. Scrap questions from exam4training.com using web-scrap-exam4training.py.
  2. Format questions to our GitHub format.
  3. Scrap questions from vceguide.com, using web-scrap-vce.py, add only non-repeated to questions.
  4. Format questions to our GitHub format.
  5. Add manually questions from exam-answer.com, add only non-repeated to questions keeping our GitHub format.
  6. Manually check for questions on examtopics.com until middle of the exam, i.e., when there's a paywall, add only non-repeated to questions.
  7. Manually copy/paste each question to Google and look for community discussions on examtopics.com, fix correct answer.
  8. Generate Table of Contents automatically using DocToc.
  9. Number Table of Contents using Regex Text Generator as explained in search and replace with regex to increment numbers in Visual Studio Code, the only 1 difference is our generator expression is {{=i+1}} instead of {{=N[1]+1}}.
  10. Scale up image logo for promotional image above 1102x1102 using Bigjpg.
  11. Scale down image logo for promotional image to 1102x1102 and replace logo layer in a GIMP files (locally stored) for ebooks/courses, use such promotional image.
  12. Remove typos using Amazon Kindle Direct Publishing automatic proofreading software.
  13. Publish on GitHub with the generated Table of Contents.
  14. Release course on GitHub.
  15. Add repo URL to the released course on GitHub to our platform's repo exams.json file.
  16. Course will be automatically build, deployed & published on our platform.
  17. Prepare Udemy format using readme-udemy.py. Images needs to be uploaded manually, and some minor bugs required to be solved manually almost always occur during the process.
  18. Publish the course on Udemy.
  19. Generate .pdf format using Visual Studio Code's extension Markdown PDF, only # COURSE TITLE, promotional image & content from below ## Table of Contents stays. Everything else must be removed before generating a .pdf. After that, the document is ready to generation the .pdf with questions to answers.
  20. Generate .pdf without answers by simply replacing - [x] to - [ ].
  21. Prepare to generate for .epub format by: 1. Change link **[⬆ Back to Top](#table-of-contents)** to the first question. 2. Remove # COURSE TITLE and ## Table of Contents as well, leave only questions in the Markdown file. 3. Use ** for correct answers (CMD/CTRL + D on - [x], View -> Word Wrap, and incorporate these changes automatically). 4. The entire correct answer should be around **, e.g., - [x] **This is correct answer for EPUB format.**. 5. After that, the document is ready to generation the .epub with questions to answers.
  22. Generate .epub format using Pandoc: pandoc --from gfm+task_lists --to epub3 README.md --output AB123_v1.2.3.epub --epub-cover-image=images/ebook.jpg --metadata title="⬆️ Abcda Befghi AB-123 (Abcda Befghi Something) Practice Tests Exams Questions & Answers" --metadata author="Daniel Danielecki" --toc --number-sections --shift-heading-level-by=-2.
  23. Generate .epub without answers by simply replacing - [x] to - [ ], and - [x] **This is correct answer for EPUB format. with - [ ] This is correct answer for EPUB format..
  24. Publish the ebooks in .epub/.pdf formats to Etsy, Google Play Books, our Shop.

automation-tools-for-courses's People

Contributors

danieldanielecki avatar

Watchers

 avatar

automation-tools-for-courses's Issues

Automate creation of Table of Contents (ToC)

The task is to automate the creation of ToC.

The current solution is based on:

  1. readme.py - file to generate questions in Udemy-friendly format scrapped via web-scrap.py (with minor manual improvements, but it can be a different task) and other non-automated sources.
  2. urls.py - file which to generate URL's.
  3. Based on the output from 2., manually pasting those URL's to manually created ToC.

The format can be found in tests around Ditectrev repositories, such as here.

Output from the automation, ideally, would be:

| No. | Questions |
| --- | --------------------------- |
| 1   | [Question1?](#question1-url) |
| 2   | [Question2?](#question2-url) |
| 3   | [Question3?](#question3-url) |
...
| n   | [QuestionN?](#questionN-url) |

where n is the number of questions in a test.

Avoid data loss while converting to csv

Converting csv from Python at this point of time results in 1 row of data in the csv format. The data is being shown again after converting to xls manually. It should contain all data in csv, automatically after running the Python script.

Improve scraping data format

Both currently working scriptsweb-scrap-exam4training.py and web-scrap-vce.py return lots of data, which is different from the format we use, and for now we need to remove & format it manually.

Ideally, after scrapping we're receiving this format:

### QUESTION

![Image X](images/questionX.png) # could be the case there's no image in the question as well.

- [ ] SAMPLE WRONG ANSWER.
- [ ] SAMPLE WRONG ANSWER.
- [x] SAMPLE CORRECT ANSWER.
- [ ] SAMPLE WRONG ANSWER.

**[⬆ Back to Top](#table-of-contents)**

even better would be to include already explanation using some kind of AI-related tool (see #4 for that):

### QUESTION

 ![Image X](images/questionX.png) # could be the case there's no image in the question as well.

- [ ] SAMPLE WRONG ANSWER.
- [ ] SAMPLE WRONG ANSWER.
- [x] SAMPLE CORRECT ANSWER.
- [ ] SAMPLE WRONG ANSWER.

#### EXPLANATION.

**[⬆ Back to Top](#table-of-contents)**

AI-powered Automated Tool for Hand(books)

Ideally, it would create a table of contents first and then, based on feedback, improve/modify it slightly. Generating an entire book doesn't seem feasible for proper validation and improvement/modification of specific categories. We want to have it checked and read by a human with feedback s/he can provide. Hence, generating each chapter/main section separately would be the preferred way to proceed.

Content should be generated with code examples and occasionally with images when needed. However, for this part, a human can add an input for each chapter/main section, and then the AI will generate it.

Rest assured, the addition of code examples to CodeSandboxes can be done manually at a later stage. It might be overcomplicated to generate code snippets with CodeSandboxes, but as per Copilot, it's doable (maybe another issue after this is completed).

Copilot asking CodeSandboxes generation

Other than programming books, we'd like to use it for cloud-related learning, like most of our materials. Not the questions & answers we have but also handbooks to properly teach the material.

It must be generated in Markdown format, in a format like https://github.com/Ditectrev/Awesome-HTML-Book-HyperText-Markup-Language-HTML

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.