Skip to content

Homework

With these exercises, you can earn points that are added to your exam score. In the exercises and the evaluation results, you will see a text “iMsc” for optional exercises; these iMsc points are not counted! (These are special points for the Hungarian curriculum). All non-iMsc exercises are available for points in this course, 5 homeworks, with a maximum of 4 points per homework, for a total of 20 points. Here you find the exercise descriptions; the submission of the solutions is expected via GitHub Classroom. If you fail to submit the exercises exactly as in the guide, or if it is submitted late, you get no points at all! Make sure to follow the guide and do everything in time!

Working code

You are expected to write code that actually works! Your code will be executed, and it is required to fulfill the specified task.

The exercises

  1. MSSQL server-side programming
  2. Entity Framework
  3. MongoDB
  4. REST API and Web API
  5. GraphQL

Submission

Each homework must be submitted in a personal git repository. Please refer to the detailed guideline here. You must carefully study these guidelines!

IMPORTANT

The submissions of the homework must follow these guidelines. Submissions not adhering to the expected format are not considered.

Workflow errors, i.e., not following the guidelines (e.g., not assigning the right person to the pull request, or not assigning anyone to it at all), are penalized.

Screenshots

Some of the exercises require you to create a screenshot. This screenshot is proof of the completion of the exercise. The expected content of these screenshots is detailed in the exercise description. The screenshot may include the entire desktop or just the required portion of the screen.

The screenshots must be submitted as part of the solution code, uploaded to the git repository. The repositories are private; only you and the instructors can access them. You may obscure parts of the screenshot if there is any content that is not relevant to the exercise, and you would like to remove it.

Required tools

  • Windows, Linux, or macOS: All tools are platform-independent, or a platform-independent alternative is available.
  • A GitHub account and a git client.

MAC OS / Apple Silicon Setup Guide

If you are using a Mac with an Apple Silicon processor, you cannot run the full Windows version of Visual Studio. Instead, you should use a native development workflow using VS Code and Docker.

  1. Development Environment (Native macOS):

  2. SQL Server Database (Docker): You cannot install SQL Server directly on macOS, so you must use Docker.

    Step A: Install Docker Desktop * Download "Docker Desktop for Mac with Apple silicon" from the Docker Website or install via Homebrew (brew install --cask docker).

    Step B: Start the Database Open your macOS Terminal and run the following command. This creates a container named database-sql.

    docker run -e "ACCEPT_EULA=Y" \
    -e "MSSQL_SA_PASSWORD=YourStrong@Passw0rd" \
    -p 1433:1433 \
    --name database-sql \
    -d [mcr.microsoft.com/mssql/server:2022-latest](https://mcr.microsoft.com/mssql/server:2022-latest)
    
  3. Connecting to the Database:

    • From VS Code: Use the SQL Server extension you installed. Connect to localhost with username sa and the password you defined above.
    • From C# Code: Update your ConnectionString in appsettings.json.
      "DefaultConnection": "Server=localhost;Database=master;User Id=sa;Password=YourStrong@Passw0rd;TrustServerCertificate=True;"
      
      Note regarding the Database name: In the Docker command, --name database-sql names the container. In the connection string, Database=master refers to the logical database. You may need to change master to the specific database name created by the homework script (e.g., mssql.sql) once you run it.

For homework using the MSSQL platform:

For homework using a MongoDB database:

For homeworks using REST API:

  • One of the following developer tools:
  • Postman
  • Hoppscotch - An open-source, browser-based alternative.

For writing C# code (most homeworks, except the first one):

  • One of the following development environments:
  • .NET 8.0 SDK

    .NET 8.0

    Mind the version! You need .NET SDK version 8.0 for these exercises.

    On Windows, it might already be installed along with Visual Studio (see here how to check it); if not, use the link above to install the SDK (not the runtime). You may need to install it manually when using Linux or macOS.

Submission evaluation

The evaluation of the exercises is semi-automatic. Your code will be executed; therefore, it is vital to follow the exercise descriptions precisely (e.g., use the provided code skeleton, change only the allowed parts of the code, etc.).

You will receive a preliminary result about your submission in GitHub; see the guidelines here. If there are some issues you need to diagnose, the entire log of the execution is available for you on the GitHub Actions web page. A short introduction is provided here.

Verification

In some of the exercises, where the technology permits, you will find unit tests. These tests help you verify your work, but they are no substitute for your validation. When you upload your work, more exhaustive testing will evaluate your submission.


2025-12-13 Contributors