Code Clinic: C#
4h 52mIntermediate2018-10-31
Authors

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