High School Programming Courses

Aratar

Dalayan Beginner
I'm in a position to implement a computer programming course into the school that I am a long-term substitute at. The problem I currently have is deciding which language to implement for my students. My students do not have a strong background in computers. I have experience with QBasic, C, JavaScript, Flash, and XML. I am self-taught by nature and am confident I could teach myself any language over the summer in order to teach it in the fall.

If you have a moment, could you provide me with any programming courses you have taken in high school as well as your thoughts or opinions on them.

If you work in a business setting using various bits of programming, what kind of skills or knowledge do you look for in hiring someone?

Lastly, if you have any other information you feel would help me, feel free to reply or toss me a PM here on the forums.

Thanks!
 
We were taught Java for a few reasons:
The NetBeans IDE (Sun's) is free.
It's pretty easy to use.
It makes the students without any real programming experience feel that they are actually making something because it has an interface.

Personally I'd say you could do the same with C#, but I don't know if there are any free compilers that can compare to NetBeans, so unless your school wants to throw a lot of money on Visual Studio, I'd go with Java.

Basically our semester looked like this:
HTML
CMS (Content Management Systems)
Machine Code + Assemble + Basic hardware understanding
Higher Programming Language (Java)
Free topic (I chose PHP, but some chose HTML with JavaScript)
 
I'm currently a freshman computer science major at college and I was taught Java in highschool.

This all depends on what you want to cover with the course, if it is more of an introduction in general, then the following might not apply, the course I took was basically entirely about higher level programming and was based on the topics covered on the AP exam.

Java is the current language on the AP computer science exam, so if you want to have students take the AP test, they'll need to learn java. Then again if the school you're at isn't into AP courses then it doesn't really matter. Another thing is that I've taken three courses this year and they've all been in Java. However, after this year the languages will start to vary a lot in other courses, but it still remains that Java is a good language to start out with.

We've been using Eclipse as a Java development environment at college and its decent (www.eclipse.org). However in high school we used notepad and command prompt for compiling and running. I would say a combination of both would probably be good.
 
C is a fantastic language to teach high school students, as it's the basis for just about EVERY language out. It's platform independant, pretty fast, powerful, and fairly simple (compared to other languages). Also, it could be argued it's the most used AND most useful language to learn as your first. Lastly, it should be pretty cheap to implement as well (as most compilers are free).
 
The computer snob in me says C. As the previous poster said, it is a basis for most languages out there. C is not going to have a real pretty WYSIWYG interface for those with little programming knowledge, etc... and is not the best language for teaching object oriented design and development on. I wouldn't recommend it for a high school class.

Java... I personally hate Java, but I find that I likely have NO good reason for it; it's really just a personal preferance thing. Java is object oriented, someone said it's the language for the AP tests, and overall, it's a VERY marketable language (second only to .NET stuff) in most of the corporate sector. Java is likely a very good choice.

C#... I like C# from what little I've seen of it. The C# 2005 Express version is completely free and has a MARVELOUS IDE. C# would be my language of choice if I were to start developing an application (that only had to run on Windows PCs) today. I love the IDE, I like the language, and overall I think this is a wonderful choice. However, if Java is the language for the AP tests, I think it would be more applicable in the short term.


I don't think you could go wrong with either Java or C#. I would say forget Javascript, Qbasic or C... If you're doing a WEB-ONLY development course, Java and C# are still options but may be a little overkill depending upon what you're doing... If you want to do webpages and want something pretty lightweight and easy to pick up, PHP is the language I use the most right now and is pretty good. Ruby is being touted as the next big thing with its Rails framework, and I must admit the one demo app I built with it was incredibly easy, but the syntax is 100% counter-intuitive for anyone who has ever programmed before. Ruby is, I think, one of the only languages that time spent learning it, if it doesn't become the next big thing, would be completely wasted because it is syntactically and programmatically dissimilar from almost every other language out there.
 
My highschool programming experience was untraditional it seems. I had a year of LOGO (TerripanLOGO to be exact) which really has no real world application that I know of. I still am glad I took it. The languge was easy enough that it can be learned quickly and then get into programming basics. Also, simple recurrsion is easy to do, something I've not really found in any of the other languages I've learned so far. From the sound of it, you're only going to have on language to offer, and although I enjoyed LOGO, I wouldn't recommend it as the only language.

I also had half a year of Pascal in highschool. This was more of your 'traditional' programming language (at least how I view them) and emphisized basic programming sturctures. I didn't have enough of it to get into the heart of the language though.

That's all I had in High School, but I'm now a Comp Sci major in College and have had a year of Java and almost a year of C++.

I'd recommend Java if you're trying to teach to people without programming experience because it's a smaller language than C++ and is more restrictive (which in this case is good for when you're just learning). Also, from what I've found, Java is alot better documented on the Web than C++ (and if anyone contests this let me know, I've been looking for a good C++ site). It my be a personal opinion, but I found java.sun.com to help when I needed to do something with Java and only had a vague idea how to do it. I've not found a comparable C++ site.

As a last note, someone mentioned that Java was the language on the AP test. Are you sure about this? The people I knew in my Highschool who took AP Comp Sci were learning C++, not Java, so I would have thought the AP test was C++ based. If you really want to go the AP route, I'd look into which language the test is based on before making a decision.
 
Java is nice because it's platform independant, but I still say C because with Java, there's not a lot you can really do for yourself with that knowledge. I do agree that it's highly sought after in the corporate world, but it's just not that practical for learning how to program. It's a sloppy language that requires vast sums of memory and is usually unstable.

However, if you're still adverse to C but want to teach a more useful langauge, try Python or PHP. Both have extensive uses for things most aspiring coders would like to do (set up forums, run their own online game, etc).
 
Matlab! It's like a giant overcomplicated calculator!

But seriously... I've only had limited experience with each of them, but I think C++ is pretty good if youre just trying to give them a "taste" for coding. If you use Microsoft's Visual Studio 2005 it makes it all nice and color coded, much easier to see what youre doing than with some earlier editors.
 
Yes, Java is currently the language for the AP comp sci exam, it switched to Java from C++ two years ago (for the 2003-2004 school year).
 
Back
Top Bottom