Code Clinic: C#

Code Clinic: C#

4h 52mIntermediate2018-10-31

Authors

Anton Delsink

Anton Delsink

Programmer, Teacher

Course details

Successful programmers know more than just how to code. They also know how to think about solving problems. Code Clinic is a series of courses in which our instructors solve the same problems using different programming languages. In each course, instructors provide tips and tricks for working in a particular language and help you grasp why you might want to learn one language over another. Here, Anton Delsink works with C#. Throughout the course, Anton introduces challenges and then provides an overview of his solutions in C#. Challenges include topics such as geolocation, face recognition, and accessing peripherals. Visit other courses in the series to see how to solve the same challenges in languages like C++, JavaScript, PHP, Python, Ruby, Go, and Swift.

Skills covered

C#Limited SeriesProgramming LanguagesMicrosoftSoftware Development

Concepts

0. Introduction

  • 01 - Welcome
  • 02 - What you should know
  • 03 - Exercise files
  • 04 - Getting the most from Code Clinic

1. Problem 1 - Pond Oreille

  • 05 - Intro - The weather at Pond Oreille
  • 06 - Solution overview
  • 07 - Explore the data with Excel
  • 08 - Explore the Visual Studio solution
  • 09 - Create a new TryParse method
  • 10 - Testing with sample data
  • 11 - Filter data using LINQ
  • 12 - Math.NET linear fit to find the slope
  • 13 - Data visualization with LiveCharts
  • 14 - Conclusion

2. Problem 2 - Where Am I

  • 15 - Intro - Where am I
  • 16 - Solution overview
  • 17 - Using the GeoCoordinateWatcher
  • 18 - Sign up for Map Image REST API
  • 19 - Call the Map Image REST API
  • 20 - Conclusion

3. Problem 3 - Eight Queens

  • 21 - Intro - Eight queens
  • 22 - Solution overview
  • 23 - Eight queens test cases
  • 24 - Check for attacks across rows
  • 25 - Check for attacks on diagonals
  • 26 - Find solutions with recursion
  • 27 - Debug recursive calls
  • 28 - Find all solutions
  • 29 - Check found solutions against known
  • 30 - Conclusion

4. Problem 4 - Accessing Peripherals

  • 31 - Intro - Accessing peripherals
  • 32 - Solution overview
  • 33 - Create WinForms project with NAudio
  • 34 - Using class SignalGenerator
  • 35 - Experiment with TrackBar controls
  • 36 - Tracking MouseMove over a panel
  • 37 - Calculate relative mouse movement
  • 38 - Calculate changes in volume and frequency
  • 39 - Conclusion

5. Problem 5 - Facial Recognition

  • 40 - Intro - Facial recognition
  • 41 - Solution overview
  • 42 - Create a prompt with arguments
  • 43 - Using the API URL and API key
  • 44 - Using class HttpWebRequest
  • 45 - Parse JSON response with JArray
  • 46 - Convert rectangles to polygons
  • 47 - Using SharpImage method DrawPolygon
  • 48 - Display output image
  • 49 - Conclusion

6. Problem 6 - Real-Time Information Dashboard

  • 50 - Intro - Real-time information dashboard
  • 51 - Solution overview
  • 52 - NuGet and FactoryTelemetry
  • 53 - LiveCharts AngularGauge XAML
  • 54 - LiveCharts CartesianChart XAML
  • 55 - Configuring data binding
  • 56 - Load data into CharValues
  • 57 - Data binding gauge to property
  • 58 - X-axis label formatter
  • 59 - Set up for a dynamic x-axis
  • 60 - Calculating x-axis range dynamically
  • 61 - Adding multiple line series
  • 62 - Conclusion

Conclusion

  • 63 - Next steps
100,000 Toman