Is English a new programming language?

Are you looking to create a complex program with minimal programming knowledge? The answer is yes;

however, you need to be inquisitive to ask the right question.

This is what I have tried and paired myself with one of my friends who is inquisitive in nature and mostly asks “what” and “why” and does not care too much about “how.” Many of you will think that if you do not know "how" then your creation will be limited to definition not to the actual implementation, and, in theory, you are right as well though it is generally true but not now as there is new friend available called Generative AI. This friend will enable you to collaborate with you to create complex programs with minimal programming knowledge and high inquisitiveness in place.

Precisely in the language of generative AI, your inquisitiveness is termed as Prompt Design and Engineering. The prompt design will need your subject knowledge of the business problem you are solving, and prompt engineering requires writing your query in a way to get the response you are looking for prompt accurate, and without much of iterations.

Leveraging the prompt design and engineering, we started creating the program. The website is designed for student registration in a college and to maintain their academic record thereafter. We started with a "zero-shot prompt" a direct prompting, the simplest type of prompt, we just have a question to

“How to create a website in Python to enable students’ registration for a college.” In response to this, we got:

“Creating a website for student registration in Python involves using web frameworks like Flask or Django to handle the backend logic and HTML/CSS/JavaScript for the front end with a high-level guide. Now this has helped us to understand the process and environment that we need to create the website.

Then to a subsequent prompt, we asked “One Shot Prompt” which requires a task description and an example.

So, we asked.

“Create a table for student registration.”

  • A table of students with columns for name, email, age, gender, and major in the MySQL database Adjust the column data types and constraints as needed for your application.

In response, we got the complete syntax in MySQL to create the table:

To develop the backend, we leveraged “Few shots prompting” giving multiple examples of tasks.

Define a student model in Django to represent student data.

Examples:

  • views to handle registration, login, etc., (e.g., /register, /login)
  • Map each view to URLs. E.g., https://localhost:5000/student/login
  • Secure password storage by hashing passwords using libraries with Djang9; built-in methods.

In response to this, we got the complete procedure to create the backend as per the ask.

To create the front end, we have leveraged the “Chain of thought” prompting technique.

Create a front end with the primary objective of student registration and academic progress monitoring.

Examples

  • Content needs to be displayed registration forms, course information, and profiles.
  • Ensure you have corresponding HTML templates (register.html, login.html, dashboard.html)
  • Choose colors that complement the purpose and audience. Consider accessibility.
  • Select fonts that are readable and align with the site, tone, and purpose.
  • intuitive navigation system for easy access to different sections of the site.
  • route to handle the registration data sent from the front end.
  • Ensure the website design is responsive for various devices (desktop, mobile, tablet)
  • Check the site compatibility across different browsers.

As a response, we have a series of steps that need to be integrated with backend steps.

Lastly, to test the complete solution, we have leveraged “Zero-shot chain-of-thought prompting” which involves generating a series of interconnected thoughts or steps.

  • Optimize performance: Optimize assets (images, scripts) for faster loading times.
  • Validate email addresses and unique usernames!
  • Implement user authentication using the Django authentication system.
  • Analyze whether the correctness of the student's progress bar is correct or not.
  • Validate the Classification of student performance based on a set of tags.
  • Ensure all elements align with the objectives and the site is ready for launch.

While analyzing and stitching responses from each of the prompting techniques, what we have learned though we get most of the information from our prompt but still the human in the loop is very much needed to stitch in the complete solution and to ensure the solution built is fit for the purpose.

Please note that the prompts given in the examples are not perfect and may require addition/modifications etc. The idea is to provide the user with the required prompting knowledge and understanding and to remind our techies that there is another language that also has been introduced in the programming world and is very popular and requires no technical knowledge whoever with the right set of prompts it can complement you with the information to unleash your creativity to a new level.

#Happy prompting and creating the unthinkable

Ravi Prakash Tripathi

Engineering (IT/Telecom) Professional | Consultant - CMI - TCS | Ex- TechMahindra | Ex- Ericsson | New Technology Enthusiast

1 年

Yes as we are providing words in English as Prompts.

回复

要查看或添加评论,请登录

Ambrish K Srivastava的更多文章

社区洞察

其他会员也浏览了