Teaching C#, Java, etc. to students who are bad at OOP

Course Queries Syllabus Queries . 2 years ago

  0   2   0   0   0 tuteeHUB earn credit +10 pts

5 Star Rating 5 Rating

Posted on 16 Aug 2022, this text provides information on Syllabus Queries related to Course Queries. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Write Your Comments or Explanations to Help Others



Tuteehub forum answer Answers (2)


profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago


Last semester, I was assigned two classes of C# and assuming them to be well-versed in Programming Fundamentals (PF) and Object Oriented Programming (OOP), I started the course at normal pace. After a few weeks, I took an introductory lab test (it was pretty easy one actually, summation of n Fibonacci terms) and some of the astonishing "discoveries" after my round of the class (about 30 mins after assigning the task) were:

  • Around 1/3rd didn't have Visual Studio installed
  • One guy was coding it in SQL Server (genius?)
  • Those who didn't have VS installed were given option of online IDEs (like this one) and it "dawned" upon me that they were coding in Java (didn't even care to change Language in options)

Then, during lecture, I discovered some more facts, like:

  • In a class of 50, less than 10 knew the concept of basic OOP like Inheritance or static members.
  • Non has implemented Polymorphism before.
  • Function Pointers was a thing unknown to them (even they had studied OS and I think PThreads are pretty much part of it)

It not only left me heart-broken, but also prompted me to teach them OOP's concepts from scratch, which meant that I had to compromise over some advanced topics of .Net

Question

Now my question is that, what should be the correct approach to teach an advanced language like C#, Java to a class given:

  1. Majority of them are bad at OOP (lets assume they are ok at PF)
  2. There are some students which are/were good at OOP and eager to learn new technology (and should not be punished for others mistakes/negligence)
  3. There is no Lab to complement your class (even the lab test I took was by my own efforts)

Update

As per @Jay and @Buffy's points, here is further explanation:

  • It is a recurring process as although I have taught C# only once but observed such a weak links (in Programming Fundamentals and especially OOP) when teaching other courses as well.
  • I don't have enough power to arrange Bootcamps (I used to have them in earlier institute but here limited class rooms means we can't arrange Bootcamps unfortunately)
  • I don't have enough power to affect the overall process either.

Looking forward to your interesting inputs. Thanks.

0 views   0 shares
profilepic.png
manpreet 2 years ago

One thing to keep in mind is that topics that seem obvious to you (who presumably has years of experience) are not at all obvious to novices.

Stuff like:

  • Which editor should I be using?
  • How do I compile code again?
  • What's the difference between a class and an instance?

This stuff is obvious to you because you've had years of experience. But these students have taken a couple classes so far. That's not enough experience for this stuff to be obvious or come naturally yet.

So you're going to have to hold their hands a little bit more, especially at the beginning of the course. Spend a class reviewing the stuff you assume they already know, or walking through what you expect them to do.

  • "Does everybody have Visual Studio installed?"
  • "Okay, for your first assignment, let's make sure you have everything hooked up correctly by compiling and running this basic program."
  • "Everybody remember OOP? Who can remind us of what static means?"
  • "Your next homework assignment is to take OOP to the next level by..."

I'm not saying you should spend half your course on this catch-up, but spending part of your first class on this, and assigning a few token homework assignments to make sure everybody is on the same page, will go a long way.

Taking a step back, you say that it took you a few weeks to realize that students weren't at the level you thought they were. Why did it take you so long? You should be finding this stuff out as early as possible, and correcting it before you start throwing tests at them. That makes it sound like you were lecturing without really engaging the students or making sure they understood what you were talking about, which is not great.

Instead, you need to make sure you're engaging students by meeting them at their level. Understand that they don't have years of experience, and that they might need to be reminded of things that you think are obvious. A little bit of understanding your students will go a long way here.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

tuteehub community

Join Our Community Today

Ready to take your education and career to the next level? Register today and join our growing community of learners and professionals.

tuteehub community