jpj@mss.UUCP (J. P. Jenal) (12/14/84)
Greetings - Mayfield has been teaching Computer Science as an elective for three years with Advanced Placement Computer Science being offered for the first time this year. The present Introduction to Computer Science course is a fairly broad based introduction to the *science* of Computer Science and has a significant emphasis on structured programming using Pascal. We are now considering making a Computer course of some sort a *required*, 1 semester class. My question to the net readership is what should the content of a required course be? If you are a college educator, what information do you want incoming Freshmen to possess regarding computers? Not just students in CS but *all* of your incoming students. Do potential English majors really gain something by learning how to code Pascal? Or would they be better served learning word-processing and spread sheets? Thanks for your thoughts - I look forward to some stimulating discussions. Cheers... Jim Jenal (aka ...!scgvaxd!mss!jpj) Mayfield Senior School ( " ...!ihnp4!mss!jpj)
eugene@ames.UUCP (Eugene Miya) (12/16/84)
> > My question to the net readership is what should the content of a required > course be? If you are a college educator, what information do you want > incoming Freshmen to possess regarding computers? Not just students in CS > but *all* of your incoming students. Do potential English majors really > gain something by learning how to code Pascal? Or would they be better > served learning word-processing and spread sheets? Pasadena throws an excellent doo dah parade. <obvious flame> This question can be extrapolated to experience I had after taking Calculus in HS and having it again in college. There is going to be some degree of repetition in anything you teach them. The skill they need in no particular order (except #1) are: 1) communication skills {English and perhaps one foreign language} are important. I would also like to include thinking logically 2) some discrete math 3) exposure to interaction, I/O, modularity, parallelism 4) exposure to structuring ideas and data 5) exposure to data communications 6) computing ethics [in light of recent developments] 7) an undertanding that many vastly different languages and systems exist, and that computing is becoming a multi-lingual affair English majors would best be served learning word processing and things like the Writer's Work Bench. But they need more. This brings up the subject of tools. Compiled programming languages are poor learning tools at best. BASIC continues to be popular despite comments by people "in the know." I think Unix shell programming has the answer to a point. While travelling on airlines, you might see some little electronics kits for the bored passenger. You plug in modules and make a radio, key set, door buzzer, mini-Cray-1, or whatever. What is needed is a software kit like this to teach the basic of computing. It should not be a single monolith package [the `Duff criterion,' I just came from the Usenix graphics workshop], but a collection of small tools...(haven't we heard this before). There is a woman who was in charge of the 1984 ACM meeting who lead the fight against the Apple bill. She and her colleagues reasoned that the general quality of educational software was extremely poor. Computer literacy (she said) is not knowing a programming language or word processor. You might get in touch with her: Karen Duncan 15 Parsons Way Los Altos, CA zip??? She has some very good ideas and might be able to help you. --eugene miya NASA Ames Research Center {hplabs,ihnp4,dual,hao,vortex}!ames!aurora!eugene emiya@ames-vmsb.ARPA
brian@uwvax.UUCP (Brian Pinkerton) (12/16/84)
Logic is certainly the most important word here. The ability to arrive at a conclusion given some inputs. Also important, I think, is the ability to break down an idea into its components. This is why I DON'T advocate teaching programming languages to 1st semester CS students. What good does teaching some pascal do if they can't make use of its structured nature? I would suggest that students take a class in some sort of analysis, where they don't have to know much about a specific topic to learn the methods of problem description and solution. If you throw this plus learning a programming language into the same course, are your students going to learn what you want them to? brian -- Brian Pinkerton @ wisconsin ...!{allegra,heurikon,ihnp4,seismo,sfwin,ucbvax,uwm-evax}!uwvax!brian brian@wisc-rsch.arpa
west@utcsrgv.UUCP (Thomas L. West) (12/18/84)
As for what should be taught in high school computer programming classes, my 1st year prof who had to take a bunch of hacker types and turn us to the path of structured programming had this to say in response to our questions. "What do I think should be taught in high school? hm.. Typing." He figured that far more bad habits than good were introduced in high school, and that untraining us was far harder than starting with a fresh class of computer illiterates. Tom West { allegra cornell decvax ihnp4 linus utzoo }!utcsrgv!west
thomson@uthub.UUCP (Brian Thomson) (12/18/84)
From Eugene Miya @ ames: > English majors would best be served learning word processing and things like > the Writer's Work Bench. But they need more. No more than they previously needed courses in typing and bookbinding. This notion of universal computer literacy is receiving rather more support than it deserves. -- Brian Thomson, CSRI Univ. of Toronto {linus,ihnp4,uw-beaver,floyd,utzoo}!utcsrgv!uthub!thomson
rcb@rti-sel.UUCP (Randy Buckland) (12/18/84)
Teaching CS in HS is fine and should be encouraged. But why stop there? I personally learned how to program in BASIC in 7th grade. It was an experimental program in teaching CS. I have not stopped since. Actually, I see no reason not to teach children to use computers as soon as they can read. Anybody vote for 2nd grade. That's a good reading level to start. Teach something like LOGO. It is simple, it teaches logical thinking, and it is fun to draw pictures and will hold a childs interest. Randy Buckland Research Triangle Institute ...!mcnc!rti-sel!rcb
jona@clyde.UUCP (Jon Allingham) (12/18/84)
> As for what should be taught in high school computer programming classes, > my 1st year prof who had to take a bunch of hacker types and turn us to > the path of structured programming had this to say in response to our > questions. > > "What do I think should be taught in high school? > hm.. Typing." > > He figured > that far more bad habits than good were introduced in high school, > and that untraining us was far harder than starting with a fresh class of > computer illiterates. I worked for most of my 3 (undergraduate) years in college as a TA/Lab Assistant for CS classes. I worked a lot with new students and the first few programming/data structures classes ( also with junior- and senior-level classes but that's not relevant) and found that most of the faculty and student assistants would much rather have an 'computer ignorant' freshman that you could teach, than a person who took some BASIC/FORTRAN or even Pascal in high school since most of them thought they already knew everything. Sure, most of them had little trouble doing the assignments which were oriented towards beginners, but they also didn't learn much. New students would try the structured techniques being shown and would learn, whereas many 'experienced' students would keep on coding the way they did in high school and not even open the book or go to class. You wouldn't believe how many goto's and if-then-else kludges they came up with to solve a problem that was supposed to have been done with a Pascal CASE statement. They just hadn't gone to class or really read the assignments. Obviously this doesn't hold true for every case. Nothing ever does. If computer science is going to be taught in high school ( and it will be, there's no way around it) then would should be taught is: 1) BASIC FAMILIARITY. A student should try some canned programs ( not just games though ) to learn about working with a computer. Having the student type them in from DETAILED instructions is a good way to start. 2) PROGRAMMING. Everyone wants to do something on their own. A course should concentrate on data structures and object-oriented design ( ie none of this BASIC stuff. ) a. Recommended languages: Pascal, Modula-2 ( I don't recommend C because I don't feel it is a good learning language. There are too many ways to 'degenerate' back to assembly in it. Maybe C++?) Maybe Forth ( I don't know much about it) or possibly Ratfor or M-77 (god forbid Fortran 5). Of these I think schools should start using Modula-2 because it almost forces modular design and clean interfaces. b. Techniques: Requiring students to make modifications to an existing, medium-large, WELL-structured program is good - why have them waste time on all the support routines that make up a program, all that can be learned later. Another good way is to have students write a program and modify it later. You can start with a small but significant ( that's the hard part, finding something ) program and add new routines etc. Stubbing in un-needed routines at the beginning also teaches a valuable testing technique. I can't think of anything else of the top of my head, so I'll leave it at this. -- Jon M. Allingham (201)386-3466 AT&T Bell Laboratories-WH "Beam me up Scotty, no intelligent life down here!"
mauney@ncsu.UUCP (12/18/84)
1) Computer Science, and even computer programming, should have a status in high schools no higher than that of Calculus. It should be offered only by schools not having any difficulty supporting the important subjects, and should be required only for those student for whom calculus is required. 2) I am a computer science professor, and the biggest favor high schools can do for me is to teach logic, problem solving, and clear thinking. If students can do that, programming will not be hard to pick up. The only capital investment required for the schools is buying a few good teachers. 3) If you insist on teaching something with computers, try this: get some hardware and a wide variety of software packages -- games, spreadsheets, address books, whatever. Teach the basic steps of using a package, then give assignments that require the use of more advanced features. And then, and this is the useful part, have discussions about the packages: how good is the documentation? how good is the user interface? how useful is the package in reality? is it an improvement over the existing low-tech counterparts? how could things be improved? Students will learn to use computers, and learn when not to use computers, and learn to demand quality software. Students who plan to major in computer science will have a perspective that will enable them to produce really useful software when they graduate. It's only a suggestion, of course. -- _Doctor_ Jon Mauney, mcnc!ncsu!mauney \__Mu__/ North Carolina State University
andrew@garfield.UUCP (Andrew Draskoy) (12/19/84)
Who is going to teach the courses? Around here, the teachers mostly learned what they knew from a two-week course on BASIC offered to teachers during the summer. Obviously some of them would know more, but how many? Rather than teaching Computer Science per se, I think a better background in logic is needed. I seem to recall having being taught about the basic boolean operations, minterms, k-maps, etc. in at least three beginning or near-beginning C.S. courses. In addition, the main student-killer course here is the discrete structures course, in which it has become apparent that most students don't have an adequate familiarity with proofs. A little bit of logic would perhaps set students into the right "frame-of-mind" for doing Computer Science later. ----- Andrew Draskoy {akgua,allegra,ihnp4,utcsrgv}!garfield!andrew The opinions expressed above may not represent those of the author after he has had some sleep. -- Andrew Draskoy {akgua,allegra,ihnp4,utcsrgv}!garfield!andrew The opinions expressed above may not represent those of the author after he has had some sleep.
annab@azure.UUCP (Anna Beaver) (12/19/84)
> > I would suggest that students take a class in some sort of analysis, > where they don't have to know much about a specific topic to learn the > methods of problem description and solution. If you throw this plus > learning a programming language into the same course, are your students > going to learn what you want them to? > > brian > -- I came in on the tail end of this discussion so I'm not sure if this point has been brought up. People are born with pretty remarkable reasoning abillities. If they are taught good problem solving methods EARLY they have a better chance of grasping new concepts more quickly. However, it is also true that most of what we have learned comes from example and exposure to the concepts and/or the equipment involved. My 14 yr. old son has been exposed to and using computers for about 5 yrs. now and has a good understanding of how a lot of it functions. The Junior High School which he attends has several computers and they have used him as a resourse to tutor teachers as well as other students. If the propper problem analysis techniques are taught from EARLY on and the children are allowed to use computers more in school, as well as at home they could learn basic programming concepts BEFORE high school, as some are now doing. Annadiana Beaver A Beaver@Tektronix
scott@gitpyr.UUCP (Scott Holt) (12/19/84)
> > My question to the net readership is what should the content of a required > course be? If you are a college educator, what information do you want > incoming Freshmen to possess regarding computers? Not just students in CS > but *all* of your incoming students. Do potential English majors really > gain something by learning how to code Pascal? Or would they be better > served learning word-processing and spread sheets? Well, I am not college educator, but I do have some thoughts as to the teaching of 'computer science' before college. I do not feel that 'computer science' should be required at the high school, or even college level. 'Computer literacy', however, should be required of all students reguardless of profession...it is a skill that will be needed for survival in the near future ( if not now ). By 'computer literacy' I do not mean programming, but rather an introduction to the impact of computers on society and how computers can help in any profession. Just as chemistry is not required for many professions, niether should programming. It should be offered as an elective, just as many other sciences are, and It should be stressed that for students planning on entering engineering or science, programming will be a valuable skill. Personaly I feel that recent trend towards offering AP classes in computer science is great...I think we should offer the students anything they can handle, and many of the can handle it. There are far to many people out there however, who have absoultly no need for programming to require that it be taught as a mantatory subject. The same resons why we dont require Calculus, Physics, and many other subjects for every student should apply to computer science...not that many people need to know how to program. Everybody, though, needs to know the impact of the computer on their life. - Scott Holt ..gatech!gitpyr!scott -- --------- Yes, I'm allright....ayeeee Haaa Haaa Haaa!!!! Scott Holt Po Box 36199 Georgia Institute of Technology Atlanta, GA 30332 ...!{akgua,allegra,amd,hplabs,ihnp4,masscomp,ut-ngp}!gatech!gitpyr!scott ...!{rlgvax,sb1,uf-cgrl,unmvax,ut-sally}!gatech!gitpyr!scott
woof@psivax.UUCP (Harold Schloss) (12/19/84)
It would seem to me that most high school students would be easily taught enough about a computer to be educated users. By this I mean, they would know about storage devices (floppies) and the need for backing them up. They would know the rudiments of some operating system. They would know enough to write a program in some language that printed to the screen or other output device, got input from the user, had a subroutine, and at least one loop. (This is loosely based on the Harvard College requirements for all undergraduates.) To be really complete they could learn about recursion. The language that is used to teach this doesn't seem to me to be a very important issue. It should be (in my opinion) a language that does not require the teacher to get really bogged down in teaching some unique method of programming. Languages I feel might be appropriate are BASIC, PASCAL, C, and similar types of languages. I don't feel that LISP or PROLOG are good vehicles for learning computer programming initially. They are not relevant to most programming environments I have encountered so far. They are efficient for the tasks they were designed I'm sure, but it seems to me that they are somewhat difficult for someone's first language. (I'm aware that other people hold strong opinions on the subject that may differ, so try not to flame me too much.) My first experience with computers came with a class taught in the afternoons at the local high school as part of California's Mentally Gifted Minors program. I was in the sixth grade at the time and we were taught a rudimentary form of assembly language on an old Litton computer. (It even had a drum memory!) As I remember there was very little in the way of an age barrier to understanding the computer, but I will admit the class was self selected. The group of kids involved obviously had some interest in the subject already though. It would have been nice to have taught a high level language, but it took an hour to load FORTRAN 2 off the paper tape so we made do (quite well) with the built in assembly language. I think that we would have learned just as much if we had been taught the same subject matter in the 3rd grade. -- Hal Schloss (from the Software Lounge at) Pacesetter Systems Inc. {trwrb|allegra|burdvax|cbosgd|hplabs|ihnp4|sdcsvax}!sdcrdcf!psivax!woof
ag5@pucc-k (Henry C. Mensch) (12/19/84)
<<>>
I also worked as a Teaching Ass't/Lab Ass't when I was a student
at Syracuse University, and I agree that a computer-ignorant freshman is
more desirable as a student than those who have had computing in high
school.
One of the courses that I worked for was a freshman introduction
to Computer Science in which the language of instruction was UCI Lisp.
Of course, all those freshmen who walked in with a blank slate fared better
than those who carried high-school programming knowledge because
-) the high-school programmers invariably learned how to
'program' in BASIC or FORTRAN IV on incredibly-outdated
equipment (In high school, I learned on a Nova 2/10
which, when driving four terminals <3@110baud, 1@300 baud>
was as slow as a VAX with a >30 load average),
-) the high-school teacher who would wind up teaching these
courses was either learning the material on-the-fly <not
real good when the students who were hacking knew more
than the teacher did> or were recalling it from a course
in programming which they had while in college several
eons ago (since most high schools haven't the cash to
hire someone truly competent, and since private industry
has the cash to siphon off those math/physics/other-science
teachers who have had considerable experience with computers),
-) the students assumed that, since they had computing in
high school, this course wouldn't present much new knowledge,
and, as such, would blow it off <only to find themselves up
to their asses in alligators because it wasn't as easy as
they thought it would be>.
After all this, it would be easy to conclude that I am against
programming/'computer science' courses in high school. This is *not*
the case.
Instead the high school course needs to be greatly modified.
A competent teacher being paid a livable salary has to teach the course.
(The 'livable salary' part puts the high school course beyond the means
of most school systems since schools pay abysmally low salaries to their
teachers).
Sufficient equipment must be available to the students.
Four terminals on an incredibly slow and out-of-date machine for
>100 students doesn't quite work.
The bottom line: if the course can't be taught well, then don't
teach it.
--
-------------------------------------------------------------------
Henry C. Mensch | User Confuser | Purdue University User Services
{ihnp4|decvax|ucbvax|seismo|allegra|cbosgd|harpo}!pur-ee!pucc-i!ag5
-------------------------------------------------------------------
"Ah, the sweet song of the morning grouch!"
abc@brl-tgr.ARPA (Brint Cooper ) (12/19/84)
> Teaching CS in HS is fine and should be encouraged. But why stop there? > I personally learned how to program in BASIC in 7th grade. It was an > experimental program in teaching CS. I have not stopped since. Actually, > I see no reason not to teach children to use computers as soon as they > can read. Anybody vote for 2nd grade. That's a good reading level to start. > Teach something like LOGO. It is simple, it teaches logical thinking, and > it is fun to draw pictures and will hold a childs interest. > > Randy Buckland > Research Triangle Institute > ...!mcnc!rti-sel!rcb Just for the record, this isn't such a revolutionary idea. Here in archaic Harford County, Md., LOGO is being taught to primary children (grades 1-3, but I'm not sure where they start)t), and intermediate level (4-5) are learning BASIC, both on Apple IIe machines purchased by the PTAs. In high school, the kids can learn BASIC and FORTRAN in classroom settings. My son is learning PASCAL in an "independent study" course of 1 hour per day. It's independent study because noone on the faculty knows enough PASCAL to teach it! Brint ARPA: abc@brl.arpa UUCP: ...{decvax,cbosgd}!brl-bmd!abc Dr Brinton Cooper U.S. Army Ballistic Research Laboratory Attn: AMXBR-SECAD (Cooper) Aberdeen Proving Ground, MD 21005-5066 Offc: 301 278-6883 AV: 283-6883 FTS: 939-6883 Home: 301-879-8927
annab@azure.UUCP (Anna Beaver) (12/21/84)
> I see no reason not to teach children to use computers as soon as they > can read. Anybody vote for 2nd grade. That's a good reading level to start. > Teach something like LOGO. It is simple, it teaches logical thinking, and > it is fun to draw pictures and will hold a childs interest. > > Randy Buckland > Research Triangle Institute My son Kevin was only 4 and learned to type in simple commands, such as run, dimentional commands for games... He was quite exited over doing the simple things he could understand, having already learned the alphabet. A Beaver@Tektronix
reid@Glacier.ARPA (12/21/84)
> My question to the net readership is what should the content of a required > course be? If you are a college educator, what information do you want > incoming Freshmen to possess regarding computers? Not just students in CS > but *all* of your incoming students. Do potential English majors really > gain something by learning how to code Pascal? Or would they be better > served learning word-processing and spread sheets? I teach the "weedout" CS course at Stanford. I think that teaching CS in high school is a mistake. I would much rather see high school students left alone to hack, computer club style, while their coursework concentrated on math, science, and English. Especially math. There is no particular crime in teaching CS in high school (see caveat in next paragraph) but people usually make room for it in the curriculum by leaving out math, which is a crime. I also like students who can spell and who can write literate paragraphs. The things that I wish incoming high school students knew include proof technique (logic and proof by induction), more geometry and trig, more problem-solving abilities, number bases, matrices and systems of simultaneous linear equations (minimal exposure, not complete mastery), physics, expository writing, and probably lots more that I can't think of now. The things that I wish incoming high school students didn't know include anything having to do with Basic other than pure, simple Dartmouth Basic, (if your Basic has PEEK, POKE, or PRINT # you should throw it away), anything having to do with small-computer operating systems (CP/M, DOS, etc.), and any skills involving floppy disks. Brian Reid Stanford
citrin@ucbvax.ARPA (Wayne Citrin) (12/21/84)
I'm in agreement with those who think that computer science shouldn't be required in high school or college. I'd like to take that one step further and disagree with those who feel that "computer literacy" should be required. No one disagrees that regular "literacy" (you know, the ability to read and write) should be required, since it's the key to all other study. The problem is with the term "computer literacy," which by its very nature makes people think that it's as important as literacy. I feel that what's called "computer literacy" is a useful skill on a par with knowing how to drive a car ("auto- mobile literacy"?). That is, it's a good skill to know, but no one requires that it be taught in school, and many people get by very well without having that skill (believe it or not). However, like driver ed, "computer ed" should be available to those who want to learn it. In high school, it should be taught strictly as programming, either in the business department or in industrial arts, for people who do not plan to go on to college. In college, a more general "computer literacy" course may be offered, but certainly not required. Wayne Citrin (ucbvax!citrin)
jpj@mss.UUCP (J. P. Jenal) (12/21/84)
Allow me to humbly suggest that you might be missing my point. What I am interested in is what the average student *needs* to know - not what some students might be capable of. While I certainly agree that there are kids who can handle any challenge that a teacher may design, that is not the experience of most students. It is their needs that I am trying to address. One of my other hats is that of the Algebra I teacher. Having done that for three years I have some fairly strong opinions on what elementary school math teachers should be teaching - that they are not! (How are *your* kids at adding fractions?) It seems that teaching the basics, which are clearly difficult, is not what most aspire to do. I would like to avoid being guilty of the same sins. Thus, my request. If you teach at the college level or have recently been through your college experience - or are doing so now - in something other than cs, what did you know going in and what would have been most helpful for you to have known? Thanks to all who have written to me directly - please continue to do so or followup to the net. Cheers... Jim Jenal (aka ...!scgvaxd!mss!jpj) Mayfield Senior School ( " ...!ihnp4!mss!jpj)
chris@umcp-cs.UUCP (Chris Torek) (12/24/84)
What with all this ranting and raving about what should and should not be taught, and how BASIC causes brain-damage, I feel compelled to relate my own personal life's tale :-). [This :-) is intended to set the tone for the rest of this article, except for a serious note at the very end, if you don't feel like wading through the next N zillion words.] The first computer program I ever saw was written in a Radio Shack on a TRS-80 Model I in what was called ``Level I BASIC''. I promptly fell in love with computing, and soon (a year or two later) I had scraped up about $500 and bought my very own computer (with Level II, natch). So my first computer language was indeed BASIC. I set out to learn as much as I could about my new toy. As it was a Z80-based machine, my second language (if you can call it that) was assembly. I used assembly code anytime something in BASIC wouldn't do the job, which became annoyingly frequent as I acquired more hardware and software. I had bought the Editor/Assembler package; however, this worked exclusively from tape, and when I got my disk drive running, I naturally wanted to be able to store my files on disk. This was the driving force behind my first ``large scale project'' in BASIC: to write an assembler. I did, and it even worked, at the stupendous rate of 15 lines per minute---per pass. (Well, can't have everything.) Along about this time, I managed to wangle an account on an IBM 370 machine supporting the high school system in the county. It ran IBM's VSPC (Virtual Storage Personal Computing) and had two(!) languages available, namely, BASIC and FORTRAN-IV. Naturally I had to learn to program in FORTRAN. I found it to be a great improvement over BASIC. Imagine: local variables! *Functions*! Ah, if I had only had such powerful tools when writing my assembler.... Anyway, FORTRAN was my third language. Many were my FORTRAN hacks, not the least of which were a few programs that read various system tables and could show who was logged on, what they were doing, and so forth. The heart of this code was actually stolen from Montgomery College (MC), a local community college which rented time on the IBM machine (the 370 was owned by the Mongomery County Board of Education). The code depended on various features of the FORTRAN compiler, and worked by changing an array reference into a subroutine call, allowing one to run arbitrary 370 machine code. The community college also had an assembler (written in FORTRAN), which we also managed to copy. So I learned some 370 assembly, and had fun dumping system tables. (We---two cohorts and myself---also managed to frighten the Board of Ed quite a bit by finding various publicly- readable passwords, and doing some stuff they thought couldn't be done. But we didn't destroy anything; all we wanted was enough space to run the ``PITS'' adventure game... but that's another story entirely.) Sometime during (I think) my senior year in high school, in parallel with the 370 system hacking, I found a new concept in programming: Structured FORTRAN, or STRUCFOR. The folks at MC had a preprocessor that converted WHILE/ENDWHILE, REPEAT/UNTIL, and IF/ENDIF statements into the equivalent FORTRAN code. I never did get a copy of theirs, but wrote my own for my TRS-80 (I had the Microsoft FORTRAN compiler by then). This, I think, gave me the idea of designing my own language (a project I never did complete). Soon after this, though, one of my cohorts mentioned above discovered Pascal. I had thought I was amazed at FORTRAN, but here in the Jensen & Wirth report was a language positively miles ahead of even STRUCFOR. Fortunate or not, I didn't have any chance to actually experiment with Pascal before I came to the University of Maryland, and when I came here (fall '81), the K&R C book had just appeared in the bookstores, so I used C before Pascal. I know now that, in reality, Pascal has some serious problems. (Yes, most implementations have workarounds for most of the problems. The problems still exist.) But it does have that important concept of structured programming. [Begin serious conclusion] In conclusion, I think that having started with BASIC hasn't been a problem for me at all, because I used it enough that I felt the need for something more. Structured programming provided that ``more''. Anyone who's written a large BASIC program probably wound up doing what I did: keeping a (paper) list of the entry points of each subroutine, along with the variables it used for input and output, and grouping related code by line number. Not very clean, but effective. Structured programming is obviously better, and having used both, I know which I prefer. More importantly, I know WHY I prefer it. I don't think that what I did is for everyone. Three years of experience with the wrong approach to programming is not a viable way to teach a college student that it is indeed the wrong approach. But boy, oh boy, it sure is effective! -- (This line accidently left nonblank.) In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (301) 454-7690 UUCP: {seismo,allegra,brl-bmd}!umcp-cs!chris CSNet: chris@umcp-cs ARPA: chris@maryland
scott@gitpyr.UUCP (Scott Holt) (12/26/84)
> However, like driver ed, "computer ed" > should be available to those who want to learn it. In high school, it should > be taught strictly as programming, either in the business department or > in industrial arts, for people who do not plan to go on to college. In > college, a more general "computer literacy" course may be offered, but > certainly not required. > Mabey it need not be taught at the highschool level, but I think computer literacy ( that is, enough knowlege to wipe away the anxiety associated with non computer types using computers ) should be a prerequisite to programming. I work in a user assistance office at my school and one of the biggest problems I see first time programmers having to deal with is fear of the the computer. Most of these people are freshman and in an non computer major. Perhaps a course in technology and modern society should be required of all students. Such a course would help wipe away many of the fears many people have about our increasingly technologicly oriented society. - Scott Holt -- --------- Yes, I'm allright....ayeeee Haaa Haaa Haaa!!!! Scott Holt Po Box 36199 Georgia Institute of Technology Atlanta, GA 30332 ...!{akgua,allegra,amd,hplabs,ihnp4,masscomp,ut-ngp}!gatech!gitpyr!scott ...!{rlgvax,sb1,uf-cgrl,unmvax,ut-sally}!gatech!gitpyr!scott
west@utcsrgv.UUCP (Thomas L. West) (12/29/84)
<> I think a computer literacy course is called for. While I doubt that it need be a full course, there should be some familiarisation with computers for ALL students. It is unlikely that we are going to be able to predict which students are going to be using/programming computers in a few years hence, but we can be sure that those students suffering from computerphobia are going to have a strong strike against them. Hence to avoid this phobia infecting a new generation and debilitating them, I think that a mandatory course (or part of a course) should be introduced to at least give them the idea that computers don't bite. The number of adults (especially women) who exhibit techno-phobia is simply amazing. These people are barring themselves from a myriad of positions that are growing all the time (as well as stopping a possible increase in their productivity.) This phobia will be around until everybody uses computers or computer literacy is widespread. In order to keep doors open for these people (and make computerisation of life easier) we need to educate the phobia out as soon as possible. In order to get the best benefit from the program, probably the classes should be segregated so that the young women in the class aren't intimidated by the possibly more enthusiastic young men. Tom West { allegra cornell decvax ihnp4 linus utzoo }!utcsrgv!west
sommers@topaz.ARPA (Liz Sommers) (12/30/84)
> In order to get the best benefit from the program, probably the classes > should > be segregated so that the young women in the class aren't intimidated by the > possibly more enthusiastic young men. > > Tom West > { allegra cornell decvax ihnp4 linus utzoo }!utcsrgv!west Come on now. As far as I have seen so far, the women in most CSE classes that I have either taught or given have been more enthusiastic then the men. There is a large problem (that I used to run into in math classes) that the teachers will ignore the women, giving more of their attention to the men, and thus finally discouraging the women. mamaliz (new to this net) seismo!rutopaz!sommers
cuccia@ucbvax.ARPA (Nick Cuccia) (12/31/84)
Greetings - Mayfield has been teaching Computer Science as an elective for three years with Advanced Placement Computer Science being offered One thing I'm curious about is what schools are accepting the Computer Science Advanced Placement test as a substitute for a required computer science course; who gives studens credit for taking the test and scoring a 4 or above? A recent InfoWorld (don't have the date, but can find it) stated that UC-Berkeley and MIT weren't giving credit for high scores, but Stanford was. My old high school is just getting started with teaching computer science courses (although the community's other high school has been teaching programming on PDP-8s for about ten years or so), and its principal looks to me for 'the pulse of academic computing'--whatever that is... I would also be interested in what would be suitable for teaching in high school CS courses, but also who accepts/does not accept the CS AP test in lieu of a required course. --Nick Cuccia --cuccia%ucbmiro@ucbvax (ARPANET) --ucbvax!cuccia (USENET)
cuccia@ucbvax.ARPA (Nick Cuccia) (12/31/84)
> Of course, all those freshmen who walked in with a blank slate fared better > than those who carried high-school programming knowledge because > > -) the high-school programmers invariably learned how to > 'program' in BASIC or FORTRAN IV on incredibly-outdated > equipment (In high school, I learned on a Nova 2/10 > which, when driving four terminals <3@110baud, 1@300 baud> > was as slow as a VAX with a >30 load average), My first exposure to computers in school was when I was in eighth grade, in junior high, in 1977-78 (the TRaSh-80 and Apple II had just been released around that time). We had to make do in the Santa Barbara Unified School District with a Nova 2/10 and one 300-bd terminal (remember those lovely Teletype machines--the ones with paper tape readers? 8-) per school (three high schools, four junior high schools). With 35 students in the class, forty-five minutes per day, this meant that each student had roughly seven minutes of terminal time per week in a given class. The instructor made up for this by teaching us the basics of Boolean Algebra and deductive logic. I found this to be the most valuable class that I had taken in secondary school, for its applications were not limited to just CS or even science. One problem that had arisen is that there are, to my knowledge, no books on mathematical logic or descrete math written with a high school student in mind that is currently in print. The book that we used had been out of print since 1964; the teacher bought his own copies, and we were not allowed to take them out of class. > Instead the high school course needs to be greatly modified. > A competent teacher being paid a livable salary has to teach the course. > (The 'livable salary' part puts the high school course beyond the means > of most school systems since schools pay abysmally low salaries to their > teachers). It is my feeling in general that teachers in general should be paid as much as engineers and chemists; then again, I don't know of any public school district that could possibly afford this and maintain a proper physical plant and procure adequate learning materials and resources (books, computers, etc.) at the same time. > The bottom line: if the course can't be taught well, then don't > teach it. Agreed. > Henry C. Mensch | User Confuser | Purdue University User Services --Nick Cuccia --cuccia%ucbmiro@Berkeley (Arpanet) --ucbvax!cuccia (USENET)
gregbo@houxm.UUCP (Greg Skinner) (01/06/85)
> From: cuccia@ucbvax.ARPA (Nick Cuccia) > One problem that had arisen is that there are, to my knowledge, no > books on mathematical logic or descrete math written with a high school > student in mind that is currently in print. The book that we used > had been out of print since 1964; the teacher bought his own copies, > and we were not allowed to take them out of class. I had a pretty good high school mathematics curriculum emphasizing discrete math and logic. The texts used were part of the Unified Modern Mathematics series. I don't remember offhand who wrote them but if there are any Stuy- vesant High School alumni who went through the Unified Modern Mathematics program I'm sure one of them will remember. Various subjects were covered that are applicable to a high school student's training for computer science. Among them were elementary number theory, groups, fields and rings, boolean algebra and set theory. When I was in high school I found it to be very challenging and exciting -- having that mathe- matics helped me to choose computer science as a major in college. -- Baby tie your hair back in a long white bow ... Meet me in the field, behind the dynamo ... Greg Skinner (gregbo) {allegra,cbosgd,ihnp4}!houxm!gregbo