C# Programming II (SDEV 2420)

In the C# Programming II course I learned a lot of key important concepts such as how to use and implement properties/indexers, generics/collections, how to enumerate collections, handle logic and events, use LINQ to query data, overload operators, improve execution through asynchronous programming, and so much more!

Course reflection

This course taught me so many important concepts and really helped me understand just how powerful and flexible the C# programming language really is.

At the beginning of the course I learned how to use properties to keep variables and processes hidden. This is also true for indexers which are also used for encapsulation purposes, but instead you use array like brackets. Using properties and indexers we can hide data without having to write multiple getter and setters for each variable.

Next we have generics, a powerful way of coding classes and methods that allow us to pass different data types without having to do a lot of casting/boxing of the data. This was so much fun to learn and really helps us create flexible and reusable methods and functions.

Events, and Queries was the next big key concepts to learn. I first learned how to use delegates and events to respond to certain conditions and handle them accurately. Then I learned about the Language-Integrated Query (LINQ) and how to use it. I got to say, I wasn’t really good at this at first but it finally clicked with me after having a discussion with my instructor.

Lastly, I learned the difference and importance of synchronous and asynchronous programming. Asynchronous being the most important things I’ve learned in this course in my eyes. Without it, we wouldn’t be able to run separate threads, take advantage of our CPUs having multiple cores, and allowing the GUI to be active while a function or method is executing.

Overall, this course taught me just how powerful and flexible the C# programming language is. Everything it offers is so interesting and useful. I know everything I learned in this course is actively used in the field and I’ll need to use what I learned in to really apply myself in the field.