[Novalug] Teaching & CS

Jay Hart jhart@kevla.org
Mon Jun 20 23:40:19 EDT 2011


When I made the comment that tenured profs have no incentive to update
skillset, I should have provided an example.

While at Case one of my Comp Sci classes had a large programming component to
it.  On opening day of class with 200+ students and a tenured prof the
question comes up which lang to use.  The prof asks how many students knew
Pascal, zero hands go up.  Next the prof asks how many students know C/C++,
all hands go up (it was the lang mandated to be taught by Case at the time). 
Based on the number of hands raised for C/C++, logically one would assume that
would be the lang to use.

So naturally the prof followed suit and said that all programming for the
semester would be Pascal.  Saved him having to update his class notes he'd
probably been using for the last 15 years or so.

Naturally, being the OSS guy I was back then, I asked if Perl was ok to use
and he stated no because I would not be able to get the level precision (I
think on the order of 7-10 decimal digits) with that lang.  (personally, I
don't think he knew Perl either).  I thought about that for a while, like half
a day and figured I'd better get busy programming in Perl to see if my answers
jived with students using other langs.  I also did my programming in Perl so
if he screwed me I had at least two issues to take to the Dean so I could get
this guy removed.

I have it on good authority that you can get that level of precision with Perl.

This is just one example, of many, that I can relate to the list about tenured
profs.

Jay

>   On 6/19/2011 11:54 AM, Peter Larsen wrote:
>> Great post Clint ... see inline comments.
> Both good posts.
>> On Sat, 2011-06-18 at 20:39 -0400, Clif Flynt wrote:
>>>    2) If a student wants to learn what's current, hot and should get
>>> them a  job - go to a two year or tech school and enroll in a
>>> certificate program.  If they want to learn the theories, go to a 4
>>> year school.
>> The problem with IT is, that because of how fast it's moving talking to
>> a student now about what's cool 4 years from now, you might as well be
>> predicting how the stock-market will look.
> I disagree. Of course, when I went to UMD, Fortran, Cobol, and Assembly
> were the only real choices.
>
> By the time my brother went there, C and UNIX were King. Later came C++
> and Java, with Perl thrown in. And for all I know, some courses used VB.
>
> Nowadays, you probably get Python and Ruby, and maybe C# too.
>
> Any of these languages have long lifespans.
>>   It's really a matter of
>> providing the student with the basic tools to understand technology and
>> make sure they understand they'll never stop learning. The latest of
>> greatest is to be learned when it comes out.
> Or not. Sometimes it's a Great Joy to delay learning something long
> enough for it to Die Naturally.
>> Of course, we should teach them to work with open source since
>> innovation is very prevenient there. And it'll be a great place for them
>> to get a voice early on and influence how things work.
> Remember, Open Source programs are Real Programs, often Too Complex for
> Novices.
>>>    The person just out of a 2 year program can probably outprogram the
>>> guy just out of a 4 year program.  Two years later, the odds are that
>>> it's reversed.  (Modulo the quality of the engineer.)
> Disagree. Altho in my day, the Jr Colleges were more of a Joke. We did
> some Pretty Hairy coding at UMD, even in the second year. When my
> brother came along, it was even harder.
>>>    For a 4 year program, I recommend a school that exposes the student
>>> to different languages, not one that teaches all classes with Java,
>>> C++, Pascal or whatever.
> I think you need a Base Language(s), after all, a 100 Data Structures
> program can simply be written in C, without all the need for Fancy
> Features. The Programming Languages or AI Courses can teach more
> specialized languages. But I do agree that a Variety is good.
>
> BTW, Pascal is DEAD, and was never good for anything...even as a
> "teaching language".
>>> It's a PITA to learn a new language each
>>> course, but it forces you to learn to think in new paradigms rather
>>> than finding ways to solve all problems with the same intellectual
>>> tools.
>> Not really; if structured right you are still building on what you just
>> learned. Ie. going from structured to OO programming is a big shift, but
>> you're not starting from scratch.
> Yes, but if "Data Structures" is your second course, it's nice to use
> the same language you used in the first course.
>>>    At one point, I attended a professional IT meeting as a local college
>>> faculty representative.  The local industry folks wanted us to teach
>>> COBOL (in 1999) because that's what they needed *right now*.  We taught
>>> scheme to freshmen,
> Ick! Scheme is harder than Lisp, and Nobody Uses It On the Job.
>>>   java to sophomores, and C, Tcl/Tk, perl and a few
>>> others to upper level students.
> Fine, except that C should have been the Freshman course.
>>>    If a student can't learn COBOL in a
>>> week after learning that range of languages, they never learned them
>>> (and would have flunked out).
>> Well, to the industry folks defence, I don't think it's the COBOL
>> language as much as the stuff around it that really is a problem.
>> However, in 1999 I would have looked at said: this is what happens when
>> you don't invest in technology for 20+ years.  And then reminded them
>> about Y2K was a problem due to KNOWN problems for the last 15 years - it
>> sucks to procrastinate.
> Yeah, but as my Revenge...I still code 2 digit dates...*I* will be dead
> in 2099. Heck, I will be lucky to make it to 2038. Let JEC5 fix it.
>>>    3) Regarding the comment about Tenured faculty not needing to keep up
>>> with technology.
>>>
>>>    When you're teaching undergrads, the stability is more important than
>>> what's hot today.
> Bingo! You need a Curriculum that you can let Trained Monkeys teach.
>>>    Grad students need the most current projects and techniques and most
>>> decent profs actually do keep up.
> Cuz they get bored being Trained Monkeys. Each class is more like a band
> issuing a new album.
>> No - school needs to teach principles at any level. And give the student
>> the ability to learn and pick up things as they come once they're done
>> with school. Most of them will get jobs where they have to adapt and
>> learn how things are done there. The better they are to pick stuff up,
>> the better they will be off.
> I agree, but lean toward Clif...at the higher levels, the principles can
> often be inferred...the students having picked up a few earlier.
>>>    For undergrads, teaching them techniques is more important and the
>>> best tools are probably the older ones.  The best language for
>>> functional programming is probably still LISP or Scheme, the best for
>>> procedural is probably C or FORTRAN.
> Fortran is pretty much Dead too, or at least it Should Be!
>> Do they really still teach procedural languages?  Btw. I'll take Prolog
>> over LISP any time :)
> I would venture to say that despite the academics...the world still
> thinks Procedurally, maybe Object Oriented, but not yet Functional.
>
> I wonder how common Prolog is...even in the colleges?
>>>    Lots of the folks on this list probably hit college with a decent
>>> amount of programming skill under their belts.
> Probably, but not us Old Timers. Computers were once Too Expensive to be
> owned by Individuals.
>>> Being a hot-shot C++
>>> programmer doesn't mean you don't have a lot to learn about functional
>>> or logical programming.
> True. But OO definitely helps!
>> Only 2-3 people of my class had ANY programming back-ground. Since my
>> first semester was all about programming (first class was a listing of
>> the types of languages and the "hot ones" right now) we lost QUITE a few
>> people in the first month.
> So what? As mentioned above, most of US had None (<---Python Keyword).
> The assumption should be the same these days...after all, most people
> just play Video Games and surf to the White House...and I'm not talking
> about the ,gov site :)
>> Back then we had to have even number of women
>> and men attend so we had about 15 of each if I remember right. After 1
>> month, we had about 12 guys left and 2 girls.
> WOMEN? You had women in your CS classes?!?
>> In other words having the ability to "think" in a certain way was almost
>> a pre-requisite. And it does help to know procedural before you learn OO
>> albeit if you have too much of a background in procedural languages,
>> going OO or functional is tough since you have to unlearn certain
>> "principles".
> Yes, plus it's often difficult to come up with what the actual objects
> are. Or you only have one Object.
>>>    I've been programming for 40 years, I'm still learning new basic
>>> techniques.
>> Yes! Me too. It's one of the many aspects I like about IT.
> Well, let's hope you boys don't mean the Language from Dartmouth :)
>
> 100 RANDOMIZE
>>>    4) Regarding the group-work vs solo work.
>>>
>>>    I hate this problem.  I've developed group projects for the students
>>> and had them work.  I've also seen groups devolve into one student who
>>> knows what to do and 3 who copy.
>> Ahhh yes. That problem is easily solved though. Grade them all the same,
>> and YOU pick the one to present the work to the class.
> Grade 'em & Smite 'em!
>>
>>>    I've found paired learning to be fairly effective.  Out of two
>>> students, one is usually paying attention at any given moment.  I've
>>> also found this to be most effective when I can be present while the
>>> students are working, and I can watch to see which pairs are working
>>> and which need to be broken up and shuffled.
> Yeah. Pairs seem to be the Optimum group, assuming compatible personalities.
>> The best learning experiences I had was when I learned with/from my
>> fellow students. If we as a group came up with a solution to a problem
>> and didn't have to ask for help from anyone. I remember quite a few
>> sessions where we as a group had internal sessions to bring everyone up
>> to speed; if one or two didn't understand the subject we would do some
>> speed sessions on them. Or we would split the assignment up in parts and
>> assign the people who were best to each part to each section.  In other
>> words, the job was WAY too big for a single "smart" person to do. And it
>> feels like quite an accomplishment when you find a solution.
>>
>> Not unlike what we do as professionals - we work in groups to solve a
>> problem. We have to learn how to work in groups and how "group think"
>> works. Not only in person but online too.
> I'd say that Groups are Overrated. Some things are Good because they
> were designed by a small group of like-minded people. People have said
> this about Ken & DMR.
>> After all, young people are
>> adapt at social networking and it's playing a big role in how open
>> source work is done. And it takes a lot to learn how to work efficiently
>> in groups. We should focus a lot on teaching the right group skills. Not
>> just pairing but that may be a great first step.
> Despite the obvious Visible Tools like MyFace and SpaceBook, I don't
> think they are any better. After all, the idea that Texting can be a
> more effective communication vehicle than a Phone Conversation or actual
> Face Time is Laughable. The only benefit I can see is that it allows
> each party to Do Their Own Thing while they are Pretending to Pay
> Attention to Each Other. As boring as Physical Meetings are, there is
> only one thing competing for your attention, and when you are actually
> Participating, it's easier to be Clear about what you are saying.
>
> JIM
> _______________________________________________
> Novalug mailing list
> Novalug@calypso.tux.org
> http://calypso.tux.org/mailman/listinfo/novalug
>





More information about the Novalug mailing list