Thursday, November 30, 2017

Computer Science 2017-2018: Primitive Java Data Types (November)

Computer Science 2017-2018:
Primitive Java Data Types 
(November)

LAB 4 ScreenCast


LAB04 was all about declaring and using Primitive Java Data Types. We talked about RAM usage for int vs long and float vs double as well as char and boolean! We talked about integer arithmetic and casting to a double. Take a look at our lab assignments in the PDF below and our classwork in the ScreenCast above for more information!


1st YouTube Wednesday: Tom Lehrer



November YouTube Wednesdays



Well, that's all folks!
Teaching with Technology, 

preCalculus 2017-2018: Laws Of Sines and Cosines (November)

preCalculus 2017-2018:
Laws Of Sines and Cosines 
(November)

Chapter 8 ScreenCasts



Chapter 8 was all about Applications Of Trigonometry. First we solved Right Triangle using Pythagoras and SOHCAHTOA. Then we solved nonRight Triangles using the Laws Of Sines and Cosines. We even calculated triangular areas using Heron's Formula! We found that Law Of Cosines is great for SSS and SAS problems. Other cases used the Law Of Sines. Watch out for that Ambiguous Case! We had fun applying our advanced trigonometry to real world data and word problems. We even tackled Harmonic Motion and Sinusoidal Regression!



1st YouTube Wednesday: Tom Lehrer



November YouTube Wednesdays





Well, that's all folks!
Teaching with Technology, 

Calculus 2017-2018: Applications Of AntiDerivatives (November)

Calculus 2017-2018:
Applications Of AntiDerivatives 
(November)

UNIT 6 ScreenCast


UNIT06 was all about applications of the AntiDerivative. We talked about solving Variable Separable First Order Differential Equations Of First Degree using Indefinte Integrals. We also found the area between 2 curves using Definite Integrals. Then we upped our game calculating Areas Of Revolution using horizontal or vertical strips and Disks, Washers or Shells. Then we calculated more Metrics finding Volumes Of Solids With Known Cross Sections, Arc Length and Surface Area!



1st YouTube Wednesday: Tom Lehrer



November YouTube Wednesdays



Well, that's all folks!
Teaching with Technology, 

Friday, November 10, 2017

CIS(theta), 2017-2018 November Meeting: PelicanHPC!

CIS(theta), 2017-2018 
November MeetingPelicanHPC!

Yes, I'm afraid it's true, IT replaced all my Linux Boxes with WimpDoze! So we have to find an alternative to installing MPI on native Linux! How do we run MPI under WimpDoze without installing anything?

Enter pelicanHPC as a our first solution! We demoed an old DVD we had to show how to fire up the cluster. Our experiment demonstrated that we could not boot the whole room anymore, as we used to, as PXE Boot or Netboot requires we setup our own DHCP server. When you boot the DVD on one PC, it sets up a DHCP server so all the other PCs can PXE Boot the same OS. However, our new WimpDoze network uses its own DHCP server. These two servers conflict, so we cannot reliably connect all the Worker bees to the Queen bee. We can't setup grid computing or a grid cluster, but we can still setup SMP. In other words, boot up a single PC with the pelicanHPC DVD and run multicore applications on all the cores on that one PC.

So, here's your homework. Download the latest pelicanHPC ISO file and burn your own bootable DVD. Don't worry if your first burn doesn't boot. You can use that DVD as a "Linux Coaster" for your favorite beverage the next time you play on SteamOS. If you can make this work at home, try to run Hello_World_MPI.py from John Burke's sample MPI4PY (MPI for Python) code.

Also, here's our second reading assignment. BTW, I was an editor on this book. That's why I recommend it. It's all about setting up and programming a Linux Cluster aka Super Computer with COWS (Commodity Off-the-shelf Work Stations = ordinary PCs). What's unique about this book is that it uses Java for all its coding samples making it an easy read for anyone who has taken AP CompSci!

NEW DECOR (Display Case):
Featuring ChromeCast & Processing!


NEW DECOR (Room 429):
Featuring Tapestry from RedBubble!

So, what's all this good for aside from making Fractal Zoom or Shrek Movies?
SETI Search
Econometrics
Bioinformatics
Protein Folding
Beal Conjecture
Scientific Computing
Computational Physics
Mersenne Prime Search
Computational Chemistry
Computational Astronomy
Computer Aided Design (CAD)
Computer Algebra Systems (CAS)

These are but a few examples of using Computer Science to solve problems in Mathematics and the Sciences (STEAM). In fact, many of these applications fall under the heading of Cluster Programming or Super Computing. These problems typically take too long to process on a single PC, so we need a lot more horse power. Next time, maybe we'll just use Titan!

====================

Membership (alphabetic by first name):
CIS(theta) 2017-2018:
BrandonB(12), FabbyF(12), JoehanA(12), RusselK(12)

CIS(theta) 2016-2017: 
DanielD(12), JevanyI(12), JuliaL(12), MichaelS(12), YaminiN(12)

CIS(theta) 2015-2016: 
BenR(11), BrandonL(12), DavidZ(12), GabeT(12), HarrisonD(11), HunterS(12), JacksonC(11), SafirT(12), TimL(12)

CIS(theta) 2014-2015: 
BryceB(12), CheyenneC(12), CliffordD(12), DanielP(12), DavidZ(12), GabeT(11), KeyhanV(11), NoelS(12), SafirT(11)

CIS(theta) 2013-2014: 
BryanS(12), CheyenneC(11), DanielG(12), HarineeN(12), RichardH(12), RyanW(12), TatianaR(12), TylerK(12)

CIS(theta) 2012-2013: 
Kyle Seipp(12)

CIS(theta) 2011-2012: 
Graham Smith(12), George Abreu(12), Kenny Krug(12), LucasEager-Leavitt(12)

CIS(theta) 2010-2011: 
David Gonzalez(12), Herbert Kwok(12), Jay Wong(12), Josh Granoff(12), Ryan Hothan(12)

CIS(theta) 2009-2010: 
Arthur Dysart(12), Devin Bramble(12), Jeremy Agostino(12), Steve Beller(12)

CIS(theta) 2008-2009: 
Marc Aldorasi(12), Mitchel Wong(12)

CIS(theta) 2007-2008: 
Chris Rai(12), Frank Kotarski(12), Nathaniel Roman(12)

CIS(theta) 1988-2007: 
A. Jorge Garcia, Gabriel Garcia, James McLurkin, Joe Bernstein, ... too many to mention here!
====================

Well, that's all folks!
Happy Linux Clustering, 
AJG

Wednesday, November 1, 2017

What are you doing for Grace Hopper Day?

What are you doing for Grace Hopper Day?
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 and CSED Week sponsored by code.org promoting Computer Science education in grades K-12. 

This year code.org has lots 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/6/2017. 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/4/2017 as a trial run.

I could show the Disney Frozen tutorial on 12/7/16. 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, maybe I'll show this 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, put together a nice intro but he sure likes to talk! I may take a couple of days on this one!

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!

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'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! 


To honor Grace Hopper's 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 last year. Over 15,000,000 students at more than 30,000 locations (mostly schools) in nearly 200 countries were registered to participate 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): 


Course Selection Week DropBox

Hope that was helpful!


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

 

Applied Math, Physics & CompSci