Showing posts with label matlab. Show all posts
Showing posts with label matlab. Show all posts

Sunday, March 1, 2020

Computing Science Education 2020 (Part 1 of 3)

Computing Science Education 2020 
(Part 1 of 3)


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 FORTRANBASIC 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.

Generally Speaking,
A. Jorge Garcia

 
Applied Math, Physics and CS
www.patreon.com/calcpage2020

www.youtube.com/calcpage2009

calcpage.redbubble.com

society6.com/calcpage






2015 NYS Secondary Math PAEMST Nominee


Teaching with Technology, 
pastebin youtube slideshare 
mathforum apcommunity sage

(IDEs & Code)
MATH 4H, AP CALC, CSH: SAGECELL
(Curriculae)
CSH: CodeHS
APCSA: Big Java
APCSA: CSAwesome

RECOMMENDED AP COMPSCI REVIEW:
CRIB SHEET (given during exam)
REVIEW BARRONS BOOK (see me)
REVIEW BARRONS ONLINE 
REVIEW APCENTRAL (past FRQs)
REVIEW EDX REVIEW MOOC01 
REVIEW UDEMY REVIEW MOOC02 
REVIEW CODING_BAT 
REVIEW PRACTICE_IT 
REVIEW RUNESTONE 
AUDIT CS50

RECOMMENDED AP CALCULUS REVIEW:
CRIB SHEET (not given during exam) 
REVIEW BARRONS BOOK (see me)
REVIEW BARRONS ONLINE 
REVIEW APCENTRAL (latest AB FRQs)
REVIEW APCENTRAL (latest BC FRQs)
REVIEW APCENTRAL (older AB FRQs)
REVIEW APCENTRAL (older BC FRQs)
REVIEW EDX MOOC01 
REVIEW COURSERA MOOC02

XTRA CREDIT FILKS RUBRIC 
(1 video = up to 5 bonus points):
1) Use a recognizable tune.
2) Karaoke entire song changing up the words (about STEAM).
3) You are Singing, Dancing or Playing an instrument.
4) You upload your video to YouTube and provide the url.
5) YouTube Description includes the lyrics.

XTRA CREDIT ARTICLES RUBRIC
(up to 5 articles = 1 bonus point each):
1) Cover Sheet is a Summary of the article.
2) FullPage, 12 pt, DoubleSpaced, 1" Margin.
3) Article has to be STEAM related
4) Article has to be a current event.
5) Copy of entire article is attached.

Tuesday, November 1, 2016

So, what are you doing for Grace Hopper Day?

So, what are you doing for Grace Hopper Day?

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! 

BTW, The Hour Of Python looks nice too.

Also, The Hour Of JavaScript is cool!

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, 
wget -mirror -r --html-extension -convert-links http://studio.code.org/hoc/1

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:

UPDATE-04 (12/8/14): Here's what we did today!

(original post from 12/14/13:)
Here's what I did for the #HourOfCode
(1) I registered myself as a presenter of an Hour Of Code, http://csedweek.org
(2) I registered all my classes for a tutorial do be done during said hour, http://code.org
(3) I presented the following info during that hour on Monday 12/9/2013:
http://www.cbsnews.com/videos/the-captain-is-a-lady/


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):


AP Computer Science A (java):


CIS: Computing Independent Study 
(MPI with FORTRAN, C, C++ and python):


Calculus Research Lab (SAGE):
aka Scientific Computing Lab (Octave):
aka Computing Science Lab (R): 


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.


Generally Speaking,
AJG

Well, that's all folks,
A. Jorge Garcia






Applied Math, Physics and CS
2017 NYS Secondary Math PAEMST Nominee


Sage Ebay
TpT