<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>cseducation on C'est la Z</title><link>https://cestlaz.github.io/cestlaz-old-hugo.github.io/categories/cseducation/</link><description>C'est la Z (cseducation)</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Thu, 16 May 2019 07:12:44 -0400</lastBuildDate><atom:link href="https://cestlaz.github.io/cestlaz-old-hugo.github.io/categories/cseducation/rss.xml" rel="self" type="application/rss"/><item><title>Blog For Self Professional Devleopment</title><link>https://cestlaz.github.io/cestlaz-old-hugo.github.io/post/blog-for-pd/</link><pubDate>Thu, 16 May 2019 07:12:44 -0400</pubDate><guid>https://cestlaz.github.io/cestlaz-old-hugo.github.io/post/blog-for-pd/</guid><description>&lt;p>
Lat day of the 2019 &lt;a href="https://www.ncwit.org/summit/2019-ncwit-summit-women-and-it">NCWIT Summmit&lt;/a>. Got up crazy early, got back from
my run and saw this when I checked Twitter:&lt;/p>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">A1: CSTA,
Twitter chats like this one, &lt;a
href="https://twitter.com/guzdial?ref_src=twsrc%5Etfw">@guzdial&lt;/a>
and &lt;a
href="https://twitter.com/alfredtwo?ref_src=twsrc%5Etfw">@alfredtwo&lt;/a>&amp;#39;s
blogs among others. In all cases because those places start from
assuming I&amp;#39;m a CS teacher, rather than starting from assuming
I&amp;#39;m a teacher who is better at teaching something else. &lt;a
href="https://twitter.com/hashtag/csk8?src=hash&amp;amp;ref_src=twsrc%5Etfw">#csk8&lt;/a>
&lt;a
href="https://t.co/6DO77fzq0j">https://t.co/6DO77fzq0j&lt;/a>&lt;/p>&amp;mdash;
Sarah Judd (@SarahEJudd) &lt;a
href="https://twitter.com/SarahEJudd/status/1128829652145979392?ref_src=twsrc%5Etfw">May
16, 2019&lt;/a>&lt;/blockquote> &lt;script async
src="https://platform.twitter.com/widgets.js"
charset="utf-8">&lt;/script>
&lt;p>
I don&amp;#39;t usually participate in Twitter chats. The format doesn&amp;#39;t
really work for me. I do frequently lurk though and while I didn&amp;#39;t see
this tweet until the morning after, another &lt;a href="https://twitter.com/Todd_Lash/status/1128816582048673793">one&lt;/a> by my &lt;a href="https://twitter.com/Todd_Lash">Todd Lash&lt;/a> caught
my eye and I&amp;#39;ll probably comment on that at some point in the near
future.&lt;/p>
&lt;p>
On Sarah&amp;#39;s tweet I&amp;#39;ll say that CS teachers should certainly frequent
Alfred and Mark&amp;#39;s blogs. I subscribe to and enjoy both. I&amp;#39;ll add
something that I&amp;#39;ve said before and that is if you&amp;#39;re a CS teacher you
should also blog.&lt;/p>
&lt;p>
I get it - it takes time, it&amp;#39;s hard to put yourself out there and if you&amp;#39;re a
relatively young teacher you might feel like you don&amp;#39;t have much to
say but I say so what.&lt;/p>
&lt;p>
I&amp;#39;ve been blogging on and off for nine years now. I have no reason to
believe I have anything more than a small readership but I do
periodically get surprised at a conference with a &amp;#34;hey, I love your
blog.&amp;#34; Comments are few and far between and from &amp;#34;the usual
suspects&amp;#34; but as I sad above, so what.&lt;/p>
&lt;p>
Pick a lesson you just did and describe it. That&amp;#39;s all it takes. Try
something different a week later? Write it up. Rinse and repeat.&lt;/p>
&lt;p>
Why have I found writing a blog to be good self-PD?&lt;/p>
&lt;ul>
&lt;li>Writing the experience or the lesson makes me think through it
again. What worked, what didn&amp;#39;t.&lt;/li>
&lt;li>When I do a similar lesson in the future, I can look back on what I
did. It helps in iterating towards becoming a better teacher.&lt;/li>
&lt;li>I get to see how I&amp;#39;ve evolved as a teacher over time. You don&amp;#39;t get
this immediately but blog for a few years and then reread some early
posts. &lt;/li>
&lt;li>You could get some comments. I don&amp;#39;t get a lot but the ones people
have left have proven useful to me. Some of the ones from people who
disagree have been the most useful.&lt;/li>
&lt;/ul>
&lt;p>On top of this, some other new teacher might discover something you
wrote up and find inspiration from it. &lt;/p>
&lt;p>
So, jump in and try it. Blogging for self-PD. &lt;/p></description></item><item><title>Implicit Curricula</title><link>https://cestlaz.github.io/cestlaz-old-hugo.github.io/post/implicit-curricula/</link><pubDate>Sun, 07 Apr 2019 16:23:43 -0400</pubDate><guid>https://cestlaz.github.io/cestlaz-old-hugo.github.io/post/implicit-curricula/</guid><description>&lt;p>
The state got back to us the other week on our CSEd programs. Still no
approval. &lt;/p>
&lt;p>
One of the requirements is that we have 12 graduate CS
credits in our program and that in those courses these five major
areas:&lt;/p>
&lt;ul>
&lt;li>Algorithms and programming&lt;/li>
&lt;li>Computing systems&lt;/li>
&lt;li>Data and analysis&lt;/li>
&lt;li>Impacts of computing&lt;/li>
&lt;li>Networks and the internet&lt;/li>
&lt;/ul>
&lt;p>as described in the &lt;a href="https://k12cs.org/">K12 CS Framework&lt;/a>. Even though many of the items
described in the framework fit better in an education side course NY
is requiring that it&amp;#39;s all covered in CS courses offered by a CS
department. The state has more information &lt;a href="http://www.nysed.gov/college-university-evaluation/computer-science-certificate-coursework-guidance">here&lt;/a>.&lt;/p>
&lt;p>
To be honest, I&amp;#39;m not a fan of the K12 Framework and others have also
voiced their concerns about it. Ultimately I think many states will
use it as a certification guide and it will open the door to
substandard preservice programs that will certify teachers lacking in
CS content knowledge.&lt;/p>
&lt;p>
Still, the programs we designed at Hunter more than covered all the
required bases. &lt;/p>
&lt;p>
So, why did the state come back asking for clarification? Because not
everything was explicit in our sample syllabi. As we all know, Syllabi
are usually rather terse documents with just a couple of lines per
topic, maybe also an assignment and some readings. If they contained
all the richness of all the lessons they&amp;#39;d be volumes rather than the
usual page or two. So, to provide the requested clarifications I&amp;#39;ve been spending
the weekend breaking them out to show more detail.&lt;/p>
&lt;p>
This got me thinking about the concept of implicit items in
curricula. Much of the richness of a lesson comes not from the
description of the topic in the syllabus but also from related and
ancillary items that aren&amp;#39;t specifically listed - implicit items. One
example I wrote about before is &lt;a href="https://cestlaz.github.io/posts/2010-01-10-towers-of-hanoi.html/">the Towers of Hanoi&lt;/a>. When I teach it,
on the one hand, it&amp;#39;s a lesson about a recursive solution to a problem
but on the other hand there&amp;#39;s all sorts of other richness to the
lesson. We talk about&lt;/p>
&lt;ul>
&lt;li>Proof&lt;/li>
&lt;li>Run time&lt;/li>
&lt;li>Hard problems&lt;/li>
&lt;li>Moores law and the limits f computing power&lt;/li>
&lt;li>Alternate approaches to problems&lt;/li>
&lt;/ul>
&lt;p>None of which is in a typical Towers of Hanoi lesson plan nor in most
text books yet to me they&amp;#39;re the most important, interesting parts of
the lesson. &lt;/p>
&lt;p>
Another example is when I talk about changing the data structure
rather than the code when I teach &lt;a href="https://cestlaz.github.io/posts/2014-02-26-change-the-data/">search&lt;/a>. &lt;/p>
&lt;p>
In our Ed proposals one such place was when we move from using an
online IDE to a local development environment and discuss all sorts of ramifications
another is when we create a web application in our topics class and
things like authentication and security are discussed.&lt;/p>
&lt;p>
I spent most of this weekend going through our proposals and making
sure it was clear everywhere we covered something relating to those &amp;#34;5
areas&amp;#34; of computer science.&lt;/p>
&lt;p>
The unfortunate thing is that of curricular material and knowledge
isn&amp;#39;t easy to collect and share with others.&lt;/p>
&lt;p>
I and others have written about lesson ideas on our blogs but there&amp;#39;s
no searchable, shareable, discoverable place for either basic lesson
material or these rich implicit items. I wrote about &lt;a href="https://www.engage-csedu.org/">EngageCS&lt;/a> and
&lt;a href="http://nifty.stanford.edu/">Nifty Assignments&lt;/a> &lt;a href="https://cestlaz.github.io/post/adapting-a-nifty-assignment/">before&lt;/a> but they&amp;#39;re really core lesson ideas and
aren&amp;#39;t really easy to find grab and use.&lt;/p>
&lt;p>
I guess the closest project moving in this direction is probably
&lt;a href="https://cssplice-cm.github.io/">CSSplice Curriculum Materials Working Group&lt;/a> that I found out about
from &lt;a href="https://twitter.com/AustinCorgiBart">Cory Bart&lt;/a> at this past SIGCSE.&lt;/p>
&lt;p>
Check out the project link and if you&amp;#39;ve got a great lesson with lots
of implicit learnings going on, please share it in the comments.&lt;/p></description></item><item><title>Use A Real Language</title><link>https://cestlaz.github.io/cestlaz-old-hugo.github.io/post/use-a-real-language/</link><pubDate>Sat, 09 Feb 2019 15:08:18 -0400</pubDate><guid>https://cestlaz.github.io/cestlaz-old-hugo.github.io/post/use-a-real-language/</guid><description>&lt;blockquote>
&lt;p>Why can&amp;#39;t we use a real language!&lt;/p>
&lt;/blockquote>
&lt;p>
This topic has been coming up a lot recently. Now I&amp;#39;m not talking
about the Drag and drop vs textual language thing. Let me be clear. To
me a Drag and Drop language can certainly be a real language and many
are. I also think they&amp;#39;re terrific when used correctly. I just think
they&amp;#39;re frequently misapplied in later grades. &lt;/p>
&lt;p>
No, I&amp;#39;m talking about people asking things like &amp;#34;Why do we have to use
Java in our class, why can&amp;#39;t we use a real language like &lt;span style="text-decoration: underline;">&lt;span style="text-decoration: underline;">__&lt;/span>&lt;/span>.&amp;#34; Or
at Hunter, I might get &amp;#34;Why do we have to use C++, why can&amp;#39;t we use
Java.&amp;#34; Back at Stuy I&amp;#39;d get the same question about Scheme and
Netlogo. It actually doesn&amp;#39;t really matter what language you
use. Someone else, usually a non-teacher always knows better.&lt;/p>
&lt;p>
All of this reminded me of when I was young. &lt;/p>
&lt;p>
I started with BASIC and then in high school programmed Fortran IV
using punch cards on an &lt;a href="https://en.wikipedia.org/wiki/IBM_1130">IBM 1130&lt;/a>. At the time BASIC was considered a
toy language and Fortran IV not to mention punch cards were
yesterday&amp;#39;s technology. I also took APCS the first year it was offered
and that&amp;#39;s where I learned Pascal.&lt;/p>
&lt;p>
I then went to NYU - The Courant Institute of Mathematical Sciences. There
we also used Pascal as the core language. That was the language used
in CS1, Data Structures, and Algorithms. It was also the default
language for other classes. That is, unless the class lent itself to
a specific language such as Lisp for AI you&amp;#39;d probably use
Pascal. I learned C early on in my college career and also took
classes that used Ada, and 8088 Assembly. I mostly tried to stick with&lt;/p>
&lt;ol>
&lt;li>It was the hot language at the time and all the cool kids were&lt;/li>
&lt;/ol>
&lt;p>using it. Some kids continued to use Pascal but it was universally
derided. It wasn&amp;#39;t a &amp;#34;real language.&amp;#34; Nobody used it for anything
serious.&lt;/p>
&lt;p>
Senior year it was time to look for a job. I ended up going to
Goldman Sachs and developed for PCs running Windows 2.1 in C. They
also hired a bunch of college grads to program the Stratus systems in
PL1 and Cobol programmers for the mainframes. This was
around 1989. Goldman and most other big companies started you in a
training program. I already knew C but they ran a crash course for my
group. They did the same for the Cobol kids although most of them had
learned it in their business schools. The PL1 kids were grouped in
with the C and Cobol groups and had to figure out PL1 on their own
once they were assigned teams.&lt;/p>
&lt;p>
My story tough, isn&amp;#39;t about Goldman. It&amp;#39;s about another big bank I
interviewed with. I won&amp;#39;t name them but it&amp;#39;s a big firm that still
exists today. I think they had at least a whole big building down on
the street back when I interviewed but I don&amp;#39;t remember. The interview
process was tough and thorough. We talked about the firm, what they
did, the platforms they developed and of course they drilled me on
what I brought to the table. The funny thing was that their entire
PC platform was built in, yep, you guessed it, Turbo Pascal. &lt;/p>
&lt;p>
Here was a really respected financial firm doing really interesting
tech and they were using that fake toy language that no kid would ever
use for real.&lt;/p>
&lt;p>
So there you have it. All this &amp;#34;it&amp;#39;s not a real language&amp;#34; stuff is
largely nonsense. If it can solve your problem it&amp;#39;s real. If it can
teach your concept it&amp;#39;s real. The rest is nonsense.&lt;/p>
&lt;p>
As a side note, my first programming gig was in the mid 1980s for a
ticket printing company - Arcus Simplex Brown. I worked on a computer
ticket printing system for them. It was in BASIC and ran on a little
PC running CP/M with a big line printer. Best I could figure they were
still using the same system in 2012.&lt;/p>
&lt;p>
&lt;figure>&lt;img src="https://cestlaz.github.io/cestlaz-old-hugo.github.io/img/ticket.jpg" width="250" height="250px"/>
&lt;/figure>
&lt;/p>
&lt;p>
So, don&amp;#39;t get caught up with someone else&amp;#39;s opinion of what&amp;#39;s a real
language just make sure your students are getting what they need.&lt;/p></description></item><item><title>CS For All The Time</title><link>https://cestlaz.github.io/cestlaz-old-hugo.github.io/post/cs4allthetime/</link><pubDate>Fri, 07 Dec 2018 08:20:42 -0400</pubDate><guid>https://cestlaz.github.io/cestlaz-old-hugo.github.io/post/cs4allthetime/</guid><description>&lt;p>
A question that frequently comes up with respect to CS for All is what
does it mean? &lt;/p>
&lt;p>
To me it means giving all students some fundamental exposure to
computer science so that they can:&lt;/p>
&lt;ol>
&lt;li>Make use of those thinking skills, problem solving approaches, and
practical tools regardless of their future paths. &lt;/li>
&lt;li>Provide a path for the subset of &amp;#34;all&amp;#34; that desire to further pursue
computer science.&lt;/li>
&lt;/ol>
&lt;p>But even with this, how do you do it?&lt;/p>
&lt;p>
Does it mean that you require computer science? If so, do we require it every
year? some years? One time only?&lt;/p>
&lt;p>
Does it mean you offer it as an elective? If so, when?&lt;/p>
&lt;p>
I think about this a fair amount but decided to write something up
when I saw this tweet:&lt;/p>
&lt;blockquote class="twitter-tweet" data-lang="en">&lt;p lang="en" dir="ltr">STEM related career interests are largely developed before high school (Sadler, Sonnert, Hazari, &amp;amp; Tai, 2012) &lt;a href="https://twitter.com/hashtag/csforall?src=hash&amp;amp;ref_src=twsrc%5Etfw">#csforall&lt;/a> &lt;a href="https://twitter.com/hashtag/csedweek?src=hash&amp;amp;ref_src=twsrc%5Etfw">#csedweek&lt;/a> &lt;a href="https://t.co/TiAUvpP3bQ">https://t.co/TiAUvpP3bQ&lt;/a>&lt;/p>&amp;mdash; Lana Peterson (@tyLanasaurusrex) &lt;a href="https://twitter.com/tyLanasaurusrex/status/1070475730562084864?ref_src=twsrc%5Etfw">December 6, 2018&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>
I responded that I&amp;#39;ve seen many kids get their first exposure in high
school and from that go on to careers in tech so it&amp;#39;s clear to me that
high school isn&amp;#39;t too late. I was reminded that I was talking about
kids who went through my required HS CS class so the kids had no
choice but to be exposed to CS but the people advocating starting at
an elementary level are talking about a compulsory experience so to
compare a required elementary experience against an elective high
school one is really apples to oranges.&lt;/p>
&lt;p>
Even thought it&amp;#39;s an unfair comparison there are a lot of things it
can lead one to consider.&lt;/p>
&lt;p>
Should we teach CS in every grade? Probably not. How about every band?
Maybe. For those of you not living in the K12 world &amp;#34;by band&amp;#34; usually
refers to a set of grades - kindergarten to 2, 3 through 5, 6-8, and
then high school. Where should it be required and where an elective?&lt;/p>
&lt;p>
Teaching a required CS class in every grade or band is going to be a
huge undertaking. I&amp;#39;m also not sure it&amp;#39;s required. To get the best
bang for your buck you want to expose the kids to CS in a way and at a
time when they might pursue it further. If you&amp;#39;re having only one
required experience, I don&amp;#39;t think the elementary grades are the
place.&lt;/p>
&lt;p>
There&amp;#39;s that point in time, I think around first through third grade
where dinosaurs are all the rage. Maybe more so in NYC where we have
access to the &lt;a href="https://www.amnh.org/">American Museum of Natural History&lt;/a> but still. Lots of
young kids want to be paleontologists but it doesn&amp;#39;t hold. Okay. maybe
I&amp;#39;m being a little silly here but I think the basic point is
accurate. Kids are exposed to many things in the early grades that
just fade away. &lt;/p>
&lt;p>
I&amp;#39;m not saying that we shouldn&amp;#39;t do CS or CS related things in grade
school. Things like the activity &lt;a href="https://twitter.com/fredwilson">Fred Wilson&lt;/a> described in his post on
this year&amp;#39;s &lt;a href="https://avc.com/2018/12/la-hora-del-codigo/">Hour of Code&lt;/a> or the problem solving and logic games good
teachers do if given the time and resources. Things that have
always been done by some teachers in some schools but are now being
relabled CS or Computational Thinking. These are great practices and
should be made available to all students as part of their elementary
education but I doubt that they&amp;#39;ll lead to many kids following CS as a
career path. I&amp;#39;m not an elementary school expert but to me, even
though I see great value in the early logic / problem solving stuff, I
don&amp;#39;t see hyping CS early as making a difference unless there&amp;#39;s some
follow up before the interest fades.&lt;/p>
&lt;p>
That brings us to the middle school bands. I&amp;#39;ve dabbled a little here
but it&amp;#39;s also not my wheelhouse. In my experience, kids in lower
middle school can dabble in DnD tools and start to develop some
coding skills and explore some of the CS concepts that they&amp;#39;ll see in
late HS or college and those in upper middle school can play with the
text based languages to do the same. What I also noticed is that what
can be accomplished in a month with those kids in middle school can be
done in a week or two when the kids are a year or two older and with
greater understanding and retention. &lt;/p>
&lt;p>
As a side note, before people get up in arms with &amp;#34;I teach middle
school kids APCS-A and they all master it&amp;#34; let me say that I&amp;#39;m
describing my experience across a range of middle school kids. There
will always be few outliers who can do more when younger. That said
I&amp;#39;m betting that most people who say that any middle school kid can
indeed master APCS-A hasn&amp;#39;t done so in an inner city poor public
school. Have you done it while teaching a class of 34? With a class
of low income students with all the disadvantages and challenges
inherent to that population? What&amp;#39;s more did you then have to teach
them a data structures course a year or two later to see if they
really mastered the original material.&lt;/p>
&lt;p>
This brings us to high school. As with my original tweet, in my
experience if you give kids a good first CS experience in high school
you can indeed give them everything needed for CS for All and it&amp;#39;s
close enough to college so that they might very well continue on the
CS career path.&lt;/p>
&lt;p>
So where does this leave us? We certainly should embed computational
thinking practices (whatever that actaully means) in the elementary
school, particularly if we can do it in a way that also supports other
academic areas and while it&amp;#39;s nice to have a CS middle school
experience and if we can afford to offer one that&amp;#39;s wonderful. On the
other hand, I don&amp;#39;t think it&amp;#39;s as important as elementary exposure and
high school exposure so if we have to cut a corner, that&amp;#39;s the
place. To me, and of course I&amp;#39;m biased, the critical time for a
requirement is high school. Sure, if it&amp;#39;s an elective kids won&amp;#39;t take
it but that&amp;#39;s true of a lot of subjects. I don&amp;#39;t know what the
research says but people do indeed change directions. How many of us
are doing what we thought we&amp;#39;d be doing in grade school or middle
school. Heck, even high school. I have a friend that did computer work
in his twenties and thirties, then went to law school and practiced
law for a bunch of years and then in his forties started a production
company in LA. &lt;/p>
&lt;p>
I&amp;#39;m a big believer in CS for All but to me it doesn&amp;#39;t mean it has to
be in every grade or every band. If I could only do it in one place it
would be required in the high school. If in two I&amp;#39;d add the elementary
school piece and then finally the middle school.&lt;/p>
&lt;p>
As a final point I&amp;#39;d like to add that school is a zero sum game. There
are only so many minutes in the day and as we add CS we remove
something else. I believe we can add CS or, more specifically CT to
the elemntary schools without cutting anything and I know there&amp;#39;s room
in high schools in NY. I&amp;#39;m not sure about middle schools. In any
event, I&amp;#39;d hate to see music and art programs - already decimated by
budget cuts and misguided policies like the small schools movement
take a further hit so as to get CS everywhere.&lt;/p>
&lt;p>
Just some food for thought.&lt;/p></description></item></channel></rss>