facebook
favorite button
super instructor icon
Trusted teacher
This teacher has a fast response time and rate, demonstrating a high quality of service to their students.
member since icon
Since February 2022
Instructor since February 2022
PYTHON TUTOR WITH 10 YEARS OF EXPERIENCE | DATA SCIENCE | GAME DEVELOPMENT | WEB DEVELOPMENT |Programming Classes | DJANGO | FLASK | JAVA
course price icon
From 12 € /h
arrow icon
I have been teaching programming for 10 years. I have taught thousands of students of all age groups online and in-person successfully in my teaching career. I teach C, Python, JAVA, Data Science, PANDAS, NUMPY, GAME DEVELOPMENT, Django framework, Flask, JavaScript, Node Js, HTML, CSS, MySQL, PostgreSQL, PHP. But Python, JAVA, and C are my favorite languages to teach. I work as a full-stack web developer as well. I did many website projects. Recently I developed a Python Django fully dynamic Video MemberShip Website for a training institute. Where students can log in and learn by watching video courses. Currently, I'm working on a CRM Website for one of my US clients.
I have been helping college students with their coding assignments and projects for many years. I did many data science projects as well for my clients.
I love teaching kids. I have students who are under 10 learning game development with me.
I believe that everything can be achieved with hard work. So I always encourage my students to work harder. I teach all programming concepts in detail and in an easier way so that my students can understand easily and succeed.
As I have been teaching programming for many years. So I know the problems students have to face in the journey of learning a programming language pretty well. So I use the easiest and simplest way to explain all the programming concepts
I love helping people with all programming languages. Teaching is my passion. I love teaching coding in the fun and simplest way. That's why the students of all levels love learning with me.
If you are looking for making a career in web development, Data Science, Game Development, Or wanna learn programming like C, Python, Java, and Javascript in a fun and easiest way or you need help for your college assignments, message me to book a lesson with me.
Location
location type icon
Online from India
Age
Children (7-12 years old)
Teenagers (13-17 years old)
Adults (18-64 years old)
Seniors (65+ years old)
Student level
Beginner
Intermediate
Advanced
Duration
30 minutes
45 minutes
60 minutes
90 minutes
120 minutes
The class is taught in
English
Hindi
Reviews
Availability of a typical week
(GMT -04:00)
New York
at teacher icon
Online via webcam
Mon
Tue
Wed
Thu
Fri
Sat
Sun
00-04
04-08
08-12
12-16
16-20
20-24
In today’s world, the ability to code continues to grow in importance. Coding is no longer the sole domain of computer scientists and programmers, but rather a useful skill to have in any career.

Students with an eye to their future know that learning to code is important, but figuring out which one to learn can be an intimidating task. Some languages are easier to learn, while others have a wider application. But one language sits right in the sweet spot.

With a balance of being both easy to learn and widely used in the real world, we suggest learning Python.

=>Python Introduction
Introduction to Python Interpreter and program execution, Using Comments, Literals, Constants,
=>Python’s Built-in Data types, Numbers (Integers, Floats, Complex Numbers, Real, Sets), Strings (Slicing, Indexing,
Concatenation, other operations on Strings), Accepting input from Console, printing statements, Simple ‘Python’
programs.
=>Operators, Expressions, and Python Statements Assignment statement, expressions, Arithmetic, Relational,
Logical, Bitwise operators and their precedence, Conditional statements: if, if-else, if-elif-else; simple programs,
Notion of iterative computation and control flow –range function, While Statement, For loop, break statement,
Continue Statement, Pass statement, else, assert.

=> Sequence Data Types Lists, tuples, sets, and dictionary, (Slicing, Indexing, Concatenation, other operations on
Sequence data type), the concept of mutability,
=>Functions Top-down approach of problem-solving, Modular programming and functions, Function parameters,
Local variables, the Return statement, DocStrings, global statement, Default argument values, keyword arguments,
var args parameters. Library functions

=> Object-Oriented Programming
Classes, Objects, methods, Inheritance, Encapsulation

=> Final Project- A GUI Game Application in Python
Read more
Similar classes
arrow icon previousarrow icon next
verified badge
Python is one of the best, if not the best, language to start learning programming. It is also one of the most widely used languages today, especially in cutting-edge areas such as machine learning.

This popularity means that Python is constantly evolving. It offers a wide range of tools and libraries, which are free and very varied.

As an aeronautical engineer, I like to share my knowledge and derive satisfaction from it by teaching and motivating others.

I'm used to working with people of different ages. I believe in the importance of segmenting learning, visualizing progress, setting concrete goals and practicing regularly.

Beyond these general principles, there is no magic rule or method. Some approaches work with some students but not with others. Adaptation to individual needs is therefore the main objective of private lessons. So I will do my best to find what motivates and helps my student.
verified badge
With 7 years of experience as a developer in a Factory, I now develop Wordpress websites for large groups.

In the training program, you will learn to:

- Install, configure, and deploy WordPress sites
- Develop custom Wordpress themes and plugins
- Use powerful tools like ACF Pro, Gravity Forms, WPML, AIOS Security, WP rocket...
- Create custom post types and tailor-made taxonomies
- Develop pages using the right methods in HTML, CSS, Javascript & PHP
- Administer and manage a site database
- Contribute to the good natural referencing (SEO) of your site
- Use WP-Cli to speed up the maintenance of your sites
- Use Docker to containerize your local/prod projects and facilitate their management
- Administer your WP sites the right way
- And much more...

For any questions, you can contact me by PM.

See you soon,
Matthew
verified badge
Learn to code with method and logic
Whether it's to succeed in the NSI (Digital Sciences and Technology) specialization in high school, design personal projects, or prepare for higher scientific studies, mastering code relies on solid algorithmic thinking. I help students understand the structure of programming languages and the logic of data.

Subject areas and languages taught:

Algorithms & Logic: Designing data structures and solving problems.

Programming Languages: Python, C/C++, C# and Java.

Data Management: Analysis and SQL queries / databases.

Basic Web Development: HTML & CSS for creating structured pages.

The goal is to take the student from simply writing code to true autonomy in development.
verified badge
Do you want to learn how to program desktop applications in Java, C language, C ++, CSharp (C #), PSeint, Visual Basic .NET, Macros in Excel?

Do you want to learn how to program mobile applications in App Inventor 2?

My teaching methodology is Project Based Learning (PBL).

In this way, to build an application, I will teach you that the really important thing before sitting down to code (by attempt and error) in front of the computer, is the analysis and design of the algorithm (which constitutes 90% of the success of the program to be implemented. ), for this, with an example from the real world, the construction process will be explained: 1. Example with data from the real world, 2. Collection of information on requirements (input data, calculations, output data), 3. Hierarchy of operators (mathematical formulas versus computational formulas), 4. Desk test on a spreadsheet, 5. Constants, variables and data types to use, 6. Algorithm construction, 7. Flowchart, 8. Desk test on paper, 9. Implementation of the algorithm in the chosen programming language, if it is in console mode, it is implemented directly, if it is in form mode, the user interface is drawn on paper (UX) first.
verified badge
Are you a university student, engineer, or professional who needs to actually use data — not just learn theory about it?
This course is built around real problems and real code. We skip the textbook formulas and go straight to applying statistics and data science the way professionals do: with Python (pandas, NumPy, scikit-learn, matplotlib) and R (RStudio).
What we cover, adapted to your level and goals:
- Descriptive and inferential statistics (the ones that actually matter)
- Data cleaning, exploration, and visualization
- Regression, classification, and intro to machine learning
- Time series and forecasting basics
- R for statistical analysis and academic research

Who this is for:
- University students in statistics, economics, engineering, or biology
- Professionals wanting to move into data analysis or data science
- Researchers who need to process and present data properly

I use Python and R professionally as a working engineer — everything I teach comes from real application, not just academic exercises.
verified badge
Python is a powerful and versatile programming language with countless possibilities. You can use it for data analysis, image processing, automation, software development, hardware control, and much more.

Do you want to create your own software?
Work with data or images?
Automate repetitive tasks?
Control or manage your own hardware?

Whether you are just starting to learn Python or already have a specific project and need some guidance, I would be happy to help you.

My goal is to explain things clearly, adapt to your level, and help you understand not only how to make something work, but also why it works.

Let's turn your ideas into working Python projects!
verified badge
Master Python with Personalized Courses

Discover the art of programming with Python courses tailor-made to meet your specific needs. Whether you are a beginner, intermediate or professional, my lessons are suitable for all levels.

Why Choose My Courses?

Personalized Teaching Approach: Each course is tailored to your skill level and individual goals.

Practical Experience: Learn by doing with real-world projects that build your understanding and skills.

Ongoing Support: Get unlimited email support for any questions you have between sessions.

As a Python expert, I have a passion for teaching and sharing my knowledge. My goal is to guide you effectively in your learning journey.

Book Your First Lesson:

Start your journey to Python mastery now by booking your first lesson. Whether you aspire to enter the development field or hone your existing skills, these courses are designed for you.
verified badge
Discover programming lessons suitable for children! With a fun and educational approach, my lessons allow young minds to dive into the fascinating world of programming. Provide your children with an enriching learning opportunity in a fun and stimulating environment.
verified badge
I specialize in teaching ICT, computer science, and programming to help students develop essential digital skills for today's tech-driven world. My lessons are designed to guide you through both foundational concepts and more advanced topics, depending on your current level. I teach you very easy methods to understand complex parts of programming, breaking down difficult concepts into simple, digestible steps. Whether you’re a complete beginner looking to understand basic computer operations or an advanced learner aiming to master coding, networking, or system administration, I tailor each lesson to your needs. You will work on real-world projects, and I will provide exercises to reinforce learning and track your progress. Let's build your technical expertise together!
verified badge
Discover the world of robotics, electronics, and programming with a course designed for technology and innovation enthusiasts. Whether you are a beginner or already have some basics, this course will guide you through the fundamentals, with a hands-on approach to designing your own projects. You will learn how to use electronic components, program microcontrollers, and assemble robots to perform autonomous tasks.
verified badge
I teach Python specifically for finance and data applications - the kind used in economics, business analytics, and quantitative programs. This isn't a general "learn to code" course; it's built around real financial data, benchmarking, and the workflows you'll actually use in coursework or early career work.

Topics include:
Python fundamentals through a finance lens (data structures, functions, control flow).
Working with financial data and datasets.
Performance benchmarking and writing efficient code.
Applying concepts from Hilpisch's Python for Finance.
verified badge
Python is a simple, powerful, and versatile programming language, ideal for beginners looking to learn or change careers in computer science. This course will help you understand the basics of programming (variables, loops, conditions, functions) through practical, hands-on exercises.
You'll learn how to create your first scripts, manipulate data, and automate simple tasks. All in an accessible, interactive, and practical setting.

This course is aimed at anyone who is a beginner, curious about digital technology, or who wishes to develop skills useful in many professional sectors.
verified badge
Understanding algorithms is essential for anyone pursuing computer science or programming. In this course, I provide a structured approach to learning algorithms—from fundamental concepts like sorting and searching to advanced techniques such as dynamic programming and graph theory. Whether you're preparing for exams, coding interviews, or aiming to improve your problem-solving skills, this course is designed to build strong algorithmic thinking. Through practical examples and step-by-step explanations, I help students master the logic and techniques needed to write efficient and elegant code.
verified badge
These courses are part of a structured and progressive training in Object-Oriented Programming (OOP) with JavaScript, designed for beginner or intermediate developers who want to understand in depth how the language works, write clearer, more maintainable code and prepare themselves calmly for modern frameworks like React ⚛️.

Object-Oriented Programming is often perceived as complex or abstract.

My goal is simple: to make it logical, concrete, and immediately applicable.

🎯 Training Objectives

Upon completion of this training, you will be able to:

Understanding what Object-Oriented Programming really is (and when to use it)
Create and manipulate objects in JavaScript in a clean and efficient way
Use ES6 classes, constructors, and methods with confidence
Mastering this, the prototype, and the instantiation logic
Apply encapsulation, inheritance, and polymorphism without confusion
Avoiding common mistakes made by OOP beginners
Structure your JavaScript code like a professional developer

📖 Training Plan – Object-Oriented Programming in JavaScript
1. Introduction to Object-Oriented Programming 🧠
Understanding the concept, objectives and benefits of OOP.
2. Procedural Programming vs. OOP
Why unstructured code quickly becomes unmanageable.
3. Objects in JavaScript
Properties, methods and representation of the real world.
4. The keyword this
Understanding the execution context (often poorly understood).
5. Limitations of simple objects
Why duplicating code is a bad idea.
6. Constructive functions
Create multiple objects from the same model.
7. The keyword new
What it's actually doing under the hood.
8. The prototype
Sharing methods and memory optimization.
9. ES6 Classes
Modern syntax and best practices.
10. The builder
Proper initialization of objects.
11. Data Encapsulation
Protect the internal state of objects.
12. Inheritance between classes
Reusing code intelligently.
13. The keyword super
Communication between parent and child in the classroom.
14. Polymorphism
The same behavior, several forms.
15. Composition vs. Inheritance
Choosing the right architecture.
16. Best practices in OOP
Write readable, scalable, and maintainable code.
17. Common mistakes made by beginners
Pitfalls to absolutely avoid.
18. Guided practical exercise
Creation of a concrete class (product, user, etc.).
19. Assessment Quiz (Multiple Choice Questions)
To validate the actual understanding of the concepts.

🛠️ Teaching method: Understand before writing

This training program is based on a progressive and pragmatic approach:
Clear and illustrated explanations
Concrete examples from real projects
Simple but effective exercises
Constant questioning to avoid rote learning
Adaptation to the learner's level and pace
Here, we don't "recite OOP" — we understand it.

🚀 Learner's result

At the end of the training, you will not only know how to write a JavaScript class.
You will know:

1- Why does it exist?
2- When to use it
3- and when not to use it

You will leave with:
a solid understanding of OOP
a cleaner and more professional code
an ideal foundation for learning React, Node.js or any other modern framework
verified badge
Primary School Teacher. I offer personalized guidance in developing lesson plans and learning activities adapted to current educational regulations. During our sessions, you will learn to structure and write a complete lesson plan, including specific competencies, assessment criteria, core knowledge, methodology, addressing diversity, evaluation, and learning situations. My goal is to help you understand each section so you can independently develop a coherent, rigorous, and high-quality lesson plan.

You will learn to design practical, creative proposals, developing the necessary skills to apply them in the classroom or in competitive examination processes.
Video thumbnail
Play icon
Anurag's video
message icon
Contact Anurag
repeat students icon
1st lesson is backed
by our
Good-fit Instructor Guarantee
Similar classes
arrow icon previousarrow icon next
verified badge
Python is one of the best, if not the best, language to start learning programming. It is also one of the most widely used languages today, especially in cutting-edge areas such as machine learning.

This popularity means that Python is constantly evolving. It offers a wide range of tools and libraries, which are free and very varied.

As an aeronautical engineer, I like to share my knowledge and derive satisfaction from it by teaching and motivating others.

I'm used to working with people of different ages. I believe in the importance of segmenting learning, visualizing progress, setting concrete goals and practicing regularly.

Beyond these general principles, there is no magic rule or method. Some approaches work with some students but not with others. Adaptation to individual needs is therefore the main objective of private lessons. So I will do my best to find what motivates and helps my student.
verified badge
With 7 years of experience as a developer in a Factory, I now develop Wordpress websites for large groups.

In the training program, you will learn to:

- Install, configure, and deploy WordPress sites
- Develop custom Wordpress themes and plugins
- Use powerful tools like ACF Pro, Gravity Forms, WPML, AIOS Security, WP rocket...
- Create custom post types and tailor-made taxonomies
- Develop pages using the right methods in HTML, CSS, Javascript & PHP
- Administer and manage a site database
- Contribute to the good natural referencing (SEO) of your site
- Use WP-Cli to speed up the maintenance of your sites
- Use Docker to containerize your local/prod projects and facilitate their management
- Administer your WP sites the right way
- And much more...

For any questions, you can contact me by PM.

See you soon,
Matthew
verified badge
Learn to code with method and logic
Whether it's to succeed in the NSI (Digital Sciences and Technology) specialization in high school, design personal projects, or prepare for higher scientific studies, mastering code relies on solid algorithmic thinking. I help students understand the structure of programming languages and the logic of data.

Subject areas and languages taught:

Algorithms & Logic: Designing data structures and solving problems.

Programming Languages: Python, C/C++, C# and Java.

Data Management: Analysis and SQL queries / databases.

Basic Web Development: HTML & CSS for creating structured pages.

The goal is to take the student from simply writing code to true autonomy in development.
verified badge
Do you want to learn how to program desktop applications in Java, C language, C ++, CSharp (C #), PSeint, Visual Basic .NET, Macros in Excel?

Do you want to learn how to program mobile applications in App Inventor 2?

My teaching methodology is Project Based Learning (PBL).

In this way, to build an application, I will teach you that the really important thing before sitting down to code (by attempt and error) in front of the computer, is the analysis and design of the algorithm (which constitutes 90% of the success of the program to be implemented. ), for this, with an example from the real world, the construction process will be explained: 1. Example with data from the real world, 2. Collection of information on requirements (input data, calculations, output data), 3. Hierarchy of operators (mathematical formulas versus computational formulas), 4. Desk test on a spreadsheet, 5. Constants, variables and data types to use, 6. Algorithm construction, 7. Flowchart, 8. Desk test on paper, 9. Implementation of the algorithm in the chosen programming language, if it is in console mode, it is implemented directly, if it is in form mode, the user interface is drawn on paper (UX) first.
verified badge
Are you a university student, engineer, or professional who needs to actually use data — not just learn theory about it?
This course is built around real problems and real code. We skip the textbook formulas and go straight to applying statistics and data science the way professionals do: with Python (pandas, NumPy, scikit-learn, matplotlib) and R (RStudio).
What we cover, adapted to your level and goals:
- Descriptive and inferential statistics (the ones that actually matter)
- Data cleaning, exploration, and visualization
- Regression, classification, and intro to machine learning
- Time series and forecasting basics
- R for statistical analysis and academic research

Who this is for:
- University students in statistics, economics, engineering, or biology
- Professionals wanting to move into data analysis or data science
- Researchers who need to process and present data properly

I use Python and R professionally as a working engineer — everything I teach comes from real application, not just academic exercises.
verified badge
Python is a powerful and versatile programming language with countless possibilities. You can use it for data analysis, image processing, automation, software development, hardware control, and much more.

Do you want to create your own software?
Work with data or images?
Automate repetitive tasks?
Control or manage your own hardware?

Whether you are just starting to learn Python or already have a specific project and need some guidance, I would be happy to help you.

My goal is to explain things clearly, adapt to your level, and help you understand not only how to make something work, but also why it works.

Let's turn your ideas into working Python projects!
verified badge
Master Python with Personalized Courses

Discover the art of programming with Python courses tailor-made to meet your specific needs. Whether you are a beginner, intermediate or professional, my lessons are suitable for all levels.

Why Choose My Courses?

Personalized Teaching Approach: Each course is tailored to your skill level and individual goals.

Practical Experience: Learn by doing with real-world projects that build your understanding and skills.

Ongoing Support: Get unlimited email support for any questions you have between sessions.

As a Python expert, I have a passion for teaching and sharing my knowledge. My goal is to guide you effectively in your learning journey.

Book Your First Lesson:

Start your journey to Python mastery now by booking your first lesson. Whether you aspire to enter the development field or hone your existing skills, these courses are designed for you.
verified badge
Discover programming lessons suitable for children! With a fun and educational approach, my lessons allow young minds to dive into the fascinating world of programming. Provide your children with an enriching learning opportunity in a fun and stimulating environment.
verified badge
I specialize in teaching ICT, computer science, and programming to help students develop essential digital skills for today's tech-driven world. My lessons are designed to guide you through both foundational concepts and more advanced topics, depending on your current level. I teach you very easy methods to understand complex parts of programming, breaking down difficult concepts into simple, digestible steps. Whether you’re a complete beginner looking to understand basic computer operations or an advanced learner aiming to master coding, networking, or system administration, I tailor each lesson to your needs. You will work on real-world projects, and I will provide exercises to reinforce learning and track your progress. Let's build your technical expertise together!
verified badge
Discover the world of robotics, electronics, and programming with a course designed for technology and innovation enthusiasts. Whether you are a beginner or already have some basics, this course will guide you through the fundamentals, with a hands-on approach to designing your own projects. You will learn how to use electronic components, program microcontrollers, and assemble robots to perform autonomous tasks.
verified badge
I teach Python specifically for finance and data applications - the kind used in economics, business analytics, and quantitative programs. This isn't a general "learn to code" course; it's built around real financial data, benchmarking, and the workflows you'll actually use in coursework or early career work.

Topics include:
Python fundamentals through a finance lens (data structures, functions, control flow).
Working with financial data and datasets.
Performance benchmarking and writing efficient code.
Applying concepts from Hilpisch's Python for Finance.
verified badge
Python is a simple, powerful, and versatile programming language, ideal for beginners looking to learn or change careers in computer science. This course will help you understand the basics of programming (variables, loops, conditions, functions) through practical, hands-on exercises.
You'll learn how to create your first scripts, manipulate data, and automate simple tasks. All in an accessible, interactive, and practical setting.

This course is aimed at anyone who is a beginner, curious about digital technology, or who wishes to develop skills useful in many professional sectors.
verified badge
Understanding algorithms is essential for anyone pursuing computer science or programming. In this course, I provide a structured approach to learning algorithms—from fundamental concepts like sorting and searching to advanced techniques such as dynamic programming and graph theory. Whether you're preparing for exams, coding interviews, or aiming to improve your problem-solving skills, this course is designed to build strong algorithmic thinking. Through practical examples and step-by-step explanations, I help students master the logic and techniques needed to write efficient and elegant code.
verified badge
These courses are part of a structured and progressive training in Object-Oriented Programming (OOP) with JavaScript, designed for beginner or intermediate developers who want to understand in depth how the language works, write clearer, more maintainable code and prepare themselves calmly for modern frameworks like React ⚛️.

Object-Oriented Programming is often perceived as complex or abstract.

My goal is simple: to make it logical, concrete, and immediately applicable.

🎯 Training Objectives

Upon completion of this training, you will be able to:

Understanding what Object-Oriented Programming really is (and when to use it)
Create and manipulate objects in JavaScript in a clean and efficient way
Use ES6 classes, constructors, and methods with confidence
Mastering this, the prototype, and the instantiation logic
Apply encapsulation, inheritance, and polymorphism without confusion
Avoiding common mistakes made by OOP beginners
Structure your JavaScript code like a professional developer

📖 Training Plan – Object-Oriented Programming in JavaScript
1. Introduction to Object-Oriented Programming 🧠
Understanding the concept, objectives and benefits of OOP.
2. Procedural Programming vs. OOP
Why unstructured code quickly becomes unmanageable.
3. Objects in JavaScript
Properties, methods and representation of the real world.
4. The keyword this
Understanding the execution context (often poorly understood).
5. Limitations of simple objects
Why duplicating code is a bad idea.
6. Constructive functions
Create multiple objects from the same model.
7. The keyword new
What it's actually doing under the hood.
8. The prototype
Sharing methods and memory optimization.
9. ES6 Classes
Modern syntax and best practices.
10. The builder
Proper initialization of objects.
11. Data Encapsulation
Protect the internal state of objects.
12. Inheritance between classes
Reusing code intelligently.
13. The keyword super
Communication between parent and child in the classroom.
14. Polymorphism
The same behavior, several forms.
15. Composition vs. Inheritance
Choosing the right architecture.
16. Best practices in OOP
Write readable, scalable, and maintainable code.
17. Common mistakes made by beginners
Pitfalls to absolutely avoid.
18. Guided practical exercise
Creation of a concrete class (product, user, etc.).
19. Assessment Quiz (Multiple Choice Questions)
To validate the actual understanding of the concepts.

🛠️ Teaching method: Understand before writing

This training program is based on a progressive and pragmatic approach:
Clear and illustrated explanations
Concrete examples from real projects
Simple but effective exercises
Constant questioning to avoid rote learning
Adaptation to the learner's level and pace
Here, we don't "recite OOP" — we understand it.

🚀 Learner's result

At the end of the training, you will not only know how to write a JavaScript class.
You will know:

1- Why does it exist?
2- When to use it
3- and when not to use it

You will leave with:
a solid understanding of OOP
a cleaner and more professional code
an ideal foundation for learning React, Node.js or any other modern framework
verified badge
Primary School Teacher. I offer personalized guidance in developing lesson plans and learning activities adapted to current educational regulations. During our sessions, you will learn to structure and write a complete lesson plan, including specific competencies, assessment criteria, core knowledge, methodology, addressing diversity, evaluation, and learning situations. My goal is to help you understand each section so you can independently develop a coherent, rigorous, and high-quality lesson plan.

You will learn to design practical, creative proposals, developing the necessary skills to apply them in the classroom or in competitive examination processes.
Good-fit Instructor Guarantee
favorite button
message icon
Contact Anurag