Skip to content

English Learning System I have developed in order to help others in expanding their Vocabulary. Very innovative way of learning

License

Notifications You must be signed in to change notification settings

sldimitrov/english_learning_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English Learning System

I. Essentials

  • Mission:

    • This project is not something random. I have developed it in order to help others in learning English.When I first started (02/11/23) my idea was to create something that people will be happy to use, program that will automate some boring process in our lifestyle.
  • Where the idea came from?

    • An old Chinese saying goes - "If you want to help others - help yourself first". From then on I have tought about my own learning process and there was nothing more boring in it than writing every new word from my English classes x30 times.
  • The idea itself:

    • After all, I came up with the idea of creating program that enables you to learn English words in very innovative way.
    • Check how to use it here.
  • The innovative way:

    • Writing every new word in a sentence which exposes its definition is our method and it is much better!
    • Read more information about it here.

II. How to use the program?

Set-up

  • The first thing you need to do in order to use the program is to fork the repository Screenshot 2024-02-26 233401

  • Once having a local copy of the project you should gather some words, which meaning is unknown for you. From then on you should open the file - 'list_of_words.txt' dir_photo Current file location of the file.

  • After you have located this text file. Open Cambridge Dictionary and search for the definition of every word you want to.
  • You should input the data into the file as in the following example: Screenshot 2024-02-26 222338
  • ERROR WARNINGS:
    • PATTERN : 'word' - 'definition'
    • DO NOT FORGET TO INPUT SPACES OR TO SEPARATE THE WORD AND THE DEFINITION WITH '-' !
    • THE PROGRAM DOES NOT WORK WITH BULGARIAN DEFINITIONS !

Install Project Requirements

  • You need to open the Python Terminal and write the following command:
pip install -r requirements.txt
  • If that command does not work you can try again with:
pip install pyttsx3 

Running the program

  • After the set-up above you are ready to run the program.
    • Open main.py file in your forked repository and run it. If everything is working fine you should be greeted with user-friendly messages. After that the following question will pop up and if you are using the program for a first time you ought to make an account entry_photo

  • Once you register succesfully you will be asked to login. Screenshot 2024-02-26 234857

  • After you pass login sucessfully you will acces the English Learning System menu_photo

In case you have any questions or you do not understand something:

  • Choose 6 for info in the menu of the program.
  • Or contant with me. My social accounts you can fine here

III. Why writing new words into sentences rather than just the words?

side_sticker

It is proven by scientists that if you connect something that is unusual and new for you with something familiar it will let to a neural connection in your brain. This is the scientific explanation that stays behind the main method we use in this Learning System. Put any new word in a sentence that exposes the definition of the unknown word. After the connection happens it become much more easier for you to memorize its meaning. Next time you hear or read this word your brain will give you the whole sentence and with that the definition will appear in your mind.

IV. Knowledge stack

The first part of the project - User Authentication.

In order to develop it I had used try-except blocks to handle errors with my Custom Exceptions, and functions to validate the User input. SQLlite database is the place where the program saves the User credentials after hashing the password with the support of the hashlib library. To append and read data from the database I have used SQL commands.


The second part - English Learning System.

Functions helped me to separate the big problem into small ones which I had solved easily. Nevertheless, file-handling take big role in the project. We can append, read and delete information from files. Data-types that are commonly used are lists and dictionaries with comprehensions on some places to make the code more readable. This part of the project is dealing with some super methods like ''name''.


To sum up:

In this project I have used every one of the things I have learned since I started my career as Software Developer. Not only that, but developing it I have learnt much more. Now it is your time to use what I am offering you and learn on your own - here

V. Postscript

  • Enourmous recognition is what my classmate and friend Zeyneb deserves. He was the girl that gave me the inspiration of thinking outside the box and write my new words into simple and easy-understandable sentences. With this first light i managed to light a fire then warm myself in the cold winter days. Sometimes I gave all of my energy just to make another feature but it was all worth it. Now i can give the world what it needs the most - the desire to help others. So... thank you very, very much Zeyneb!

  • About you other fellows: Fork the repository and free to show imagination - change the script.

    • express yourself
    • add new functionality
    • add more user-friendly messages
    • add whatever you want and send feedback ;)
    • JUST do NOT forget to fork and star the repo!
n_times = float('inf')
print('Thank you for the attention!' * n_times)

About

English Learning System I have developed in order to help others in expanding their Vocabulary. Very innovative way of learning

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages