Blog

  • Scott Hanselman’s Computer Zen – The (Programming) Language Explosion

    In contrast to the New York Times article, Scott Hanselman talks about programming languages. 

    What programming languages should a New Programmer experience early so that they might be more able to “hear the tones later” when a new languages comes along? What language should a new programmer be exposed to first?

    Source: Scott Hanselman’s Computer Zen – The (Programming) Language Explosion

    I think language diversity is important. 

    I got my B.S. in the early 80’s, from a university (Southern Mississippi), that recognized early that computer science was constantly evolving.  We went from Basic, to Fortran, to Assembly Language than Cobol in two years.  After that we took “Programming Languages”.  We also studied databases from a purely theoretical level since much of what was purposed wasn’t doable yet on a machine.  That in additional to all the other “stuff”.

    As a result, I have been extremely adaptable.  I worked in an environment for 10 years where I was expected to implement the same functionality over several different types of machines while giving the user the same interface.  As a teacher, I’ve had to move from QBasic, various forms of Visual Basic, and from Pascal, to C++ to Java.

    I believe my early background has made me extremely adaptable, and I urge my students to do the same.  I have many students who take Visual Basic their first year and Java their second, though more just learn Java in the two years.  That maybe changing though. My current principal apparently does not like PreAP or AP courses. 

  • Professor’s Violent Death Came Where He Sought Peace – New York Times

    I personally feel that this is a cool way to go, if you have to go.  Let’s face it, he was 76, and had a very full, long life.  He’s accomplished a lot.  I hope his life and his death inspire his students.  It certainly touches me. 

    Professor Librescu never moved from the door of Room 204 in Norris Hall at Virginia Tech, witnesses said, even as the gunman, Cho Seung-Hui, was shooting. Directing his students to escape through windows, Professor Librescu was fatally shot.

    Source: Professor’s Violent Death Came Where He Sought Peace – New York Times

  • More on the New York Times article

    Alfred asked me to clarify what I meant in my comments.  I’m happy to teach what ever anyone wants me to teach in Computer Science, be it regular, PreAP, or AP. 

    Tell me, provide me with materials, and I’m happy with it. 

    That being said, I do think programming in a modern, GUI oriented programming is right up there with what we should be teaching.  What is it that students interact with most when they interact with computers — yep, programs.

    One of the reasons I mention programming in a GUI oriented programming, is that I believe that the human computer interface should be a focal point in a beginning CS class.  The earlier you learn to design interfaces the better.

    I also do believe that computer networks is also right up there with things that kids should know — why, because of the internet.  Students also interact with computer networks.

    I also believe students need to understand enough about hardware that they can actually go out and buy a computer system, set it up and install it.

    The hard part though, and the part that AP development committee faces each year, is how to do test any of the above?  It’s easy to test obscure programming stuff, harder to test concepts.

  • School Shootings

    I honestly don’t think they can be prevented without making major changes in how we live.  I’m watching a PrimeTime Special and they showed how students let other students in the dorms.  I know our building isn’t at all secure.  We joke that we’re secure from 7:30 – 8:40 but that isn’t even true.  Since we have portables, we have to have full access into and out of the building.  Anyone can get in with no problem and the metal detectors are only out from — you guessed it from 7:30 – 8:40.

    You’d have to completely reconstruct our building if you wanted it to be secure — and that kind of money just doesn’t exist.  As it just isn’t OUR building that needs to be fixed but almost every building in the country. 

    One thing that can be fixed though — I’m sick to death of the faculty members who won’t wear a badge — it’s time to grow up and act like an adult.

    Funny — I didn’t realize that it bothered me that much until I started typing.

  • Computer Science Takes Steps to Bring Women to the Fold – New York Times

    Interesting comment — I keep wondering what people who make this type of comment think we SHOULD teach in high school computer science and how we should teach it. 

    The Advanced Placement high school course in computer science may be part of the problem, according to Dr. Cuny. “The AP computer course is a disaster,” she said. “It teaches Java programming, which is very appealing to a lot of people, but not to others. It doesn’t teach what you can do with computers.”

    Source: Computer Science Takes Steps to Bring Women to the Fold – New York Times

  • Computer Science Teacher – Thoughts and Information from Alfred Thompson : Do We Really Need Computer Applications Classes?

    We do need to teach our students — or at least the students in my school — computer applications.  The first month in my Webmastering, CS I and PreAP CS classes are mostly computer applications.

    Kids today do figure out a lot of “computer stuff” on their own. They certainly could figure out a lot of the things we generally teach in computer applications courses. The problem is that they don’t. I gave placement exams for a computer applications course for years and very few, perhaps 10%, of those who thought they “knew it all” actually knew enough to test out of the course.

    Source: Computer Science Teacher – Thoughts and Information from Alfred Thompson : Do We Really Need Computer Applications Classes?

    My students got quite a bit of computer applications in grades K-6.  At least one of the feeder schools does a fabulous job.

    However, the kiddos get one semester of computer literacy in middle school, usually in 7th grade. 

    The low income kiddos no computer access from that time until they hit me.  If they haven’t forgotten what they have learned, the applications have progressed and they don’t know how to use them. 

    We spend a week on common web applications — email and searching.  A week on word processing, a few days on spreadsheets, and on power point.  I finish the unit with a project.  The kiddos are to shop for their “Dream Computer”, and create a word document, presentation, and a spreadsheet supporting what they want to buy.  The even more fun part — many parents DO go out and buy the system the kids want, or one similar.

    I believe a student can’t use an IDE well, if they can’t use a word processor.  I also think that all CS students should be able to do a simple spreadsheet — that’s why I have them comparison shop — they have to at least come up with totals.

    I go a bit further with the web kiddos — they have to publish their products on the internet.  Real life things that web creators have to do.

    We also have a lot of kids that were NOT educated in our system.  Most of them are non-English speakers and many haven’t touched a computer until they get to us.  These kiddos go to a local credit keyboarding class and then BCIS.  After that, I’m happy to have them. 

    So yes, we do need to teach computer applications in high school and will probably have to have a few sections for the non-English speakers of keyboarding then applications.  Otherwise they will be victims of the digital divide.

  • AP Audits passed!

    Got an email as I was on the way out the door this evening.  My AP Computer Science A syllabus was approved by the College Board.  Since my AP AB was already approved, I’m done with that process.

    It was actually pretty easy.  I teach out of the same book as one of the samples, so I copied it, added the stuff I do different, deleted the stuff I don’t do, and submitted it.

    I did almost the same for the AB syllabus.  I use the A plus materials for that class, so I used Stacy’s information, formatted the same as the first syllabus.  That one took a bit more effort, but I still didn’t spend a whole lot time.

    Whew — and what a pain in the rear.

  • What the local colleges and universities can do

    I’m lucky.  I live in Dallas.  We’ve got SMU a stone throw’s away, we have UTD a bit farther and then UNT and UTA.  Here’s the deal.  Only UTD has ever tried to help me. 

    I felt really bad for the guy, they sent a professor down to observe my classes for a few days.  He threw up his hands in disgust after about 10 interruptions in 5 minutes and wondered how I would ever get anything done.  Last I heard of him.

    I know UNT thought about workshops for teachers a few times but I’m not sure why they never happened.

    What we need are short and sweet workshops, either in the summer or in the early fall.  Maybe as late as January, but we start panicking about getting our students ready much past that.

    One week workshops are hard on the body.

    The best workshop I’ve gone in recent years was up at Hendrix University.  Their workshop was a couple of weekends before school starts — it was great because that’s when I start thinking about this year’s assignments.  They provided transportation to and from the airport, put us up in a dorm, and fed us every meal.  It was great for the teachers because we could concentrate on the workshop.  It went from Friday morning until Saturday night.

    I still speak fondly of that university. 

    I’d gladly do something like that IN town too.  Show us what you do in the first couple of CS classes.  Have your instructors give the workshop.  Give us time to do your assignments that you have your kids to do.

    It really is not that hard.  I believe Hendrix got a local business to spring for the workshop expenses.  And it is a good way to get publicity for your CS department.

  • CS Teachers and language issues

    Alfred asks about teachers and the language changes. 

    There tends to be three sources for computer science teachers.

    One group tends to be like me — refugees from industry.  I’ve met some who admitted they weren’t competent to work in the industry, and others like me who don’t like the atmosphere. 

    One group are math teachers.  Some of them have choosen to teach computer science — they decided they wanted to teach an elective.  Some were choosen by someone else, maybe because they had a few programming courses on their transcripts. 

    Then there is one last group.  I run into them for time to time.  An uneducated administrator thinks that anyone can teach CS, and picks a business teacher, or a science teacher.  Again, some had had a programming class on their transcript.  Quite a few of them haven’t.  I also won’t express too much of an opinion about the last group except express my sympathy.  I too have been thrown into teaching something I wasn’t prepared to teach.

    Notice I haven’t mentioned anything about the certified / alternative certification battle.  

    But the issue is why does the language change drive teachers out of computer science.   Some of the people who couldn’t cope with the language changes were CS people.  Some of them were math people.

    I’m lucky, I had a really good education in computer science and was even lucky enough to take a course surveying computer languages.  I also wrote the same software in several different languages when I was working in industry as we needed a common set of user interfaces on different hardware.   I doubt that I am the normal.  Throughout my career, I’ve met people who could only program in one programming language, or maybe only two or three.  I do know that it took a major shift in thinking from going to Pascal to C++.  It also took a major shift in thinking when going to C++ to Java.  Things are done differently.  It takes a good bit of writing code and making it work to make the shift.

    So why did teachers quit over the language change?

    First, I don’t think many quit over going from Pascal to C++.  The ones I know that quit, when they heard about them ove to Java.  When we moved from Pascal to C++ we had to throw everything out.  I know I threw trashcans of handouts and materials away.  Not the first year, but the SECOND year, because nothing I had from Pascal worked.   And it wasn’t just books and written materials, it was IDEAS!  There were few assigments that survived porting from Pascal to C++.

    So a lot of people anticipated that happening again.  And they didn’t want to go through that a second time.

    Second, they received zero support on moving from Pascal to C++.   I know, I taught one of those workshops.  I got no support from the College Board.  And in fact, the only thing that saved me, was a) new textbook adoption that happened at the same time, and b) a local cheap college where I could take C++ at night.  And I didn’t even know I needed to do that until November or so.  I was even lucker that I had a good professor teaching the class that would take the time after class to help me with teaching ideas.  The gas money and the tuition money came out of MY pocket.

    So if I had been at retirement again when Java was announced I might well have quit to.  Just the anticipation of change and no support is enough to do it.  

  • Computer Science Teacher – Thoughts and Information from Alfred Thompson : Advanced Placement Computer Science – Time for a Big Change?

    I thought for a long time, that we are covering way to much material in both subject areas.

    However, I’m not sure what material should be cut from the A exam.  Having experienced and taught Java for a few years, the coolest part of Java is inheritance.  It definately needs to be included.  Perhaps moving arrays and array lists to the AB exam might be a good choice.  I know that some colleges don’t do them until the second semester of CS.

    The AB exam is also way too big.  It was fine when it stopped at queues and stacks.  Most data structure classes stop there, or only briefly touch on Maps and Sets.

    I honestly do not believe that the AP CS program would survive another language change.  However, I wish we’d never left Pascal.  It was designed as a teaching language and there is nothing wrong with that.  I would never, ever want to see us go back to C++.  Even going there was a big mistake.  It drove a lot of high school teachers out of teaching computer science.  It also drove a lot of schools out of it, because it was just too expensive.

    Changing to Java drove out teachers also, but most of those are ones who had trouble with coping with the C++ change, and thought it would be as bad.  I know a few who left during that area and I think they should have hung out longer.

    I do believe Java is a good choice.  I just don’t think we should be jumping to each major release.  Remember, it takes a long time for textbooks to be revised and a longer time between adoptions.  Texas adopts new textbooks every 7 years.  We should also give the teaching tools time to adapt.

    The main reason I like Java is there are a lot of good free materials out there.  However, there are not enough yet.  Many of them are written by college professors for the college market and these are high school students. 

    I also like the case studies.  I’ve tried using them as I go, but it never seems to work out.  This year is working out well though.  I am also really looking forward to GridWorld though I think it is not much different than the MBS.  However, the biggest reason I like the case study is that the students have access to a large body of code to model on during the test. 

    I would like to see the local universities do more to help us.  They have talked about it in the past, but they never seem to follow through.  I’d also like to see more online learning opportunities, and not just for the AP program.  There are a lot of high schools who have choosen Visual Basic and I would like to see Microsoft giving us more support.  The Mainfunction was a great website, but we need more!

    Link to Computer Science Teacher – Thoughts and Information from Alfred Thompson : Advanced Placement Computer Science – Time for a Big Change?