Basics of Object Oriented Programming with C# by Tod Vachev on Udemy is a great course that revolves around Object Oriented Programming in C#. It is a well constructed course and Vachev has done an amazing job in putting it together, topped with his engaging teaching style.
The best part is that the course is rounded off with students getting to implement their first OOP program that simulates two warriors battling each other until one of them wins. It is a creative way of applying everything taught in the course and gives you something to show your friends and families once completing the course!
Table of Contents
- Course Overview
- Who This Course Is For
- The Breakdown
- What could I do with the knowledge in this course?
- Skill Level: Beginner – Intermediate
- Price: FREE
- Duration: 1.5 Hours
- Material: 6 Sections of Video Lectures totalling to 1.5 hours, with the 6th being an OOP project to implement. Answers (and course discount codes!) provided in Section 7.
- Students enrolled at the time of taking: ~94,500
- Course requirements/prerequisites: Some programming experience (preferably in C#, Java or a similar language), Visual studio installed (or your own IDE/text editor), some knowledge of C# syntax
- Topics Covered:
- What is an object and a class
- What is object oriented programming
- Class Constructors
- Should you or should you not use the “this” keyword
- Fields and Properties
- Different ways in which Properties can be used
- Const and Readonly constants, the difference between them and how to use them
- Static Fields and Static (Singleton) Classes
Who This Course Is For
This course is for anyone who has already been programming in C# (preferably) or any other similar language such as Java, and want to learn the basic concepts to get started on OOP in C#. Brand new programmers would struggle in this course, but if you are able to navigate your way around your IDE/text editor comfortably and have a good foundation of programming syntax, this course will be great for you!
Teacher and Class material – 5/5
Tod Vachev is a Robotics Engineer with several years as a Developer and Engineer and a passion for teaching. One of his subject focuses is programming in C#, which brings us to this course. With his vast experience and huge portfolio of over 240,000 students, Vachev is an extremely experienced teacher and it shows through his course.
Vachev uses a wide range of class materials, which shows the effort he put into this course. He alternates back and forth between slides to deliver content and his IDE to illustrates examples. I feel this is very effective in conveying the lessons as opposed to many courses that do one or the other.
One thing that’s great as well is the proper labelling of all of the course material, which allows students to navigate to and fro in the course if they want to reference previous sections. An underrated detail that is often overlooked but can save students a lot of time.
The big unique selling point of this course is the Object Oriented Programming Project at the end of the class, that allows students to implement an actual program based on the content they just learnt. This is a great way of applying the students’ knowledge and is a big step up from courses that just provide basic quizzes.
If there was one area of improvement, it would be that he does not run through the software he uses, in case there are students who would want to follow along with his examples exactly. However, given that it is not a course for brand new programmers and it is stated in the prerequisites, this is understandable.
If you are a student looking to take the course, just make sure you are comfortable in navigating your IDE or text editor and there should be no problem.
Content – 4.5/5
This course is extremely content heavy and is crammed into 1.5 hours of video lectures. Given that, Vachev still manages to cover everything and still give good and clear examples to convey the content.
As mentioned, some programming experience would be required for this course. The content covered in this course does not go over the basics of C# programming such as basic syntax and variable types etc. It is focused around Object Oriented Programming and the concepts covered purely revolve around that, such as constructors and properties.
That being said, the content in this course is more than sufficient for anyone to start Object Oriented Programming in C# for the foreseeable future and be able to implement all sorts of programs. It covers all of the syntax and concepts needed to keep you busy with OOP without needing to look elsewhere to learn more for probably a considerable amount of time.
As this course is for the basics of OOP, you will not learn about the fundamental theory underpinning OOP, such as the 4 pillars of OOP or composition/aggregation.
Engagement – 5/5
Vachev teaches the course in a very engaging manner. His voice and tone is uplifting and varied, with good audio quality, something that some courses, especially those that are free as well, face issues with and lack.
Furthermore, the short-format video lectures are, in my opinion, a much better format for teaching courses online as they keeping student’s attention better and give them a better sense of progressing throughout the course. They also allow you to jump back to specific bits of content down the road easier.
As mentioned, he uses a blend of slides to convey content, as well as live recordings of his screen to portray examples. These work great in making his lessons very clear and comprehensive. More than that, he adds annotations where necessary, which are great for visualising how programs work, especially in the context of OOP.
The project at the end of the course also add greatly to the course’s engagement, as students actually have a tangible goal to work towards. It is a fun and charming idea of programming two warriors fighting that, once completing, students can showcase their friends and family and it will definitely be a fulfilling reward to have for finishing the course.
Pace – 4/5
The pace of the course is extremely fast, which is not to blame for the amount of material that is covered. In order to keep up with this course, one must have a solid foundation in programming prior to taking this course, and even then, students may find themselves replaying certain parts of the course.
Even in walking through his examples, he does go a bit faster than I would prefer, but given that this is an online course and the videos can easily be paused to see what is going on, it is not that big of an issue.
At this pace, students have to be 100% focused when going through this course in order to absorb as much as possible.
Value – 5/5
For anyone looking to get into OOP, this course is most definitely worth the time to put into to complete. For a free course, a simple time investment of 1.5 hours will already leave you with your very first OOP project! On top of that, he provides the source codes for the project as well as HUGE 90% discounts for the other courses he provides. All that for just a 1.5 hour course that is jam-packed with content? Definitely no complaints here.
This course definitely stands out amongst the many online courses available out there. Being a free course, the amount it brings to the table feels like charity work. The creatively designed project is also a great part of the course and makes it a great choice too if you are the kind that wants to see some results of your learning. If you are interested in OOP and fulfil the prerequisites, I would definitely recommend this course in a heartbeat.
What could I do with the knowledge in this course?
You would have already made a fun project when completing the course! There are endless things you could do after this course, perhaps expand on your project and add new characters to the Warrior War!