DEV Community

Discussion on: What are the skills that a public school Computer Science teacher should possess?

Collapse
 
perrydbucs profile image
Perry Donham

tldr; Javascript, but also everything else!

I teach in the CS department of a relatively large private university; one of my courses is Computing for Non-CS Majors. Enrollment is around 200 students each semester, and I see a lot of freshmen, so they are just a year out from their high school experience.

Many, maybe most, non-CS folks think that CS is coding. It isn't. CS is a science degree, and most of our college majors are not being taught programming languages except as they relate to some other theoretical CS topic. I think that most local and state school boards incorrectly equate computer science with programming. The result is that grade school curriculums emphasize programming, usually in a completely useless language (Scratch comes to mind) because 'real' programming languages are considered 'too hard'. So much time is spent on this that there's no room for actual CS topics.

I see the result of this in my classroom at the college level. My students arrive from high school with essentially zero useful knowledge in the CS field.

I spend about a quarter of the semester walking my students through the basics of HTML, CSS, and Javascript as used in web pages. The rest of the semester is used to look at networks, internet privacy, doing business on the internet, how compression works in audio and video, basic logical operations, how operating systems function, and so on. It's essentially an introduction to the digital world, with enough web skills thrown in that they get a taste of what the broad range of computer technologies look like.

This notion that 'everyone should code' makes me crazy...it's like saying 'everyone should cook French pastry' and then forcing every single student to learn how to bake a croissant. Both are specialized skills. Some kids are interested in coding and will start to explore it on their own; you should provide those kids resources for learning, but not force it on everyone.

I'm assuming (perhaps incorrectly) that the 'other teachers' you mention are non-technical. Your question really is not what they should be teaching, but rather what they are capable of teaching. If programming is to be taught, the teacher should be at a high proficiency level in the language, and the language itself should be non-trivial (Python, Javascript, and so on). If the teachers are not at that level, avoid programming and instead focus on things like simple logic, how networks work at a high level, and so on. Only a very tiny percentage of your students will use a programming language after middle school, but they all will use a browser, buy a computer, stream music, and so on. It's much more useful and interesting to them to find out how those things work.

Sorry for a bit of a rant...I have to deal with the result of our eduction system every semester.

Collapse
 
louisf profile image
Louis Frankel

You are correct in that the direction the DOE seems to be going in is CS via coding. Do you have any resources on hand for teaching the other stuff? I hadn't really considered that but I completely agree that it is important.

Collapse
 
antonfrattaroli profile image
Anton Frattaroli

I can't agree with the sciences taught at a theoretical level, certainly in middle school but even at university level. I believe STEM is much better served with a competency-based learning approach.

Collapse
 
perrydbucs profile image
Perry Donham

I'm not sure you're understanding STEM properly; it applies to scientific and engineering studies, not any sort of skill-based education. I've always thought that investment in STEM education in early levels is a good idea, but sadly it's become a checkbox for school districts who try to force their entire student population through a set of poorly understood guidelines. Does your district 'use STEM'? Yes, all students are required to take two computer science courses (which aren't science courses at all but 'programming' in a language no student will ever use).

Computer science, the field, has very little to do with computer programming, which is really more of a trade skill. While we certainly write programs to solve problems, the programs themselves aren't the focus of the study.

Ditto engineering fields...there's a big difference between an electrical engineer (theory) and an electrician (practical). I'd much rather see middle and high schools teaching practical skills like plumbing and electrical work than jamming a one-size-fits-all 'STEM' curriculum down everyone's throat.

I've always thought the recent emphasis on STEM (and whatever came before it, and whatever will come after it) was nothing but a way to ignore the underlying problem of subpar primary education in our country.

Thread Thread
 
antonfrattaroli profile image
Anton Frattaroli

I refer to STEM as subjects that aren't liberal arts. Each teacher has their own approach in my district, some overhead projector with reading/comprehension, others a less passive approach. I only know of competency-based approach in elective classes, but they fail to have an extended curriculum for high-achievers.

I think that a foundation of practice allows the theory a greater ability to be assimilable by the student.