About

Purpose of this website

The content of this website is not intended to replace the official script (opens in a new tab) in any way. Instead, we aim to provide supplementary ideas, tips, and resources to enhance the conventional methods of studying for this course. Our goal is to offer an additional perspective.

We encourage students to use this content alongside the official script. Whether you are looking for clarification on specific concepts or seeking new study strategies, this supplementary material is designed to support your learning journey.

The original website was created by teaching assistants for the 2024 edition of the course of Discrete Mathematics.

It is now being maintained by teaching assistants for the 2025 edition of the course.

Contributing

We encourage anyone who finds a mistake or is motivated to share useful explanations/problems to contribute to the website :).


Contributors

    Setup

    To contribute, you can either press the Edit this page on Github button on any page and then follow the steps on Github or you can directly do the following:

    1. Fork the repository on github
    2. Make your changes locally by cloning your forked repo
      • To run locally use npm run dev
      • To test production use npm run build && npm run start
    3. Open a pull request (for example by contribute button on the github page of your fork)

    Writing Problems

    To write a problem, you can use the <Problem/> component in an .mdx file as follows:

    <Problem
          title="Sample Math Problem"
          difficulty={3} 
          relevance={4}
          source="Example Source"
          link="https://example.com"
      >
      <div label="question">
          What is the value of $x$ in the equation $x^2 + 4x - 5 = 0$?
      </div>
      <div label="hint">
        Try factoring the equation into two binomials.
      </div>
      <div label="answer">
        The value of $x$ is either $-5$ or $1$.
      </div>
      <div label="takeaway">
        Factoring quadratic equations can simplify the process of finding solutions.
        </div>
    </Problem>
    Glasklar ProblemDifficulty: 3/5Relevance: 🎓🎓🎓🎓Source:  Example Source

    What is the value of xx in the equation x2+4x−5=0x^2 + 4x - 5 = 0?

    Props

    title
    • Type: string (required)
    • Description: The title of the problem, displayed prominently at the top of the component.
    difficulty
    • Type: number (optional)
    • Description: Represents the difficulty level of the problem. Accepts an integer from 1 to 6 (currently it won'):
      • 1 (Easy)
      • 2 (Fairly Easy)
      • 3 (Moderate)
      • 4 (Hard)
      • 5 (Very Hard)
      • 6 🐉 (Hmmm?)
    relevance
    • Type: number (optional)
    • Description: Represents the relevance or importance of the problem. Accepts a number, displayed as repeated 🎓 emoji to visually convey the relevance level for the course. Use a scale of 0-4. The number 0 will render as đŸĒŠ, meant for fun but not really relevant exercises :).
    source
    • Type: string (optional)
    • Description: The source of the problem, such as a textbook, website, or other reference material. Displays next to the problem if provided.
    link
    • Type: string (optional)
    • Description: URL link for the problem source. If link is provided along with source, the source will be displayed as a clickable link in a custom color.

    Children

    The possible types for labels are question, answer, hint, and takeaway.

    The order of the elements you pass as children to the component matters only within the same label type. For example, the first hint will be labeled as Hint 1, the second as Hint 2, and so on. However, the overall order of the labels will always follow the sequence: question, hint, answer, takeaway. This ensures a consistent structure for the problem presentation.

    Additionally, you can have multiple questions, answers, hints or takeaways. The numbering will apply only when there are multiple elements of the same type, such as multiple questions or multiple hints.