Page 1 of 2

Computer Science in High School

Posted: Fri Aug 24, 2007 7:27 am UTC
by Magitek
I was reading another thread about the APCS test and class, and it got me wondering, how was the Computer Science offerings at your high school?

Maybe we can paint a picture of the state of Computer Science education at the HS level.

My high school (Gabrielino HS in California) was structured like this:

- Introduction to Computer Programming (BASIC)
- Computer Programming (Java)
- APCS (Java)

What was yours like? Did you even have CS offered? Was it fun?

Re: Computer Science in High School

Posted: Fri Aug 24, 2007 7:58 am UTC
by Bondolon
Mine was:

Intro to Programming (Basic)
Programming (C++)

Posted: Fri Aug 24, 2007 11:14 am UTC
by TheStranger
My first class to include programing was "Fractal Mathematics" in which we used simple basic programs to generate Pascals triangle (several different variations), Fibonacci's Sequence, and a few other random algorithms (like a branching tree). It wasn't really a programming class (all the programs were pre-generated, we just modified them).

After that I took Computer Mathematics, the introductory programing class (no idea why it was called Computer Math) which was in Pascal.

Then I took AP Computer Science, which was also in Pascal... oddly enough that was the year that the AP test switched to C++ (which was a fun bit of info we learned two weeks before the test...)

Posted: Fri Aug 24, 2007 12:36 pm UTC
by zenten
I took three classes, the first two were in Turing *shudder*, the last one was in a combination of Turing and Foxpro.

Yes, Foxpro was the least painful language I programmed in in high school.

Posted: Fri Aug 24, 2007 2:41 pm UTC
by Mittins
I never took any computer science courses in HS, which is odd considering I've gone into Computer Engineering as my major in university.

Literally all of my programming knowledge is self-taught. They don't teach you how to program in university - they teach you other stuff (like data structures & algorithms). You're just sort of expected to know how to program.

Anyway, from what I've heard (friends that DID take CS in HS): They learn Turing first year, VB the next and finally Java in the third (there's no CS course offered in grade 9).

Posted: Fri Aug 24, 2007 3:16 pm UTC
by stormgren
Like I said in the other thread, I was very lucky to have this class called Special Topics in Comp Sci at my school, which covers some of the math behind programming and some more advanced projects.

There's also these classes:
-Fundamentals of Computer Science (basic C++ programming)
-AP Computer Science A and AB.

Posted: Fri Aug 24, 2007 3:23 pm UTC
by zenten
Mittins wrote:I never took any computer science courses in HS, which is odd considering I've gone into Computer Engineering as my major in university.

Literally all of my programming knowledge is self-taught. They don't teach you how to program in university - they teach you other stuff (like data structures & algorithms). You're just sort of expected to know how to program.

Anyway, from what I've heard (friends that DID take CS in HS): They learn Turing first year, VB the next and finally Java in the third (there's no CS course offered in grade 9).


My first year computer science course taught you (in the first class/lab) how to use email, and how to use a floppy disk. They did end up teaching us how to program though, but that's a CS major. I know the electrical engineers were taught how to program as well, but I don't know for certain about computer engineers.

Posted: Fri Aug 24, 2007 3:33 pm UTC
by Mittins
zenten wrote:My first year computer science course taught you (in the first class/lab) how to use email, and how to use a floppy disk. They did end up teaching us how to program though, but that's a CS major. I know the electrical engineers were taught how to program as well, but I don't know for certain about computer engineers.


Where did you go to school? In Ottawa? I'm from Waterloo so thinks might be different here.

Posted: Fri Aug 24, 2007 3:57 pm UTC
by zenten
Mittins wrote:
zenten wrote:My first year computer science course taught you (in the first class/lab) how to use email, and how to use a floppy disk. They did end up teaching us how to program though, but that's a CS major. I know the electrical engineers were taught how to program as well, but I don't know for certain about computer engineers.


Where did you go to school? In Ottawa? I'm from Waterloo so thinks might be different here.


University of Ottawa.

And I know a person that was accepted into comp sci at your school who can't use a computer too, although he ended up going for math instead.

Unless you're talking about Laurier, which is where my mom went.

Posted: Fri Aug 24, 2007 10:26 pm UTC
by Magitek
Is Turing even a language besides what's formalized as a Turing Machine? What would you learn in that class besides Turing machines for proving algorithms?

Posted: Fri Aug 24, 2007 11:02 pm UTC
by Porges
Magitek wrote:Is Turing even a language besides what's formalized as a Turing Machine? What would you learn in that class besides Turing machines for proving algorithms?


Yes :)

...and I'm guessing they wouldn't even have approached the second question.

Re: Computer Science in High School

Posted: Fri Aug 24, 2007 11:10 pm UTC
by sunkistbabe1
Magitek wrote:I was reading another thread about the APCS test and class, and it got me wondering, how was the Computer Science offerings at your high school?

Maybe we can paint a picture of the state of Computer Science education at the HS level.

My high school (Gabrielino HS in California) was structured like this:

- Introduction to Computer Programming (BASIC)
- Computer Programming (Java)
- APCS (Java)

What was yours like? Did you even have CS offered? Was it fun?




It was 10 years ago, but there was:

Data Processing (basically typing)
Computer Science (Working with ooooold machines even for 10 years ago)


wheeeee

Posted: Sat Aug 25, 2007 12:40 am UTC
by Amnesiasoft
My High School offered these programming related classes:
Introduction to Computer Science (Java)
Intermediate Computer Science (Java)
AP Computer Science (Java)
Computer Programming in Science and Engineering ("C with iostream")

Posted: Sat Aug 25, 2007 1:15 am UTC
by Azquelt
My only choice was Computation A-Level, which I took.
It covered
- Introduction to programming
- Data handling (inc. project)
- Some basics of computers anyone choosing the course should know
- Number representations

Mostly the best thing I got out of it was the programming practice (despite the best efforts of VB, although hopefully my previous knowledge of C++ prevented me from being totally corrupted)

Much more interesting (by several orders of magnitude) was the questions and training for the British and International Olympiad in Informatics.

Posted: Sat Aug 25, 2007 2:35 am UTC
by intimidat0r
We have two Visual Basic courses, an Intro to Java course, and the AP class (Java).

I'm confused now. Is the AP test C++? I thought it was Java.

Posted: Sat Aug 25, 2007 3:58 am UTC
by Number
My school has

VB (rather pathetic) or c++ (we did not mention the word "class")
Intro to Java (up to, not including, Interfaces)
APCS (A or AB)
Independent study (...)

I spent about 20 minutes making each assignment functional, then plenty of time either improving it or proving the teacher wrong. But that messing around is what got me the 5, not the teacher's attempt to ...teach?:lol: us the AB part of the curriculum in about 6 weeks.

intimidat0r wrote:I'm confused now. Is the AP test C++? I thought it was Java.

Well,
Wikipedia wrote:The AP exam currently tests students on their knowledge of Java. From 1999 to 2003, the exam tested students on their knowledge of C++ instead. Before 1999, the AP exam tested students on their knowledge of Pascal.

Posted: Sun Aug 26, 2007 1:02 am UTC
by robb
The High School I went to didn't offer any compsci classes. The closest thing they had was a Web Design class that taught very basic html.

My senior year, I bought a book and taught myself the AP Computer Science curriculum. I had to take the test at a different school, and I got a 5 on it.

Posted: Sun Aug 26, 2007 2:38 am UTC
by necroforest
Magitek wrote:Is Turing even a language besides what's formalized as a Turing Machine? What would you learn in that class besides Turing machines for proving algorithms?


Turing Machine proofs usually don't come around until the first year of grad school, at least in the programs i've looked at :wink:

Posted: Sun Aug 26, 2007 3:31 pm UTC
by zenten
Magitek wrote:Is Turing even a language besides what's formalized as a Turing Machine? What would you learn in that class besides Turing machines for proving algorithms?


I'm talking about a language called Turing, made by the University of Toronto. It has as little to do with Turing Machines as Aida has to do with what Ms. Lovelace wrote.

Posted: Sun Aug 26, 2007 9:43 pm UTC
by davean
necroforest wrote:
Magitek wrote:Is Turing even a language besides what's formalized as a Turing Machine? What would you learn in that class besides Turing machines for proving algorithms?


Turing Machine proofs usually don't come around until the first year of grad school, at least in the programs i've looked at :wink:


Then they are crap. I mean, there isn't much more to say to that. They might be decent computer programming courses, but as far as computer science goes, they suck.

Posted: Sun Aug 26, 2007 10:08 pm UTC
by Not an Evil Robot
My High school CS stuff was horrible.

For the AP, I was the only person who went to the school who passed the AB Comp sci test(got a 5), mostly because I went somewhere else.

Our school taught:

Computer Programming I(Visual Basic Javascript)
Computer Programming II('C++' kinda, cept that the code would only compile in Borland, and it was a good 10 years old? Everything I learned in that class I had to relearn over the next summer)
AP Computer Science(Everyone sat there and played games or surfed the WoW forums, The assignments were 'copy this code from the book')


Edit:If you want more stuff on the AP CS test, Ive got the Essays from the AB test I took a few months ago, I can type em up and post em.

Posted: Sun Aug 26, 2007 11:16 pm UTC
by EvanED
davean wrote:
necroforest wrote:Turing Machine proofs usually don't come around until the first year of grad school, at least in the programs i've looked at :wink:


Then they are crap. I mean, there isn't much more to say to that. They might be decent computer programming courses, but as far as computer science goes, they suck.


Unfortunately, it seems at least common, and perhaps common enough to be called the norm. (Not that I've done a survey of programs or anything.)

My undergrad standard curriculum didn't really include that. We got a little into TMs in an automaton class I took, but that was an elective offered once a year with maybe 20 or 25 people in the class when I took it. IIRC we spent a bit less than half the class on regular languages (DFAs, NFAs, epsilon-NFAs, REs), probably 2/3 of what was left on context-free languages and push-down automaton, and what was left on TMs, so we didn't have much time. We went over some equivalences of different variations of TMs and stuff, but didn't really get to reducibility or undecidability or anything like that. I've only seen that in some grad classes I took there.

It is an important part of CS, and one that is neglected a lot of places.

(That said: you can see a lot of CS and rarely or even never have to deal with a TM or reducibility or anything like that. There's a lot of CS outside of theory.)

Posted: Sun Aug 26, 2007 11:22 pm UTC
by necroforest
davean wrote:
necroforest wrote:
Magitek wrote:Is Turing even a language besides what's formalized as a Turing Machine? What would you learn in that class besides Turing machines for proving algorithms?


Turing Machine proofs usually don't come around until the first year of grad school, at least in the programs i've looked at :wink:


Then they are crap. I mean, there isn't much more to say to that. They might be decent computer programming courses, but as far as computer science goes, they suck.


What places do turing machines as undergrad? In my classes, we've talked about them in our algorithms class, but in a non-formal hand-wavy manner to just sort of touch on decidability and NP-completeness at the end, and we did some Turing Machines in our formal languages class, but never used them for proofs; just some talk about what languages they could recognize, the fact that they can compute functions instead of just accept/rejecting strings, and a few examples of turing machines to add numbers together and such.

Posted: Mon Aug 27, 2007 12:37 pm UTC
by zenten
EvanED wrote:
davean wrote:
necroforest wrote:Turing Machine proofs usually don't come around until the first year of grad school, at least in the programs i've looked at :wink:


Then they are crap. I mean, there isn't much more to say to that. They might be decent computer programming courses, but as far as computer science goes, they suck.


Unfortunately, it seems at least common, and perhaps common enough to be called the norm. (Not that I've done a survey of programs or anything.)

My undergrad standard curriculum didn't really include that. We got a little into TMs in an automaton class I took, but that was an elective offered once a year with maybe 20 or 25 people in the class when I took it. IIRC we spent a bit less than half the class on regular languages (DFAs, NFAs, epsilon-NFAs, REs), probably 2/3 of what was left on context-free languages and push-down automaton, and what was left on TMs, so we didn't have much time. We went over some equivalences of different variations of TMs and stuff, but didn't really get to reducibility or undecidability or anything like that. I've only seen that in some grad classes I took there.

It is an important part of CS, and one that is neglected a lot of places.

(That said: you can see a lot of CS and rarely or even never have to deal with a TM or reducibility or anything like that. There's a lot of CS outside of theory.)


There's a lot more to computer science theory than just Turing Machines as well.

Posted: Tue Aug 28, 2007 1:15 am UTC
by Jach
My high school:

Computer Science (Teaches C++)
AP Computer Science (Java).

The teacher wants to add another class too to explore the highlights of other languages like Python, Perl, Scheme (probably going through the MIT book), and some Advanced Web Design (the web designing class here is shit, I've heard) with PHP and MySQL. But he doubts the interest level would be high enough for the district to let him (even though there's only 7 people in my AP Physics class).

Edit: Oh yeah, all the machines are running Ubuntu this year (last year it was Mandrake, not Mandriva, Mandrake), so whoever takes it gets a pretty decent knowledge of how to go around in the terminal.

Posted: Tue Aug 28, 2007 12:28 pm UTC
by noouch
I wish German schools hired more qualified people to get people interested in programming. All we had was your run-of-the-mill IT teacher who didn't know much more than the average PC World issue can teach you, and I got a straight A for a power point presentation that resembled the average geocities page anno 1997.

Thing is, twenty years ago they were teaching BASIC to 8th graders. My mom knows the language better than I do.
At least now they've started switching to Linux.

Posted: Tue Aug 28, 2007 1:27 pm UTC
by necroforest
Jach wrote:Computer Science (Teaches C++)
AP Computer Science (Java).


Seems a bit backwards :wink:

Posted: Thu Aug 30, 2007 4:12 am UTC
by phantom
My school offers Visual Basic and Web Design. I signed up for visual basic this year only because it'll look good on my college resume (I'll probably spend 5 minutes doing whatever projects we have to do, and the rest of class writing PHP for my website). The web design is a joke, it's just how to use dreamweaver, they don't even teach real HTML.

Posted: Thu Aug 30, 2007 4:06 pm UTC
by FACM
My HS has nothing for CS. Typing was the only computer-related class until 8 of us requested a web page class. [8 asked for it, 63 joined up. Years later, school still hasn't caught on that computer-tech stuff is in demand]

Posted: Fri Aug 31, 2007 12:01 am UTC
by Xanthir
My high school's changed significantly. When I started we had Comp Sci 1 and 2, both in C++. After I finished those, there was enough interest that we created a Special Projects course in Java, because the AP test was moving to Java.

My little brother's following in my steps going through high school right now, and they have an actual Software Engineering track that means you go to the special school for half a day to take classes that draw in kids from the entire district.

Posted: Mon Sep 03, 2007 12:29 am UTC
by Cavalcadeofcats
My school only has APCS. No CS - just APCS. It was rather odd, because perhaps half or a third of the class really should have been in a non-AP class (when I took it last year), and thus slowed the course somewhat as the teacher tried to compensate.

Posted: Mon Sep 03, 2007 12:41 am UTC
by ks_physicist
Mine was:

Introduction to Computers (Basic operations)
Programming I (Basic)
Programming II (Pascal)
Advanced Computers (Other)

Of course this was in 1989-1993 or so.

Posted: Mon Sep 03, 2007 1:33 am UTC
by b.i.o
Mine was nonexistant :cry:

Posted: Fri Sep 07, 2007 7:59 pm UTC
by Rysto
My high school offered programming courses in grades 10, 11 and 12. The grade 11 course was basically a retread of the grade 10 course but it counted for a seperate credit anyway. All three courses were taught in Pascal.

Posted: Fri Sep 07, 2007 9:03 pm UTC
by __Kit
Wait, wait, wait, my school doesn't even offer ICT or Computing classes etc.

Posted: Sat Sep 08, 2007 4:39 am UTC
by Chase
Intro To Web Design (HTML)
Advanced Web Design (a little more HTML and alotta Flash)
Intro to Computer Programming (C++)
Advanced Computer Programming (More C++)

I took all of them. None of them were challenging. I knew all the HTML stuff already. Flash was easy. We didn't do anything advanced in C++ and I'd already learned some basics through BASIC. Mostly it was an excuse to hang out or stare at teh interwubs.

HOWEVER, the teacher was awesome. If she caught people playing Counter Strike instead of working, she'd log in and pwn their butts before forcing them to get back to learning. If she knew you already knew everything, then she'd let you slack off. During the period when there wasn't a class, she'd grab one of the school's TV and host Super Smash Bro's Melee tournaments. BEST TEACHER EVER.

Posted: Sun Sep 09, 2007 3:53 am UTC
by niteice
My school offers "Computer Applications". That's it. Graduation requirement, in which you learn the basics of Word and Excel. Changing formatting, creating charts. Supposedly there's a Computer Applications II, but I can't imagine what it would be....PowerPoint?

They also had Macromedia Studio MX installed on the new PCs when they arrived, but it seems to have disappeared over the years.

Posted: Sun Sep 09, 2007 11:28 pm UTC
by lol, Matt
My school offers three classes, and they're all in Java.
The first is TIK201, but I'm not sure what the TIK stands for. Secondly is ICS3M1, which is just Intro to Computer Science, and thirdly is the next level of ICS. I'm taking ICS level one having not taken TIK right now, but I'm not sure how it's going to turn out because even though TIK is not required for it, it's highly recommended.

Posted: Sun Sep 09, 2007 11:30 pm UTC
by Rysto
Those were the three courses offered at my school. If your school does it like mine, the 3M course will mostly be a repeat of the 2O course anyway.

Posted: Mon Sep 10, 2007 9:45 am UTC
by Jimmed
I had a pretty good Computing course at school, for A level. Unfortunately, despite the teacher knowing a hell of a lot about computer science, he knew very little of how to use any computers made after 1985, and those was completely inept in the ways of modern operating systems and desktop applications that most people at least have some understanding of.

The course itself wasn't too bad, although having taught myself to program in a couple of languages, the first year was incredibly boring. It covered the basics of programming (Pascal, then later Delphi), followed by a wide-ranging explanation of how computers work, from machine code/assembly and the fetch-execute cycle, to networking and basic web design.

Still, the teacher was an asshat.