DHARMENDRA BHARTI Computer Science And Engineering
No reviews yet

Hello! I'm Dharmendra Bharti, currently serving as a Software Developer at Sony India Software. With a Master's degree in Computer Science and Engineering from IIIT Bhubaneswar and a Bachelor's from Rajkiya Engineering College Ambedkar Nagar in Information Technology, I've honed my skills in various programming languages and technologies.

My expertise spans across C, C++, Python, Java, and I've delved into advanced concepts like Data Structures and Algorithms, Object-Oriented Programming, and Database management. Additionally, I have hands-on experience in machine learning and AI fields, empowering me to guide students from beginner to expert levels.

In pursuit of continuous learning, I've earned certifications in C & C++ from UPTECH Computer Consultancy Ltd, Python from Udemy, and Data Analytics, Machine Learning, and AI with Python from IIT Roorkee. These credentials, coupled with my practical experience, form a solid foundation for teaching and mentoring.

My journey includes enriching internships at DRDO and Diginique TechLabs, where I delved into software research, and at Ducat, where I sharpened my skills as a front-end developer intern. This diverse experience enriches my approach to teaching, ensuring I provide real-world insights to students.

Moreover, I'm proficient in Java, Spring Boot, and adept at utilizing tools like GitHub for efficient collaboration and version control. Whether it's creating efficient algorithms, producing clean code, or integrating third-party programs, I'm dedicated to fostering an environment of continuous improvement.

With strong communication skills and a passion for teaching, I strive to empower students to grasp complex concepts effectively. I believe in a hands-on, practical approach, emphasizing not just theoretical knowledge but also its real-world application, especially in cutting-edge fields like Machine Learning and AI.

In my role, I'm accustomed to directing software programming, documentation development, and identifying areas of improvement based on user feedback. Together, let's embark on a journey of exploration and mastery in the realm of software development, including exciting domains like Machine Learning and AI!

Subjects

  • JAVA Beginner-Expert

  • Python Beginner-Expert

  • JavaScript Beginner-Expert

  • Operating System Beginner-Expert

  • Computer network Beginner-Expert

  • Full Stack Web Development Beginner-Expert

  • Database Fundamentals Beginner-Expert

  • Compiler Design Beginner-Expert

  • Engineering Mathematics (B.Tech)

  • Machine learning with python Beginner-Expert

  • C/C++ Programming Beginner-Expert

  • Data Structure and Algorithms Beginner-Expert

  • Front end web development Beginner-Expert


Experience

  • Software Developer (Oct, 2022Present) at Sony India Software
    Design, build, and maintain efficient and reliable C, C++, Python code
    Work with developers to design algorithms and flowcharts
    Troubleshoot, debug and upgrade existing software
  • Software Developer (Feb, 2022Sep, 2022) at Bhs Pvt. Ltd.
    Work with various programming languages (C, C++, Python)
    Designing, building, testing, and maintaining software applications.
    Create documentation for software how they are developed
  • QA Expert (Jan, 2021Present) at Chegg India Pvt.Ltd.
    Designing, coding, testing, and debugging software applications
    Analyzing user requirements and developing software specifications
    Conducting research to develop new technologies and improve existing ones
    Collaborating with other experts and stakeholders to develop and implement technology solutions
  • Software Research Intern (Jun, 2019Jul, 2019) at Diginique TechLabs
    Designed and Implemented Heart Disease Prediction System
    Implemented Random Forest, Support Vector Machine
    Modified Multiple Regression
  • Front-End Developer (Jun, 2018Jun, 2018) at Ducat Noida
    Designed and Implemented Ecommerce Site
    Used Tools HTML, CSS & JavaScript
    Information Retrieval

Education

  • Software Research Intern (Jan, 2021Apr, 2021) from DRDO
  • Node Js (Jan, 2021Apr, 2021) from Udemy
  • M.Tech (Nov, 2020Jul, 2022) from iiit bhubaneswar, Bhubaneswar
  • Software Research Intern (May, 2019Aug, 2019) from Diginique TechLabs
  • Data Analytics, Machine Learning and AI with Python (May, 2019Aug, 2019) from IIT Roorkee, Roorkee
  • C Programming (May, 2017Aug, 2017) from UPTEC Computer Consultancy Ltd., Lucknow
  • B.Tech (Aug, 2016Sep, 2020) from Rajkiya Engineering College Ambedkar Nagar uttar Pradesh

Fee details

    500/hour (US$5.95/hour)


Courses offered

  • Python

    • 500
    • Duration: 4 Weeks
    • Delivery mode: Online
    • Group size: 6 - 10
    • Instruction language: English, Hindi
    • Certificate provided: No
    Course Title: Python Programming: From Beginner to Expert
    Course Overview:
    This course is designed to take learners on a journey from mastering the fundamentals of Python programming to becoming proficient experts in utilizing Python for a variety of applications. Through a combination of theoretical concepts, hands-on exercises, and real-world projects, participants will develop a strong foundation in Python and advance towards mastering advanced topics such as web development, data science, machine learning, and more.

    Course Objectives:
    Mastering Python Basics:

    Introduction to Python and its syntax.
    Variables, data types, and basic operations.
    Control flow statements (if, else, loops).
    Functions and modules.
    Intermediate Python:

    Working with data structures: lists, tuples, dictionaries, sets.
    File handling and manipulation.
    Exception handling.
    Object-oriented programming (OOP) concepts.
    Advanced Python:

    Decorators, generators, and iterators.
    Regular expressions for pattern matching.
    Working with external libraries and APIs.
    Introduction to multi-threading and asynchronous programming.
    Specialized Topics:

    Web Development with Django or Flask:
    Building web applications from scratch.
    Understanding HTTP protocol and RESTful APIs.
    Database integration and ORM.
    Data Science with Pandas, NumPy, and Matplotlib:
    Data manipulation and analysis.
    Visualization techniques.
    Statistical analysis.
    Machine Learning with scikit-learn:
    Introduction to machine learning algorithms.
    Model training, evaluation, and deployment.
    Hands-on projects in classification, regression, and clustering.
    Real-World Projects:

    Collaborative coding projects to reinforce concepts learned throughout the course.
    Building applications tailored to specific domains, such as finance, healthcare, or IoT.
    Opportunities for participants to propose and implement their project ideas under the guidance of instructors.
  • Machine Learning

    • 500
    • Duration: 4 Weeks
    • Delivery mode: Online
    • Group size: 11 - 20
    • Instruction language: English, Hindi
    • Certificate provided: No
    Title: Comprehensive Machine Learning Course: From Beginner to Expert

    Description:

    This comprehensive course is designed to take you on a journey through the fundamentals of machine learning to advanced techniques, equipping you with the skills needed to become proficient in this rapidly evolving field. Whether you're a beginner with no prior experience or an experienced practitioner seeking to deepen your knowledge, this course has something valuable to offer.

    Course Structure:

    Introduction to Machine Learning:

    Understanding the fundamentals: What is machine learning? Types of machine learning (supervised, unsupervised, reinforcement learning).
    Setting up your environment: Python, Jupyter Notebooks, essential libraries (NumPy, Pandas, Scikit-learn).
    Exploratory Data Analysis (EDA) and Data Preprocessing:

    Data visualization techniques.
    Data cleaning and preprocessing: Handling missing values, feature scaling, encoding categorical variables.
    Supervised Learning:

    Regression: Linear regression, polynomial regression, regularization techniques (Lasso, Ridge).
    Classification: Logistic regression, decision trees, random forests, support vector machines (SVM), k-nearest neighbors (KNN).
    Unsupervised Learning:

    Clustering: K-means clustering, hierarchical clustering, DBSCAN.
    Dimensionality Reduction: Principal Component Analysis (PCA), t-distributed Stochastic Neighbor Embedding (t-SNE).
    Model Evaluation and Selection:

    Cross-validation techniques.
    Performance metrics: Accuracy, precision, recall, F1-score, ROC curves, AUC.
    Advanced Topics in Machine Learning:

    Ensemble methods: Bagging, boosting (AdaBoost, Gradient Boosting), stacking.
    Neural networks and deep learning: Introduction to artificial neural networks (ANN), deep neural networks (DNN), convolutional neural networks (CNN), recurrent neural networks (RNN).
    Hyperparameter tuning: Grid search, random search, Bayesian optimization.
    Practical Applications and Case Studies:

    Real-world projects and case studies across various domains such as healthcare, finance, marketing, and image recognition.
    Hands-on experience with industry-standard tools and frameworks.

    Ethical Considerations and Best Practices:
    Bias and fairness in machine learning models.
    Privacy and security concerns.
    Responsible AI practices.
  • C/C++ Programming

    • 500
    • Duration: 4 Weeks
    • Delivery mode: Online
    • Group size: 11 - 20
    • Instruction language: English, Hindi
    • Certificate provided: No
    Course Title: Comprehensive C/C++ Programming from Beginners to Experts

    Course Description:

    This comprehensive course is designed to take you from a complete beginner in programming to an expert in the C and C++ programming languages. Whether you're just starting out or looking to deepen your understanding and skills, this course offers a structured path to mastery.

    Introduction to Programming:

    Overview of programming concepts
    Introduction to the C/C++ languages
    Setting up your development environment
    Basic Syntax and Data Types:

    Variables and data types
    Operators and expressions
    Input and output
    Control Structures:

    Conditional statements (if, else, switch)
    Looping constructs (for, while, do-while)
    Functions and Modular Programming:

    Function declaration and definition
    Passing arguments by value and reference
    Function overloading and recursion
    Arrays and Strings:

    Declaring and accessing arrays
    Manipulating strings
    Multi-dimensional arrays
    Pointers and Memory Management:

    Understanding pointers and memory addresses
    Dynamic memory allocation (malloc, free, new, delete)
    Pointers and arrays
    Object-Oriented Programming in C++:

    Classes and objects
    Encapsulation, inheritance, and polymorphism
    Constructors and destructors
    Advanced Topics:

    Templates and generic programming
    Exception handling
    File I/O operations
    Standard Template Library (STL):

    Containers (vectors, lists, maps, etc.)
    Algorithms (sorting, searching, etc.)
    Best Practices and Optimization Techniques:

    Code optimization techniques
    Memory management best practices
    Debugging and error handling strategies
    Project-Based Learning:

    Building real-world applications and projects to apply learned concepts
    Code reviews and feedback for improvement
    Advanced C/C++ Features and Recent Developments:

    C++11/14/17/20 features
    Introduction to modern C++ programming paradigms
    Tips for Career Growth:

    Guidance on using C/C++ in industry and open-source projects
    Interview preparation tips and strategies
  • Front End Web Developer

    • 500
    • Duration: 4 Weeks
    • Delivery mode: Online
    • Group size: 6 - 10
    • Instruction language: English, Hindi
    • Certificate provided: No
    Course Title: Front End Web Development: From Beginner to Expert

    Course Overview:
    This course is designed to take you on a journey from the fundamentals of web development to advanced techniques, empowering you to become a proficient front end web developer. Whether you're a complete beginner or have some experience in web development, this course will equip you with the knowledge and skills needed to create stunning, interactive, and responsive websites.

    Course Structure:

    Module 1: Introduction to Web Development
    Understanding the basics of web development
    Overview of HTML, CSS, and JavaScript
    Setting up your development environment

    Module 2: HTML Fundamentals
    Learning the structure of HTML documents
    Working with HTML tags and attributes
    Creating forms, tables, and semantic markup

    Module 3: CSS Essentials
    Introduction to CSS syntax and selectors
    Styling text, colors, backgrounds, and borders
    Box model and layout techniques
    Responsive design principles

    Module 4: Intermediate CSS
    Understanding CSS preprocessors (Sass, Less)
    Working with Flexbox and Grid for layout
    CSS animations and transitions

    Module 5: JavaScript Basics
    Introduction to JavaScript syntax and data types
    Working with variables, arrays, and objects
    Control flow and loops
    Functions and scope

    Module 6: DOM Manipulation
    Understanding the Document Object Model (DOM)
    Manipulating HTML and CSS with JavaScript
    Handling events and user interactions

    Module 7: Advanced JavaScript
    Object-oriented programming in JavaScript
    ES6 features: arrow functions, classes, modules
    Asynchronous JavaScript and Promises

    Module 8: Front End Frameworks
    Introduction to popular frameworks (e.g., React, Vue.js)
    Building dynamic and interactive web applications
    State management and component-based architecture

    Module 9: Web Performance Optimization
    Techniques for improving website loading speed
    Code minification and compression
    Browser rendering optimization

    Module 10: Accessibility and Cross-Browser Compatibility
    Ensuring accessibility for users with disabilities
    Testing and debugging across different browsers and devices
    Best practices for responsive design

    Module 11: Version Control with Git
    Understanding version control concepts
    Git fundamentals: repositories, branches, commits
    Collaborative development workflows with Git

    Module 12: Project Development
    Applying the concepts learned in real-world projects
    Building a portfolio of web development projects
    Collaboration and code reviews

    Module 13: Advanced Topics and Emerging Technologies
    Exploring advanced front end development concepts
    Introduction to Progressive Web Apps (PWAs) and WebAssembly
    Trends and future directions in web development

    Module 14: Capstone Project
    Developing a comprehensive web application from scratch
    Integration of front end technologies with back end systems
    Presentation and demonstration of the project

    Module 15: Career Development and Industry Insights
    Job search strategies for front end developers
    Interview preparation and portfolio showcase
    Networking and staying updated with industry trends
  • Java

    • 500
    • Duration: 4 Weeks
    • Delivery mode: Online
    • Group size: 6 - 10
    • Instruction language: English, Hindi
    • Certificate provided: No
    Course Title: Comprehensive Java Programming: From Beginner to Expert

    Course Description:

    Welcome to the Comprehensive Java Programming course designed to take you from a complete beginner to a proficient Java developer. Whether you're looking to start a career in software development or enhance your coding skills, this course is your pathway to mastering Java programming.

    This course is structured to provide a step-by-step learning journey, starting with the basics of Java syntax and gradually advancing to more complex concepts and techniques used by experienced Java developers. Each module is carefully crafted to build upon the knowledge gained in the previous sections, ensuring a solid understanding of Java programming principles.

    Here's an overview of what you'll learn throughout the course:

    Introduction to Java:

    Understanding the basics of programming
    Setting up your Java development environment
    Writing your first Java program
    Java Fundamentals:

    Variables, data types, and operators
    Control flow: decision making and looping
    Methods and functions
    Object-Oriented Programming (OOP) in Java:

    Classes and objects
    Encapsulation, inheritance, and polymorphism
    Abstract classes and interfaces
    Exception Handling:

    Handling errors and exceptions in Java
    Try-catch blocks and exception propagation
    Custom exception classes
    Collections Framework:

    Arrays, ArrayLists, LinkedLists
    Maps and Sets
    Working with collections: iteration, sorting, searching
    File Handling and I/O Operations:

    Reading from and writing to files
    Streams and Readers/Writers
    Serialization and deserialization
    Multithreading and Concurrency:

    Understanding threads in Java
    Synchronization and thread safety
    Executors and thread pools
    Advanced Java Concepts:

    Generics and wildcards
    Reflection and annotations
    Lambda expressions and functional interfaces
    Java Database Connectivity (JDBC):

    Connecting to databases using JDBC
    Executing SQL queries
    Handling transactions
    Building Java Applications:

    Introduction to JavaFX for building GUI applications
    Web development with Java Servlets and JSP
    Introduction to Spring Framework for enterprise application development
  • Advance Operating System

    • 500
    • Duration: 4 Weeks
    • Delivery mode: Online
    • Group size: 6 - 10
    • Instruction language: English, Hindi
    • Certificate provided: No
    Course Title: Advanced Operating Systems

    Course Description:

    This course delves into the design, implementation, and optimization of modern operating systems. It covers fundamental concepts for beginners while exploring advanced topics for experienced students. The course emphasizes practical applications and hands-on experience through programming assignments and projects.

    Course Objectives:

    Foundations of Operating Systems:

    Introduction to operating system concepts such as processes, threads, memory management, and file systems.
    Understanding the role of the operating system in managing hardware resources efficiently.
    Concurrency and Synchronization:

    Advanced concepts in process synchronization, mutual exclusion, and deadlock prevention.
    Techniques for implementing concurrent programs and ensuring thread safety.
    Memory Management:

    Memory hierarchy and management techniques, including virtual memory and paging.
    Memory allocation strategies and optimization for efficient resource utilization.
    File Systems:

    File system organization and implementation, including file organization, directory structures, and disk management.
    Advanced file system features such as journaling, encryption, and compression.
    I/O Systems:

    Input/output system design and optimization for efficient data transfer.
    Device drivers, interrupt handling, and I/O scheduling algorithms.
    Distributed Operating Systems:

    Concepts of distributed computing and distributed systems architecture.
    Distributed operating system services, including communication, synchronization, and fault tolerance.
    Virtualization and Containerization:

    Virtualization techniques, including hardware virtualization and software-based virtualization.
    Containerization technologies such as Docker and Kubernetes, and their impact on system design and deployment.
    Security and Protection:

    Operating system security mechanisms, including authentication, access control, and encryption.
    Techniques for protecting system resources and ensuring data confidentiality, integrity, and availability.
    Performance Tuning and Optimization:

    Profiling and benchmarking techniques for identifying performance bottlenecks.
    Optimization strategies for improving system responsiveness, throughput, and scalability.
  • Advance Computer Network

    • 500
    • Duration: 4 Weeks
    • Delivery mode: Online
    • Group size: 6 - 10
    • Instruction language: English, Hindi
    • Certificate provided: No
    Course Title: Advanced Computer Networking

    Course Overview:
    This course is designed to provide students with a deep understanding of advanced concepts and technologies in computer networking. Starting from the fundamentals of networking protocols and architectures, the course progresses to explore advanced topics such as network security, software-defined networking (SDN), virtualization, cloud networking, and emerging technologies like Internet of Things (IoT) and 5G networks.

    Course Objectives:

    To understand the theoretical foundations of computer networking.
    To explore advanced networking protocols and architectures.
    To learn about network security mechanisms and techniques.
    To gain proficiency in designing and managing complex network infrastructures.
    To familiarize with emerging trends and technologies in computer networking.
    Course Outline:

    Module 1: Fundamentals of Networking

    Introduction to computer networks
    OSI and TCP/IP models
    Network topologies and architectures
    Data transmission techniques
    Wired and wireless communication technologies
    Module 2: Advanced Networking Protocols

    Routing protocols (OSPF, BGP, etc.)
    Switching technologies (VLANs, STP, etc.)
    Quality of Service (QoS) mechanisms
    Network Address Translation (NAT)
    IPv6 deployment and transition strategies
    Module 3: Network Security

    Threats and vulnerabilities in networks
    Cryptography and encryption techniques
    Firewalls and intrusion detection/prevention systems (IDS/IPS)
    Virtual Private Networks (VPNs)
    Secure Socket Layer (SSL) and Transport Layer Security (TLS)
    Module 4: Software-Defined Networking (SDN)

    SDN architecture and components
    OpenFlow protocol
    SDN controllers and applications
    Network Function Virtualization (NFV)
    SDN deployment and management
    Module 5: Cloud Networking

    Introduction to cloud computing
    Virtualization technologies (Hypervisors, Containers)
    Cloud service models (IaaS, PaaS, SaaS)
    Network virtualization in cloud environments
    Hybrid and multi-cloud networking
    Module 6: Emerging Technologies

    Internet of Things (IoT) networking
    Edge computing and fog networking
    5G networks and beyond
    Blockchain in networking
    Future trends and challenges
    Module 7: Practical Labs and Projects

    Implementation of network protocols and security mechanisms
    Configuration and management of networking devices (routers, switches, firewalls)
    Design and deployment of SDN solutions
    Cloud networking experiments using virtualization platforms
    Hands-on projects involving emerging technologies

Reviews

No reviews yet. Be the first one to review this tutor.