• Welcome to your new Gnomio site

    Now, you are in control!

    Moodle is an open-source Learning Management System (LMS) that provides educators with the tools and features to create and manage online courses. It allows educators to organize course materials, create quizzes and assignments, host discussion forums, and track student progress. Moodle is highly flexible and can be customized to meet the specific needs of different institutions and learning environments.

    Moodle supports both synchronous and asynchronous learning environments, enabling educators to host live webinars, video conferences, and chat sessions, as well as providing a variety of tools that support self-paced learning, including videos, interactive quizzes, and discussion forums. The platform also integrates with other tools and systems, such as Google Apps and plagiarism detection software, to provide a seamless learning experience.

    Moodle is widely used in educational institutions, including universities, K-12 schools, and corporate training programs. It is well-suited to online and blended learning environments and distance education programs. Additionally, Moodle's accessibility features make it a popular choice for learners with disabilities, ensuring that courses are inclusive and accessible to all learners.

    The Moodle community is an active group of users, developers, and educators who contribute to the platform's development and improvement. The community provides support, resources, and documentation for users, as well as a forum for sharing ideas and best practices. Moodle releases regular updates and improvements, ensuring that the platform remains up-to-date with the latest technologies and best practices.

    Links of interest:

    (You can edit or remove this text)

Available courses

12-Week Course Plan: Object Oriented Programming & Methodology

Week 1: Introduction to Programming Paradigms

Topics

  • Programming paradigms overview
  • Procedural vs Object-Oriented Programming
  • Concepts of software methodology
  • History and evolution of OOP
  • Advantages of OOP

Lab

  • Setup development environment
  • Write first program (Hello World) in OOP language (Java/C++/Python)

Learning Outcome

  • Understand why OOP is used in modern software development.

Week 2: Basic Programming Constructs

Topics

  • Variables and data types
  • Operators
  • Control structures (if, switch)
  • Loops (for, while, do-while)
  • Input/output handling

Lab

  • Programs using loops and conditions
  • Number operations (prime, factorial, Fibonacci)

Learning Outcome

  • Ability to write basic programs.

Week 3: Functions and Modular Programming

Topics

  • Functions/methods
  • Parameter passing
  • Return types
  • Scope of variables
  • Recursion basics

Lab

  • Programs using functions
  • Recursive algorithms

Learning Outcome

  • Break programs into reusable modules.

Week 4: Introduction to Classes and Objects

Topics

  • Classes and objects
  • Attributes and methods
  • Object creation and memory concepts
  • Constructors and destructors

Lab

  • Create simple classes (Student, Book, BankAccount)

Learning Outcome

  • Understand object modelling.

Week 5: Encapsulation and Data Hiding

Topics

  • Access specifiers (public, private, protected)
  • Encapsulation concept
  • Getter and setter methods
  • Advantages of data hiding

Lab

  • Create encapsulated classes with validation

Learning Outcome

  • Protect data using encapsulation.

Week 6: Inheritance

Topics

  • Concept of inheritance
  • Types of inheritance
    • Single
    • Multilevel
    • Hierarchical
    • Multiple (language dependent)
  • Code reuse through inheritance

Lab

  • Create class hierarchies (Person → Student → Graduate)

Learning Outcome

  • Build reusable class structures.

Week 7: Polymorphism

Topics

  • Function overloading
  • Operator overloading (language dependent)
  • Method overriding
  • Dynamic binding

Lab

  • Programs demonstrating compile-time and runtime polymorphism

Learning Outcome

  • Implement flexible and extensible code.

Week 8: Abstraction and Interfaces

Topics

  • Abstraction concept
  • Abstract classes
  • Interfaces
  • Difference between interface and abstract class

Lab

  • Implement abstract classes and interfaces

Learning Outcome

  • Design generalized systems.

Week 9: Exception Handling

Topics

  • Types of errors
  • Exception handling concepts
  • try, catch, finally
  • Custom exceptions

Lab

  • Programs handling runtime errors

Learning Outcome

  • Build robust programs.

Week 10: File Handling

Topics

  • File input/output
  • Reading and writing files
  • Serialization (if Java)
  • File management operations

Lab

  • Student record management using files

Learning Outcome

  • Store and retrieve persistent data.

Week 11: Object-Oriented Design & UML

Topics

  • Object-oriented analysis and design
  • UML diagrams
  • Class diagrams
  • Sequence diagrams
  • Use case diagrams

Lab

  • Design UML for a mini project

Learning Outcome

  • Translate real problems into OOP design.

Week 12: Mini Project & Revision

Topics

  • Review of OOP concepts
  • Design patterns introduction
  • Code optimization and testing

Lab / Project

  • Mini project examples:
    • Library Management System
    • Banking System
    • Student Management System

Learning Outcome

  • Apply OOP concepts to real applications.