Dear New CompSci Teacher & Successor:
As a newly retired AP Computer Science teacher, I salute you on your choice of career!
Believe it or not, I was in your shoes 36 years ago when I started teaching High School Math in 1984, AP Computer Science A&AB in 1988 and AP Calculus AB&BC as well as College Math in 1993. I've been teaching Intro CompSci most years since 1984 and AP CSA (AP CSAB during the C++ years) every year from 1987-1988 to 2017-2018 school years. The main difference between my starting out then and your starting out now is that you have a lot more tools available to you with respect to hardware, software and even curriculae. For example, you have your choice of online textbook and IDE. Many such textbooks are interactive with built in IDEs. You even have your choice of online IDE via cloud computing on Google Compute Platform (GCP) or on Amazon Web Services (AWS). Good for you!
When I started out we had two classrooms of 8 IBM PCs shared by 16 students in each room running the Intel 8088 processor, text based monochrome graphics screens, 256KB RAM and two 5.25" floppy disk drives (one disk to boot IBM DOS and another disk to run applications like IBM BASIC, WordStar WordProcessor, Lotus 123 Spreadsheet or dBASE as well as saving data files). Forget harddrives, multicolor graphics arrays, printers or networks. In fact, we had only just replaced a GIMIX MiniComputer (UNIX based) network with these PCs. That was part of my job when I was hired! I've been maintaining, upgrading and redesigning these classroom/PC Labs ever since! In 1987 we started a Computer Math class (aka introCS) that was so popular we had to turn people away! We ran 2 sections every period of the day for 8 periods for about 250 students each year for several years. Now we are lucky if we get one section of introCS and one section of AP CSA. About 20 years ago, we combined the 2 labs into one as you can see pictured in the masthead of this blog.
Fast forward to the present day and you will find me and my students computing in the cloud whether it be scientific computing using SAGE (Google Compute Platform) in math class or graphics programming using OpenProcessing (Amazon Web Services). We're even building Linux Clusters out of Raspberry PIs (RPIs) after school creating fractal and povray prints with my Computing Science Independent Study (CSI) students! It's like I traveled 36 years into the future on H. G. Wells' own time machine to see how the state of computer science education has changed over all these years!
As a newly retired AP Computer Science teacher, I salute you on your choice of career!
Believe it or not, I was in your shoes 36 years ago when I started teaching High School Math in 1984, AP Computer Science A&AB in 1988 and AP Calculus AB&BC as well as College Math in 1993. I've been teaching Intro CompSci most years since 1984 and AP CSA (AP CSAB during the C++ years) every year from 1987-1988 to 2017-2018 school years. The main difference between my starting out then and your starting out now is that you have a lot more tools available to you with respect to hardware, software and even curriculae. For example, you have your choice of online textbook and IDE. Many such textbooks are interactive with built in IDEs. You even have your choice of online IDE via cloud computing on Google Compute Platform (GCP) or on Amazon Web Services (AWS). Good for you!
When I started out we had two classrooms of 8 IBM PCs shared by 16 students in each room running the Intel 8088 processor, text based monochrome graphics screens, 256KB RAM and two 5.25" floppy disk drives (one disk to boot IBM DOS and another disk to run applications like IBM BASIC, WordStar WordProcessor, Lotus 123 Spreadsheet or dBASE as well as saving data files). Forget harddrives, multicolor graphics arrays, printers or networks. In fact, we had only just replaced a GIMIX MiniComputer (UNIX based) network with these PCs. That was part of my job when I was hired! I've been maintaining, upgrading and redesigning these classroom/PC Labs ever since! In 1987 we started a Computer Math class (aka introCS) that was so popular we had to turn people away! We ran 2 sections every period of the day for 8 periods for about 250 students each year for several years. Now we are lucky if we get one section of introCS and one section of AP CSA. About 20 years ago, we combined the 2 labs into one as you can see pictured in the masthead of this blog.
Fast forward to the present day and you will find me and my students computing in the cloud whether it be scientific computing using SAGE (Google Compute Platform) in math class or graphics programming using OpenProcessing (Amazon Web Services). We're even building Linux Clusters out of Raspberry PIs (RPIs) after school creating fractal and povray prints with my Computing Science Independent Study (CSI) students! It's like I traveled 36 years into the future on H. G. Wells' own time machine to see how the state of computer science education has changed over all these years!
So, what pearls of wisdom can I bequeath unto my stalwart successor? I'll not bore you with my entire history of teaching CompSci and all the hardware, software and curriculum changes over the years. Let me just share with you what I would have done this year if the COVID19 Pandemic hadn't made me retire. I was still preparing for the new school year (2020-2021) last month just like I do every year before I decided to retire. So I think I have a pretty good idea of what you should do to get started teaching introCS and AP CSA in this day and age.
Last year, my Intro Computer Science course, Computer Science Honors (CSH), was completely online as far as computing environments were concerned. We used SAGE a lot for pythonic scripting. We also used Trinket.io whenever we needed turtle.py or visual.py access (aka IDLE and VIDLE). Our textbook was a combination of "Coding in Python and Elements of Discrete Mathematics" by the incomparable Maria & Gary Litvin from SkyLight Publishing and the amazing interactive python text online: "How to Think Like a Computer Scientist."
Two years ago, in AP CSA, we used CS50 and OpenProcessing a lot and we loved it! It's great to have the same computing environment in class and at home down to the filing system and the files we are working on. CS50 emulates an Ubuntu Linux Desktop which we used to write and debug all our text based java programs. We used OpenProcessing whenever we wanted to do something graphical in java (optional: not tested on the AP Exam). See The Nature Of Code YouTube Channel by Daniel Schiffman for some great ideas! If you want to get fancy, CS50 recently launched a Sandbox version adding support of Xwindows graphical programming as well as Jupyter Notebooks (aka Interactive Python NoteBooks). Our textbook was "Big Java" by the phenomenal Cay Horstmann. This year I would also follow the new AP CSA CED and AP Classroom. Runestone has a great interactive online text "CSAwesome" that I highly recommend!
In many states, this year you will need to have all these sites sign a waiver to protect student data (PII). BTW, we can use SAGE without a waiver because you don't have to login to use it. You would think it's a problem that you can't print or save your work. However, you can easily download your python scripts for printing. You can even share a permalink url with all your interactive code embedded and encrypted! See samples from my math classes on the sidebar of this blog. There's also a commercial version of SAGE called CoCalc if you want to save your code online and print to pdf. CoCalc even has a LaTex editor as well as Jupyter Notebooks! Trinket already signed the PII waiver for my former school district, thank you!
My old High School is still waiting for CS50 and OpenProcessing to come on board. You need a GitHub account to log into CS50 so we sent a waiver there too. Harvard's own Dr. David Malan said he's working on the CS50 waiver. Openprocessing said they may make a sandbox edition where you won't even need to login! If we don't get those waivers signed, students may have to download and install the NetBeans and Processing IDEs on their PCs at home (we have these installed on the school PCs just in case).
In many states, this year you will need to have all these sites sign a waiver to protect student data (PII). BTW, we can use SAGE without a waiver because you don't have to login to use it. You would think it's a problem that you can't print or save your work. However, you can easily download your python scripts for printing. You can even share a permalink url with all your interactive code embedded and encrypted! See samples from my math classes on the sidebar of this blog. There's also a commercial version of SAGE called CoCalc if you want to save your code online and print to pdf. CoCalc even has a LaTex editor as well as Jupyter Notebooks! Trinket already signed the PII waiver for my former school district, thank you!
My old High School is still waiting for CS50 and OpenProcessing to come on board. You need a GitHub account to log into CS50 so we sent a waiver there too. Harvard's own Dr. David Malan said he's working on the CS50 waiver. Openprocessing said they may make a sandbox edition where you won't even need to login! If we don't get those waivers signed, students may have to download and install the NetBeans and Processing IDEs on their PCs at home (we have these installed on the school PCs just in case).
If your students are stuck at home learning remotely, best thing to do would be to install IDEs on a PC desktop. I was loooking at NetBeans or Eclipse for java. Processing has a desktop IDE as well. If students are using chromebooks, I was looking at an experimental Linux desktop that's now included as a dual boot OS on most chromebooks. BTW, both the chromebook and CS50 platforms use a text (ASCII) based Linux console running Ubuntu Linux (which I used for decades at my old High School).
FYI, I'm in the process of posting my screencasts to Patreon. Please keep an eye out for my Computer Science posts:
FYI, I'm in the process of posting my screencasts to Patreon. Please keep an eye out for my Computer Science posts:
BTW, we've been using Linux so long (1995-2017 IIRC) that I remember using telnet, rlogin and plain ftp back in the day before setting up ssh and sftp servers! We even had a separate ftp server just to share files with students and faculty. OMG, I even remember using UNIX in the 1970s and 1980s back in my undergraduate days at Cornell majoring in Physics and Electrical Engineering!
One last thing, don't forget about Rubber Duck Debugging! Here's some more info!
Well, that's all folks.
2015 NYS Secondary Math PAEMST Nominee
mathforum apcommunity sage
RECOMMENDED AP COMPSCI REVIEW:
Generally Speaking,
2015 NYS Secondary Math PAEMST Nominee
Teaching with Technology,
pastebin youtube slideshare mathforum apcommunity sage
(IDEs & Code)
MATH 4H, AP CALC, CSH: SAGECELL
MATH 4H, AP CALC, CSH: SAGECELL
APCSA: sandbox.cs50.io
(Curriculae)
CSH: CodeHS
CSH: Coding In Python
CSH: Interactive Python
APCSA: Big Java
APCSA: CSAwesome
APCSA: Nature Of Code
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 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
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.