- Executors
-
Learn
Python Learning Hub Runnable examples, NumPy, pandas, and more C & C++ Learning Hub Pointers, memory, STL, and modern C++ C# Learning HubC# basics, OOP, LINQ, async, and .NET exercises Python Algorithms Search, sorting, recursion, and visualizers O(n) C & C++ Algorithms Compare algorithms implemented in C and C++
- Challenges
Gradient descent improves the weights a little at a time by moving against the gradient:
w ← w - learning_rate × dL/dw
Train a sigmoid neuron with stochastic gradient descent. For each epoch, go through the samples in the given order, and for each sample:
- z = sample · weights + bias, y = 1 / (1 + e^(-z))
- delta = 2 × (y - target) × y × (1 - y)
- weights[i] ← weights[i] - learning_rate × delta × sample[i] (for every i), then bias ← bias - learning_rate × delta
Implement train_neuron(samples, targets, weights, bias, learning_rate, epochs).
Input
samples: m training examples, each with n values.
targets: The m correct outputs (between 0 and 1).
weights, bias: The starting weights (n values) and bias.
learning_rate, epochs: The step size and how many passes over the data.
Output
Return the trained weights followed by the trained bias (n + 1 numbers).
Constraints
1 ≤ m ≤ 50, 1 ≤ n ≤ 10, 1 ≤ epochs ≤ 1,000
0 < learning_rate ≤ 5
-5 ≤ each value ≤ 5
Examples
Example 1
Input:
bias = 0.0
epochs = 1
samples = [
[1.0]
]
targets = [1.0]
weights = [0.0]
learning_rate = 1.0
Expected output:
[0.25, 0.25]
Explanation
y = σ(0) = 0.5, delta = 2 × (0.5 - 1) × 0.25 = -0.25. Weight: 0 - 1 × (-0.25) × 1 = 0.25. Bias: 0 - 1 × (-0.25) = 0.25. Result: [0.25, 0.25].
Example 2
Input:
bias = 0.0
epochs = 500
samples = [
[0.0, 0.0],
[0.0, 1.0],
[1.0, 0.0],
[1.0, 1.0]
]
targets = [0.0, 0.0, 0.0, 1.0]
weights = [0.0, 0.0]
learning_rate = 2.0
Expected output:
[6.346558, 6.339863, -9.592092]
Explanation
This is the logical AND gate. After 500 epochs both weights are large and positive and the bias is strongly negative, so only the input [1, 1] gives an output above 0.5.
References
-
Example 1 Not runInput:
bias = 0.0 epochs = 1 samples = [ [1.0] ] targets = [1.0] weights = [0.0] learning_rate = 1.0Expected output:[0.25, 0.25]Your output -
Example 2 Not runInput:
bias = 0.0 epochs = 500 samples = [ [0.0, 0.0], [0.0, 1.0], [1.0, 0.0], [1.0, 1.0] ] targets = [0.0, 0.0, 0.0, 1.0] weights = [0.0, 0.0] learning_rate = 2.0Expected output:[6.346558, 6.339863, -9.592092]Your output
4 hidden tests also run when you submit.
Online C# Compiler & Debugger
Write, compile, run, and debug C# code online. Set breakpoints, step into or over code, and inspect variables and nested objects in a full IDE with multiple files, saved workspaces, sharing, and live collaboration—no setup required.
🚀 350,749 total executions (3 this month)
Practice C# with coding challenges
Solve hands-on problems right in this editor: run the sample tests, submit, and get an AI code review.
🔷 About This C# / .NET Online Executor
The CodeUtility C# Executor lets you write and run real C# code directly in your browser - no installation, Visual Studio setup, or .NET SDK required. It’s powered by a secure sandbox that supports the .NET runtime and modern C# language versions, including C# 9 and later.
This tool uses dotnet-script under the hood to compile and execute your code with true .NET behavior, allowing you to experiment with both basic and advanced C# features like LINQ, async/await, pattern matching, and generics.
You can test simple scripts, functions, and logic flows, or explore concepts like classes, structs, inheritance, and interfaces - all in a clean, distraction-free coding environment.
Whether you’re learning C#, testing algorithms, or experimenting with .NET features, the CodeUtility C# Executor gives you a fast, secure, and reliable way to run C# code instantly from any browser.
More than a code runner
Use a multi-file editor, an isolated execution terminal, runtime-specific libraries, persistent workspaces, sharing, and real-time collaboration from the same executor.
How to use this executor?
Choose a runtime, open or create a file, write your code, and select Run. Output appears in the terminal, while signed-in users can keep files in a workspace, install libraries, and collaborate through shares.
- Select a version and edit the current file or open another workspace file.
- Run the code, provide input in the terminal when requested, and review saved run history.
- Use libraries, workspace tools, sharing, and chat when your task needs more than one snippet.
💡 C# Basics & Examples You Can Try Above
1. Declaring Variables and Constants
C# uses strongly-typed variable declarations. Use const for compile-time constants and readonly for runtime constants.
int age = 30;
double pi = 3.14159;
char grade = 'A';
string name = "Alice";
bool isActive = true;
// Constants
const int MaxUsers = 100;
const string Company = "CodeUtility";
2. Conditionals (if / switch)
Use if, else if, and switch for control flow.
int x = 2;
if (x == 1)
{
Console.WriteLine("One");
}
else if (x == 2)
{
Console.WriteLine("Two");
}
else
{
Console.WriteLine("Other");
}
switch (x)
{
case 1:
Console.WriteLine("One");
break;
case 2:
Console.WriteLine("Two");
break;
default:
Console.WriteLine("Other");
break;
}
3. Loops
C# supports for, while, and foreach loops.
for (int i = 0; i < 3; i++)
{
Console.WriteLine(i);
}
int n = 3;
while (n > 0)
{
Console.WriteLine(n);
n--;
}
4. Arrays
Arrays store fixed-size collections of elements of the same type.
int[] numbers = { 10, 20, 30 };
Console.WriteLine(numbers[1]);
5. List Manipulation
Use List<T> for dynamic collections.
List<int> nums = new List<int> { 1, 2, 3 };
nums.Add(4);
nums.Remove(2);
foreach (int n in nums)
{
Console.Write(n + " ");
}
6. Console Input/Output
Use Console.WriteLine and Console.ReadLine for basic I/O.
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine($"Hello, {name}!");
7. Functions
Define methods using a return type, name, and parameters.
int Add(int a, int b)
{
return a + b;
}
Console.WriteLine(Add(3, 4));
8. Dictionaries
Dictionary<TKey, TValue> stores key-value pairs.
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Alice"] = 30;
Console.WriteLine(ages["Alice"]);
9. Exception Handling
Handle runtime errors using try, catch, and finally.
try
{
throw new Exception("Something went wrong");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
10. File I/O
Use File and StreamReader/StreamWriter for file operations.
File.WriteAllText("file.txt", "Hello File");
string text = File.ReadAllText("file.txt");
Console.WriteLine(text);
11. String Manipulation
C# strings support methods like Length, Substring, Contains.
string message = "Hello World";
Console.WriteLine(message.Length);
Console.WriteLine(message.Substring(0, 5));
Console.WriteLine(message.Contains("World"));
12. Classes & Objects
C# supports object-oriented programming through classes and objects.
class Person
{
public string Name;
public Person(string name) => Name = name;
public void Greet() => Console.WriteLine($"Hi, I'm {Name}");
}
Person p = new Person("Alice");
p.Greet();