Fixing Random: Techniques in C#

Gain insights into tackling uncertainty in C# programming. Delve into improving System.Random class with powerful techniques for efficient problem-solving and fewer bugs. Discover new language uses.

Advanced

44 Lessons

20h

Certificate of Completion

Gain insights into tackling uncertainty in C# programming. Delve into improving System.Random class with powerful techniques for efficient problem-solving and fewer bugs. Discover new language uses.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

36 Playgrounds

This course includes

36 Playgrounds

Course Overview

There are a lot of problems we face in programming that deal with uncertainty, statistics, and probabilities. Unfortunately, the majority of the general-purpose languages that we use on a daily basis don’t provide a great approach to solving them. This is particularly the case in C# with the System.Random class. The implementations of this class have been pretty poor for some time. System.Random in C# regularly leads to unexpected, buggy outcomes. If you’re a C# fan who’s looking for new ways to use the l...Show More

Course Content

1.

Introduction to System.Random in C#

Get familiar with System.Random's limitations and its impact on C# programming.
2.

Introduction to Fixing Random

Look at improvements to C#’s randomness, probability distributions, and sampling techniques.
3.

Fixing Random - Discrete Distribution

Master the steps to implement and optimize discrete distributions in C#, including Bernoulli and alias methods.
4.

Fixing Random - Continuous Distribution

Apply your skills to sampling and estimating expected values in continuous distributions.
5.

Conclusion

Explore probabilistic programming, improved tools, and efficient techniques for estimating values.
6.

Appendix

2 Lessons

See how it works to define and generate non-uniform random data in C#.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor