What qualifies someone to teach computer science?

Started by
39 comments, last by Oluseyi 16 years, 3 months ago
Original post by Oluseyi
Quote:Original post by Chad Seibert
Quote:I seriously doubt that I'm going to be learning Java or any related language during my stay. It doesn't say anything in my course description about learning actual programming. Just Scheme :)

Scheme is actual programming.


What I meant to say was a widely used and industry standard programming language. Sorry about that.
Advertisement
Quote:Original post by Chad Seibert
Btw, she doesn't know what bash is :)

Csh, Zsh, Sh, Ksh... a lot of traditional Unices don't include bash. Plus, that's also an environment/implementation detail - admittedly an important one, but you're missing my overall point: she might be a theoretician, but you keep trying to measure her based on (your limited knowledge of) practical details. It's premature.

Quote:Original post by kevtimc
Quote:Original post by Oluseyi
Knowledge of Microsoft Office programs and common desktop operations is not a CS requirement.

Actually, it is in my uni.

Actually, it wasn't at mine. Or at my other. Or at my third. Are you arguing that knowledge of Microsoft Office programs constitutes part of a traditional CS curriculum?




I didn't think so.
Quote:Original post by Chad Seibert
What I meant to say was a widely used and industry standard programming language. Sorry about that.

If you can learn Scheme from someone else, you can learn Java on your own.
Sadly the qualifications for teaching at the University level don't include any sort of credentials in teaching (unless its in education). My University had a faculty of Education that offered teaching classes to professors, but those were completely optional, any few took the opportunity.

Its more than likely that your professor knows her stuff, but can't convey it effectively to you students. Theres also a very good chance that her area of research is so far removed from basic programming and logic skills that she has to relearn it.

Seeing as how its only your first semester, I can guarantee that you will have professors that are much worse. Like professor with an impenetrable accent, professor who switches course notes 3 times, professor than makes you buy their $150 textbook then doesn't use it, and professor with an impenetrable accent that switches course notes 3 times even though you bought their $150 textbook. The best thing you can do is to read the course material before the class, show up in case they say "this will be on the exam", and do the course work. Showing up for 80 minutes and hoping it all soaks in may not be enough for a pass.
I have a BSc. in Software Engineering; if I had taken a 1 year training course I could have then carried on and taught Software Engineering (well, if my college/uni still did it).

I was half tempted to do that and see if I could teach on the Game Programming course; then I rememebered that you'd have to do work outside of the 8-9 block and you'd have to sort out lessons, assignments, marking and blah blah blah and suddently the small amount paid didn't seem as motivating (fantasic holiday time I admit, but meh...).

Maybe I'll look again if my life as a games programmer doesn't work out [grin]
I just finished a rather rough semester (4th year Comp. Sci, one more semester and another work term to go). I had one paricular instructor who knew his stuff incredibly well, but couldn't convey it to the class at all. It was horrible.

I have been contemplating on writing a series of articles about what makes a good teacher. (Having both parents who are teachers and having been to a college and nearly done a degree, as well as serving as a missionary has exposed me to a lot of teachers and a lot of teachers, both good and bad).

Also, don't discredit scheme. It will force you to think in a much different way. At least that was my experience with it.
At my first year as an undergrad I had the same feeling. I don't know if this is the same case as yours, by in my university they assigned unqualified professors to teach some basic courses. In my case they were not PhD's though. I was frustrated because I already had some experience when I entered the university. But as I progressed, the quality of professors got increasingly better. Those assigned to mid-to-end-level courses were actually postgrad professors.

Now I'm about to obtain an MSc in computer science (phew time goes fast). In my experience, there are very good professors out there who can't program, but are really good researchers/advisors (those are generally older people). There are also those who are good researchers AND programmers (they're generally younger). And well, there are those who were never interested in programming. Might be the case of your teacher, since she's young and would probably not have forgotten how to program if she had ever learned it properly.

Tip: google for your teacher's thesis, and you might discover her area of expertise (and whether she is adept at technical or purely theoretical stuff).
It surprises me that people think Theoretical Computer Scientists should be able to program. Theoretical Computer Science is Applied Logic or Applied Pure Mathematics depending on who you speak to.
Quote:Original post by Daerax
It surprises me that people think Theoretical Computer Scientists should be able to program. Theoretical Computer Science is Applied Logic or Applied Pure Mathematics depending on who you speak to.

Well, "applied pure mathematics" sounds a bit paradoxical to me, but I think I got what you meant.

Sure, theoretical computer scientists are not required to be expert programmers. But in my opinion they should know enough about programming to at least teach a freshman's course and play a little bit. Unless the person is really a senior researcher who can totally rely on his students, he will eventually miss the ability to implement algorithms.
Just remember, the study of computer science has been around longer than programmable computers. There were a few analog computers before then, but weren't programmable. Also, if you truely have a proper understanding of the *theoretical* constructs of computer science, then you should be able to teach yourself *any* programming language, usually in under a week's time. All programming languages are just implementations of computer science theories, so "learning" the language is merely connecting the dots between your knowledge of those theories and how the particular language represents that theory. Learning to program is only hard as a beginner becase you have to learn both of these concepts at the same time.

[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]

This topic is closed to new replies.

Advertisement