HomeCoursesFixing Random: Techniques in C#

Advanced

20h

Updated 5 months ago

Fixing Random: Techniques in C#
Save

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.
Join 2.7 million developers at
Overview
Content
Reviews
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 language, then this course is for you. It proposes different approaches to improving the System.Random class, providing a number of powerful techniques that solve problems more efficiently and with fewer lines of code.
There are a lot of problems we face in programming that deal with uncertainty, statistics, and probabilities. Unfortunately, the...Show More

Content

1.

Introduction to System.Random in C#

2 Lessons

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

2.

Introduction to Fixing Random

3 Lessons

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

3.

Fixing Random - Discrete Distribution

22 Lessons

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

5.

Conclusion

2 Lessons

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#.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.

Course Author:

Developed by MAANG Engineers
Every Educative resource is designed by our in-house team of ex-MAANG software engineers and PhD computer science educators — subject matter experts who’ve shipped production code at scale and taught the theory behind it. The goal is to get you hands-on with the skills you need to stay ahead in today's constantly evolving tech landscape. No videos, no fluff — just interactive, project-based learning with personalized feedback that adapts to your goals and experience.

Trusted by 2.7 million developers working at companies

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.

Adaptive Learning

Explain with AI

AI Code Mentor

Free Resources

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath