Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 280645
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T05:08:10+00:00 2026-05-12T05:08:10+00:00

I have been asked to begin teaching C# and OO concepts to a group

  • 0

I have been asked to begin teaching C# and OO concepts to a group of procedural programmers. I’ve searched for ideas on where to begin, but am looking for general consensus on topics to lead with in addition to topics to initially avoid.

Edit

I intend to present information in 30 minute installments weekly until it no longer makes sense to meet. These presentations are targeted at coworkers at a variety of skill levels from novice to expert.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T05:08:11+00:00Added an answer on May 12, 2026 at 5:08 am

    The best thing you can do is: Have a ton of Q&A.

    Wikipedia’s procedural programming (PP) article really hits where you should start:

    Whereas procedural programming uses
    procedures to operate on data
    structures, object-oriented
    programming bundles the two together
    so an “object” operates on its “own”
    data structure.

    Once this is understood, I think a lot will fall into place.

    In general

    OOP is one of those things that can take time to “get,” and each person takes their own path to get there. When writing in C#, it’s not like the code screams, “I am using OO principles!” in every line. It’s more of a subtle thing, like a foreach loop, or string concatenation.

    Design center

    Always use something (repeatedly) before making it.

    First, use an object, and demonstrate the basic differences from PP. Like:

    static void Main(string[] args)
    {
        List<int> myList = new List<int>();
    
        myList.Add(1);
        myList.Add(7);
        myList.Add(5);
    
        myList.Sort();
    
        for (int i = 0; i < myList.Count; i++)
        {
            Console.WriteLine(myList[i]);
        }
    }
    

    Using objects (and other OO things) first — before being forced to create their own — leads people down the path of, “Ok, I’m making something like what I just used,” rather than “WTF am I typing?”

    Inheritance (it’s a trap!)

    I would NOT spend a lot of time on inheritance. I think it is a common pitfall for lessons to make a big deal about this (usually making a cliché animal hierarchy, as others pointed out). I think it’s critical to know about inheritance, to understand how to use the .NET Framework, but its nuances aren’t that big of a deal.

    When I’m using .NET, I’m more likely to “run into inheritance” when I’m using the .NET Framework (i.e. “Does this control have a Content property?” or “I’ll just call its ToString() method.”) rather than when I’m creating my own class. Very (very (very)) rarely do I feel the need to make something mimicking the taxonomy structure of the animal kingdom.

    Interfaces

    Coding to an interface is a key mid-level concept. It’s used everywhere, and OOP makes it easier. Examples of this are limitless. Building off the example I have above, one could demonstrate the IComparer<int> interface:

    public int Compare(int x, int y)
    {
        return y.CompareTo(x); 
    }
    

    Then, use it to change the sort order of the list, via myList.Sort(this). (After talking about this, of course.)

    Best practices

    Since there are some experienced developers in the group, one strategy in the mid-level classes would be to show how various best practices work in C#. Like, information hiding, the observer pattern, etc.

    Have a ton of Q&A

    Again, everyone learns slightly differently. I think the best thing you can do is have a ton of Q&A and encourage others in the group to have a discussion. People generally learn more when they’re involved, and you have a good situation where that should be easier.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am sure this has been asked already, but I have been trying all
I know that similar questions have been asked all over the place, but I'm
There may or may not have been asked before, but I don't know enough
We have been asked to implement a Red Black Tree in java, but not
I've been asked to create an API for clients. Before I begin I have
I know this question have been asked endless times but I can't find a
I have been asked to order products on a site to show any products
I have been asked to lend a hand on a hobby project that a
I have been asked to standardize the screen saver and desktop background used by
I have been asked to develop some usercontrols in ASP.NET that will at a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.