Scientific Computing
Science, Technology, Engineering, Arts & Math
Teaching & Learning Math & Science with Technology
Graphing Calculators, Numerical Methods, Computer Algebra Systems & Linux Clusters
Why Shadowfax? Our cluster is so fast that we named it after the Lord Of The Rings character!
Website once known as CalcPage.tripod.com (1988 – 2008)
What is the State Of Computing Science education in 2020? I don't know if I can speak to that except from my own experiences at my own High School, so that's what this blog will be about. Note further that I'm referring to Computing Science and not Computer Science. I teach Mathematics and Computer Science, I've also been known to teach Chemistry and Physics, at a Middle School, High School or Community College in New York State every year since 1984. However, my primary interest in Computer Science is in a little known niche called Computing Science or Scientific Computing.
Scientific Computing is all about modeling real world phenomena, running simulations and exploring what if scenarios, using programming environments and computer algebra systems such as Mathematica, MATLAB and SPSS. I've taught with free versions of these packages for decades in Linux: SAGE, Octave and R. We also do a lot of modeling in Computer Science class with programming languages from FORTRAN, BASIC and Pascal to C++, Java and Python even Logo and Processing!
I'm not teaching AP Computer Science A (CSA) this year so as to restart my curriculum with our intro Computer Science Honors (CSH) course using Python. I currently have 18 students in CSH, but I have a lot of seniors, so only 9 students are going on to CSA next year. We can't run a section with less than 13 students, so we may have to combine the 2 sections next year with 12 students that signed up for CSH. So I'll be back to CSA in one year for the noobie students.
We had 2 sections (CSH and CSA) for many years (since 1984). Recently, we stopped populating CSH and put everyone in CSA but our results for those 5 years were poor on the AP exam, so we brought CSH back this year. The idea was to have 2 sections each year from now on, but no dice. I was asked to teach both courses simultaneously in one section next year, but that would be even more disastrous!
Approximate Enrollment History
CSH 24 Students 1984-2014
CSA 12 Students 1984-2014
CSH 00 Students 2014-2019
CSA 24 Students 2014-2019
CSH 18 Students 2019-2020
CSA 00 Students 2019-2020
CSH 00 Students 2020-2021
CSA 21 Students 2020-2021
I have taught the intro class using several versions of BASIC from 1984-2010. We did not call it CSH then and it wasn't a full year course either. The intro CompSci class was 2 semester courses. The first one was called Computer Math (CM) and the second was called Advanced Computer Math (ACM). We changed the name of the intro course to Computer Science Honors in 2010 when we made it a full year course taught with Python. We use Litvin's awesome Discrete Mathematics text and we also do some turtle.py graphics in IDLE and visual.py 3D graphics in VIDLE.
My school just started an AP Computer Science Principles (CSP) section this year, so I'm competing with that course too. I'm a member of the Math dept. CSA has always been taught by our dept. CSP is currently taught by a Science teacher. I didn't want to teach CSP as it's too much like a CS 101 class in college for non majors. Further, CSP has five modules, only one of which is about algorithms based solely on pseudo code... not my cup of tea.
FYI, I also teach Computing Science Lab (CSL) for Calculus students learning Computer Algebra Systems and Computing Science Independent Study (CSI) for students who have taken CSA and want to build a Linux cluster. We haven't had the enrollment to offer CSL for some years now, but we cover Computer Algebra Systems is preCalculus Honors now. As you can see, for better or worse, I have been the only teacher in my school in charge of maintaining and developing CompSci related curricula like this (CSH, CSA, CSI and CSL but not CSP) over the course of the past 36 years! Well, that's all folks.
UPDATE (11/11/16): Here it is Veteran's Day and I'm setting up for the Hour Of Code again! Every year around Admiral Grace Murray Hopper's (12/9/1906) and Ada Lovelace's, aka Augusta Ada Byron Countess of Lovelace, (12/10/1815) birthdays, I conduct an in-school Field Trip for the Honors Math classes to my PC Classroom/Lab to talk about taking AP Computer Science next year. In recent years, this has coincided with The Hour Of Code sponsored by code.org promoting Computer Science education in grades K-12.
This year code.org have a lot of new tutorials for CS ED Week, aka The Hour Of Code. I think I'll do these with my own classes too. I'm trying to get teachers to sign up their students for my Field Trip on Wednesday 12/7/2016. Since I don't have a lot of Seniors this year, I'm also going to show some of these tutorials to my own classes on Monday 12/5/2016 as a trial run.
I think I'll show the Disney Frozen tutorial on 12/7/16. I'll also use this one in my preCalculus classes. There's so many good tutorials to choose from. Maybe I'll show the Star Wars tutorial? Wait, Angry Birds look fun too! Karel The Dog was fun last year! I could do a different tutorial each period!
There's a new tutorial based on the TI nSpire CX CAS that I may use for my AP Calculus BC class. That link also has a tutorial for the TI-84! One problem with these tutorials is that they are teacher driven. So, the teacher needs to know about programming in general and TI-BASIC in particular. Most of the other code.org tutorials are student centered with videos to keep them on track.
We use the nSpire every day in AP Calculus. We even code with TI-BASIC on the nSpire. We've written code for solving Quadratic Equations and for Newton's Method. Soon, we'll be writing code for Riemann Sums and Euler's method too! So, may be I'll show the tutorial on MATHLAB instead!
The new tutorial on Processing would be perfect for my AP Computer Science class as we have been doing console based programming all year so far and we're thinking of switching to graphics based programming soon. The only issue with the Processing tutorial is that it will most definitely take more than and hour. Daniel Siffman, the developer of Processing, put together a nice intro but he sure likes to talk! I may take a couple of days on this one!
UPDATE (11/29/14): Originally posted 12/14/13, what follows is a description of what we did for CS ED Week, aka The Hour Of Code, aka Admiral Grace Murray Hopper Day, aka Lady Ada Lovelace's Birthday last year. This year we are doing much the same thing. Our goal here is twofold. (1) Promote Computer Science Education in general. (2) Recruit more students for the APCS class next year!
UPDATE (12/1/14): Last year was based on this Hour Of Code Tutorial from codehs.com. This year I'd like to try this or this tutorial from code.org. I'm having a problem with the new tutorials. They load fine at home, but take forever to load in school. So, I'm downloading the whole thing to run locally on each of my student PCs! I used the following commandline to download the webste recursively,
UPDATE (12/5/14): I'm not getting very far with code.org as yet. I'd like to do the code.org tutorials with my AP classes as they saw the codehs.com tutorials last year. Also, code.org has an Angry Birds tutorial and and a Disney's Frozen tutorial. So, I can do one in the morning with AP Calculus and the other in the afternoon with AP Computer Science as I have some of the same students in each. For students who have not done The Hour of Code with me, codehs.com's Karel the Dog is an easier intro. Codehs.com has two new tutorials. One is on mySQL and Harry Potter which is a little dry. The other is on making graphics with JavaScript which is a little challenging. I also like the code.org tutorials because they feature experts in the video tutorials like Bill Gates and Mark Zukerburg teaching about if/then/else branches and repeat/until loops! Here's some videos from code.org:
Admiral Grace Murray Hopper is one of my personal idols! Not only did she usher in the entire industry of Software Engineering but she single handedly invented Computer Programming Languages and Compilers! She was a Math Professor, a Naval Officer, the developer of COBOL and an all around class act!
Grace Hopper's birthday was Monday 12/9. To honor her memory, I registered all my classes for an Hour Of Code. Maybe you'd like to participate as well? The Hour Of Code is about exposing as many students as possible to Computer Science in all disciplines. I'm making this presentation during course selection week as well to encourage students to take Computer Science at my High School! Due to budget cuts, teacher layoffs, large class sizes and canceled electives, I'm recommending Honors 9th Graders take AP Computer Science next year. I used to recommend an intro course, but I can't anymore....
CSEDWEEK was an unprecedented international effort. Over 15,000,000 students at more than 30,000 locations (mostly schools) in nearly 200 countries were registered to participate sometime during last week and wrote more than 500,000,000 lines of code!
I teach Computer Science and see it as a great tool in all disciplines. It's a shame that more students don't take Computer Science in High School. Taking Computer Science can lead to a great major in college and a great profession! I also use Computer Science in all my Math and Science courses in High School and College!
I've been teaching people how to code since 1975. I've also been teaching AP Computer Science at the High School level since 1984. Finally, I've been teaching computing at the College level since 1993. Needless to say, I'm a vehement advocate for a strong Computer Science Education in particular and a challenging STEM curriculum in general for every High School student. In fact, every single class I teach, every single day of the week, is devoted to some aspect of STEM! STEM stands for "Science, Technology, Engineering and Math." Actually, I try to incorporate STEAM into my classroom: "Science, Technology, Engineering, Arts and Math." By Arts I do mean Art (fractals, 3D graphics, animation) but I also try to tie in plenty of History, Literature and Culture. Mine is one of the few High Schools in the USA to offer a Computer Science curriculum! CS50 at Harvard, see playlist above, covers a lot of the same material we cover here at Baldwin Senior High in my AP Computer Science class. They use Scratch, C, php and JavaScript whereas we use Python, SAGE, MPI and Java, but the concepts are the same! Sadly, the United States is falling far behind other countries in training professionals for jobs in the 21st Century that will require this skill more and more! So, in answer to this growing demand, here's what I teach (in addition to Math and Science): Intro to Computer Science (python):
HOUR OF CODE Instructions for Monday's tutorial: (1) Each student should go to http://codehs.com/hourofcode (2) Sign up for CodeHS using this code: F2B9 (3) Start learning! You will be completing a tutorial on programming for beginners. Fun will be had by all! Course Selection Week DropBox! Well, that's all folks.