HomeCoursesFixing Random: Techniques in C#
5.0

Advanced

20h

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.
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 lesson is designed by our in-house team of ex-MAANG software engineers and PhD computer science educators, and developed in consultation with developers and data scientists working at Meta, Google, and more. Our mission is to get you hands-on with the necessary skills to stay ahead in a constantly changing industry. No video, 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.

AI Prompt

Build prompt engineering skills. Practice implementing AI-informed solutions.

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.

Explain with AI

Select any text within any Educative course, and get an instant explanation — without ever leaving your browser.

AI Code Mentor

AI Code Mentor helps you quickly identify errors in your code, learn from your mistakes, and nudge you in the right direction — just like a 1:1 tutor!

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