@Atticus said:
However in the context of C#, referenced in the original post, OOP is the way to go here. The .NET Framework is object oriented. Therefore OOP is the only paradigm in this case.
You ARE kidding, right? It is quite possible to write non-OO code in a purely OO language.
Example: I once had the misfortune of working on a 100K+ LOC Java application that entirely depended on a single class which started off with the comment "This class contains all the business logic of the application". And the comment's author wasn't kidding. The class in question consisted entiredly of static methods. Every other class was merely a data container. You don't even want to know how often we needed to add methods to the main class and how long it took to recompile. Needless to say, the "lead programmer" on the project had no clue about encapsulation, MDA, even the most basic architectural concepts. Java is a purely OO language, but that was NOT an OO app.
To quote one of my long-ago CS instructors, "there are data structures, and then there are algorithms, and that's all programming is." I can't for the life of me imagine trying to teach someone OOP without covering those two subjects. Even the simplest while loop is an algorithm. Even a string or an integer is a data structure. No, you don't necessarily need to use the big scary words when discussing those subjects, but the entire point of OOP is to encapsulate data and its associated methods/algorithms, for pity's sake.
But back to galgorah's original question. Since your coworker/student has some graphic design experience and is presumably conversant with HTML, perhaps there's some fairly simple ASP pages you could put him to work on? Teaching him SQL is also a great idea. Screw DDL for now; if you can get him up to speed on DML and then perhaps introduce stored procedures that would be a good way to get him productive quickly. Finally, since all the time you spend with him means less productivity for you (and also because you're not a trained teacher) it would actually be best if you could convince your powers-that-be to spring for some classes for him at the closest two-year college, or on-line if classroom instruction isn't possible. Get the company to pay for his tuition and books, pay him for the time he spends in class, let him do his homework in the office, and then you and your co-workers take some time to discuss it with him.I think that in the long run you'll find that he gets a sounder, more-rounded basic understanding of programming, which, when coupled with the knowledge that you can give him about your particular organization's needs, could turn him into an outstanding contributor.
Best of luck to you, and I hope you keep us posted on how things go.