CS teaching approaches

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

CS teaching approaches

Andy Judkis
Two feet of snow on the ground, a good time to respond . . .  I teach
high school kids, but I really think that most of what I teach should
have been covered in middle school.

I'd recommend:
1) Having the kids open up computers and taking a good long look at the
stuff inside.  Talk about what's in a chip, what a printed circuit board
looks like,what a bus is.  Take it out of the realm of magic, make sure
that kids know it's just a machine -- albeit a really really fast one.
2) Talk about the history.  Show them some really old computers.  Talk
about the Analytical Engine. Make sure they know what Moore's Law is.
3) Show them some things about operating systems (the task manager, a
DOS command window) and talk about viruses, worms, zombies, botnets,
cyberwar. . . stuff like that
4) Make sure they know how binary numbers work, and how sound and images
can be encoded.
5) Teach them about the internet -- packets, IP addresses, TCP and IP,
routers, DNS -- not in detail, just enough to demystify it a little.  
(In the very first class I taught, I vividly remember one student
sputtering in frustration, "But what IS the internet?")
6) Have them do some simple web pages by writing HTML tags with a text
editor.
7) Introduce them to programming.  I use Python (starting with RUR-PLE)
but for middle school, I'd do Scratch or Alice.
8) Have them research some cool/scary things that are happening with
robotics and AI, and have them give presentations to the class.

To me, the important thing is to get them to not think of a computer as
a magic black box, but instead to get under the hood and think about how
things work. (see
http://extremities.com/pct/index.php?nxt=intro&sub=guyundercar)  The
very first thing I have kids do is make up a list of things that they
wonder about -- I'm actually rather proud of that particular assignment:
http://extremities.com/pct/index.php?nxt=intro&sub=goodquestions

Best of luck -- I'm eager to hear what you come up with.

Andy Judkis
Academy of Allied Health and Science
Neptune, NJ



_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: CS teaching approaches

kirby urner-4
On Sun, Dec 20, 2009 at 10:07 AM, Andy Judkis <[hidden email]> wrote:
> Two feet of snow on the ground, a good time to respond . . .  I teach high
> school kids, but I really think that most of what I teach should have been
> covered in middle school.
>
> I'd recommend:
> 1) Having the kids open up computers and taking a good long look at the
> stuff inside.  Talk about what's in a chip, what a printed circuit board
> looks like,what a bus is.  Take it out of the realm of magic, make sure that
> kids know it's just a machine -- albeit a really really fast one.

This is good.

<business_model>

In Portland, we have this thing called the Build Program run by a
nonprofit called Free Geek.  The primary purpose of Free Geek is to
recover and recycle reusable hardware, to rescue it on the way to the
landfill.  People, companies or government agencies discarding
computers take them to this place.

What's good for middle and high school aged students is the Build
Progam depends on volunteers.  They get trained in taking old
computers apart, testing components for quality, wiping disk drives
completely, and reassembling these components into working machines,
many of which go to worthy charities, schools, coffee shops,
nonprofits, or to the Free Geek community store.

Best part:  not only do student volunteers get all this valuable hands
on experience for free, in the company of peers under adult tutelage,
but they get to take home a computer in exchange for building six,
i.e. build five for worthy charities and now think of that sixth one
as yours (though you may not get that actual computer).

freegeek.org

</business_model>

> 2) Talk about the history.  Show them some really old computers.  Talk about
> the Analytical Engine. Make sure they know what Moore's Law is.

Yes, and make sure you include Ada and Grace Hopper.  Computer science
is about women, and men.

If these are high school kids, I might point them to Cryptonomicon
(fiction Stephenson) and/or In Code (non-fiction Flannery).

I think the history of computers needs to come through Ada/Babbage,
then Turing and Bletchley Park.  You need to explain about Enigma and
all that, why there was suddenly such an impetus to make digital
computers real, not just talk about them.

Cryptography is an inherently fascinating topic anyway and lots of
teachers use it.  The story continues to the present day through PGP
and RSA.

> 3) Show them some things about operating systems (the task manager, a DOS
> command window) and talk about viruses, worms, zombies, botnets, cyberwar. .
> . stuff like that

Yes, offer practical advice about how to stay safe and play safe.
Encourage high ethics.

In my classes for Saturday Academy (high school), I've put a *lot* of
emphasis on the free and open source story, sometimes screening
portions of 'Revolution OS'.  Linus Torvalds is in Portland and my
contacts in Brussels say Europe is seeing us this way (as a capital of
open source).  OSCON is returning in 2010.

So I make sure to explain how copying and sharing is NOT always
"piracy" and that hackers are not "software pirates" by definition,
unless by "pirate" you mean someone who's resourceful and free
spirited.  Portland is really into pirates of that kind.

> 4) Make sure they know how binary numbers work, and how sound and images can
> be encoded.
> 5) Teach them about the internet -- packets, IP addresses, TCP and IP,
> routers, DNS -- not in detail, just enough to demystify it a little.  (In
> the very first class I taught, I vividly remember one student sputtering in
> frustration, "But what IS the internet?")

The movie 'Warriors of the Net', available on-line, is one of my very
favorites for classroom use.

I showed that at West Precinct (HIllsboro Police, nearby home of Intel
etc.) to high schoolers during a special class in open source culture.

The police cybercrime division was always getting invited to schools
to scare kids about piracy, but knew themselves about the culture of
free software (GNU, Stallman, Ubuntu, Fedora etc.) and didn't like
always playing the heavy.

It's a sad comment on schools of that day that the police felt so
pushed into doing what teachers should have been doing, but the
teachers were all scared of "hackers" and though Python sounded too
scary to ever touch, even with a 10 foot pole.

I don't know how much the attitude has shifted.

I think there's still way to much fear and paranoia around computers
in schools, in part because everyone gets their information from
fictional TV shows and movies and that leaves them victims of their
own imaginations.

Hard information about how things work (really work) is the best
antidote, so I applaud and encourage your focus here (and feel for
that student, who just wanted to what what the Internet is, really).

> 6) Have them do some simple web pages by writing HTML tags with a text
> editor.

Yes, excellent, and talk about CSS too.  I love that web site we all
know about probably, where you just reload the same HTML with skin
after skin (defined separately in the CSS).

Do you have a projector in the room.  I think showing short clips,
movies, projecting web sites, source code, operating stuff
interactively, having students come up to take turns, lighting talks,
makes all the difference.

Sometimes a projector, laptop and Internet connection is far more
practical and affordable, on a first pass, than having every desk
equipped with a computer (either desk top or lap top), a ratio of 1:1.
 Much as we like this latter configuration (it's what I get at
Saturday Academy), it's not always within range.

Also, projector + laptop + Internet is the combo you'd want for art
history, music, geography (Google Earth), just about any topic under
the sun, not just CS.  Don't forget speakers.  Laptop speakers won't
be sufficient.

Tomorrow's classrooms will be more like recording studios, judging
from some of the state of the art high schools in our area.  Portland
is very wealthy in some areas and pours money into education like
there's no tomorrow (which there wouldn't be, if we didn't pour money
into education).

> 7) Introduce them to programming.  I use Python (starting with RUR-PLE) but
> for middle school, I'd do Scratch or Alice.

Yes, I start with Python as well, in IDLE.  We don't necessarily need
any add-ons right away.

There's turtle.py for sketching those plane nets (recent example).
When I do go with add ons, it tends to be all about spatial geometry
(not flatlander stuff) as students come to Saturday Academy with high
expectations, want to see good eye candy, make some themselves.

VPython and POV-Ray have both proved very valuable for this.

I've managed to have the math modules relatively innocent of the
visualization back end (MVC design) so that you can treat VPython and
POV-Ray somewhat as alternative back ends (like using MySQL or
Postgres).

A third very interesting output format is VRML aka x3D.

Python can write everything, just render with a free browser plug-in,
show those polyhedra or whatever.

All the source code is free on the web, with lots of pretty pictures
and clues in the free slide shows.  Using string substitution is key
to making these back end programs readable and understandable.

Playing with Madlibs is a great intro to this feature.  I've noticed
this strategy has caught on with some other CS teachers.

In my EuroPython slides (Vilnius) I make the link from Madlibs to Grossology.

> 8) Have them research some cool/scary things that are happening with
> robotics and AI, and have them give presentations to the class.
>

Yes, Lightning Talks in front of the class, showing off whatever media
they've pulled together, be that slides, animations, collected images
and Youtubes....  It's important to discuss academic ethics as well
i.e. giving credit where credit is due.  When work is not original,
it's no crime to share it, but be prepared to tell us where it came
from.  Document your work, your sources.  Be generous with your
citations to others.

> To me, the important thing is to get them to not think of a computer as a
> magic black box, but instead to get under the hood and think about how
> things work. (see
> http://extremities.com/pct/index.php?nxt=intro&sub=guyundercar)  The very
> first thing I have kids do is make up a list of things that they wonder
> about -- I'm actually rather proud of that particular assignment:
> http://extremities.com/pct/index.php?nxt=intro&sub=goodquestions
>

This is a really good exercise and I congratulate you for couching it
in those terms.  As a teacher, it's extremely helpful to get stuff
ahead of time about what students themselves are wondering about or
hoping to get more help with.

The How Things Work component is what's really important a lot of the
time, and it's not just the personal computer on your desk that's
important to comprehend.  We need to explain about larger systems,
institutions, in which computers play a role.  This includes
explaining about social networking software, not making kids simply
guess or imagine what's going on behind the scenes.

Like if Facebook hasn't come up with a Guide for Teachers yet,
containing quite a bit of technical information, as well as lore, then
I'd say this is overdue.  Ditto for Twitter, Myspace and so forth.
Sharing internals shouldn't always be treated like some national
security deep secret.

Short projectables on Youtube might do the trick -- the teacher's job
then, is simply to find them and interleave them into classroom
discussion.

What I call Supermarket Math is a template for the How Things Work
component in that we go into the operations of a supermarket, talking
about inventory, shipping, ordering, point of sale, accounting.  At
the center of all this is ye old Relational Database.

We have SQLlite, we have at least once computer in the room, lets get
into SQL some, dredge up those Venn Diagrams from math class and
explain their relevance here.  I'm not talking about a full-blown
course for DBAs, just talking about How Things Work.

Then talk a little about MVC and web frameworks.  Seriously.

High school kids will grok it (understand it) and start appreciating
how school is actually beginning to mirror their everyday reality for
a change.

Here's my overview page on said Supermarket Math:

http://www.wikieducator.org/Supermarket_Math

Note that I've got my MVC (model view controller) stuff under Martian
Math because that's where we do the polyhedra.  I actually have an
SQLlite database pre-stuffed with coordinates, for retrieving and
spitting out these polyhedra (either for OpenGL rendering ala VPython,
or for ray-tracing ala POV-Ray, or for a VRML browser --
LiveGraphics3D another good format, used by Mathematica web sites).

> Best of luck -- I'm eager to hear what you come up with.
>
> Andy Judkis
> Academy of Allied Health and Science
> Neptune, NJ
>

Thank you for sharing.  I think we have much the same priorities.

Kirby

>
>
> _______________________________________________
> Edu-sig mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/edu-sig
>



--
>>> from mars import math
http://www.wikieducator.org/Digital_Math
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: CS teaching approaches

Andy Judkis
>
>> 2) Talk about the history.  Show them some really old computers.  Talk about
>> the Analytical Engine. Make sure they know what Moore's Law is.
>>    
>
> Yes, and make sure you include Ada and Grace Hopper.  Computer science
> is about women, and men.
>  
I definitely stress Ada's contributions -- I talk about her when we go
over the analytical engine, and then come back to her when we do
programming.  Hopper, not so much -- obviously she was a very important
contributor but I think a lot of girls would find her off-putting -- she
kind of confirms some of the stereotypes that we're trying to get past.
I'm not confident about this, it's just my gut feel, and I'd love to
hear some other opinions.

I have a unit where I give each kid some computer-oriented person to
learn about and report on to the class, and I try hard to find hip
and/or unique personalities, or fascinating life stories. I've got about
20 that seem to fit the bill pretty well (Lynn Conway is probably the
ultimate in fascinating biographies -- but I also give them John Perry
Barlow, Jared Lanier, Alan Kay, Jack Tramiel, Nolan Bushnell, John Von
Neumann. . . ), but would love suggestions for others, especially more
women.
> I think the history of computers needs to come through AdaBabbage,
> then Turing and Bletchley Park.  You need to explain about Enigma and
> all that, why there was suddenly such an impetus to make digital
> computers real, not just talk about them.
The best friendly treatment of all this that I've found is The Cartoon
Guide to the Computer by Larry Gonick.  Boy, would I like to see that
updated and re-released.

>> 3) Show them some things about operating systems (the task manager, a DOS
>> command window) and talk about viruses, worms, zombies, botnets, cyberwar. .
>> . stuff like that
>>    
>
> Yes, offer practical advice about how to stay safe and play safe.
> Encourage high ethics.
>  
Not just that, but it helps them understand stuff that's in the news.  
They start to notice more of what's going on.

>> 6) Have them do some simple web pages by writing HTML tags with a text
>> editor.
>>    
> Yes, excellent, and talk about CSS too.  I love that web site we all
> know about probably, where you just reload the same HTML with skin
> after skin (defined separately in the CSS).
>  
I guess you mean www.csszengarden.com?  I show that after introducing
style sheets, and it blows their minds.
> The How Things Work component is what's really important a lot of the
> time, and it's not just the personal computer on your desk that's
> important to comprehend.  We need to explain about larger systems,
> institutions, in which computers play a role.  This includes
> explaining about social networking software, not making kids simply
> guess or imagine what's going on behind the scenes.
>  
Agreed.  I think that familiarity with this stuff at some basic level is
important for all citizens, not just future tech geeks.

Which kind of brings it back to Roberto's original post -- what should
you teach in a middle school CS class?  I wouldn't focus on formal
programming at all -- at that age, I suspect that very few kids will
find it compelling.  I'd point to
http://csta.acm.org/Curriculum/sub/ACMK12CSModel.html and also
http://csunplugged.org/ for more ideas.

Thanks,
Andy
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: CS teaching approaches

kirby urner-4
On Sun, Dec 20, 2009 at 3:45 PM, Andy Judkis <[hidden email]> wrote:

2) Talk about the history.  Show them some really old computers.  Talk about
the Analytical Engine. Make sure they know what Moore's Law is.
   

Yes, and make sure you include Ada and Grace Hopper.  Computer science
is about women, and men.
 
I definitely stress Ada's contributions -- I talk about her when we go over the analytical engine, and then come back to her when we do programming.  Hopper, not so much -- obviously she was a very important contributor but I think a lot of girls would find her off-putting -- she kind of confirms some of the stereotypes that we're trying to get past. I'm not confident about this, it's just my gut feel, and I'd love to hear some other opinions.


Sure, different teachers, different lore, different stories.

What I encourage though, is telling stories.  Sounds like you do as well.

A diet of just technical information is too devoid of context and is what the neighboring math tracks most suffer from i.e. there's often almost no historical dimension, little sense of a time line.

When I gave a workshop at Pycon this year, with Steve Holden, I had this slide showing the two axes:  technical, and lore.  You have this curve, representing whatever finite bandwidth, and a kind of trade off. 

As teachers (and as communicators more generally) we slide around on this curve.  Sometimes just being straight ahead technical is not the best approach.

Regarding Ada, I once wrote a spirited defense of her keeping the title of "first computer programmer".  A cover story in the New Yorker magazine, with a spoofy caricature of her, proposed to take that away.

Regarding Hopper, I saw a video clip of her once, explaning a nanosecond as how long it took light to travel the length of her forearm. 

She had a very reassuring and commanding presence I thought, probably goes with being a Rear Admiral or some such. 

From what I've learned so far, I have nothing but admiration for her contributions and acheivements, but don't consider myself an expert.  I'd like to learn more. 

More lore!

 
I have a unit where I give each kid some computer-oriented person to learn about and report on to the class, and I try hard to find hip and/or unique personalities, or fascinating life stories. I've got about 20 that seem to fit the bill pretty well (Lynn Conway is probably the ultimate in fascinating biographies -- but I also give them John Perry Barlow, Jared Lanier, Alan Kay, Jack Tramiel, Nolan Bushnell, John Von Neumann. . . ), but would love suggestions for others, especially more women.

You know a lot of cool stuff, probably explains why you get to teach these cool classes.

Twas my privilege to meet and hang out with Alan Kay over the course of a 2-3 day marathon meeting.  People from many walks of life were huddled to think of a good way forward for South African educators -- we had some government representatives and full time teachers from that country among us as well (this was a meeting in London).

Alan is an impressive character, not someone I'd easily forget.  The late Arthur Siegel and I used to trade views about him in this archive (Arthur being someone else who makes a lasting impression).  Alan seemed clearly admiring of Python, also of Javascript. 

Alan had something of an 'Idiocracy' perspective (know the movie I mean?) in that he saw too much backsliding and devolution.  This made him uncomfortable.  I can't say I'm not empathetic, but then maybe I'm one of the devolved. 

I got to speak at London Knowledge Lab on my way to this meeting:
http://bfi.org/bfi_community/pythonic_mathematics_talk_by_kirby_urner

Of course Alan connects to his Dynabook idea and more recently to One Laptop Per Child (the XO is like a Dynabook on some ways).  Python and OLPC continue to have this close connection thanks to Sugar.  I'm sure you know all this, just wanting to graph the scene. 

Say, I'm amazed how OLPC didn't spread across the USA's back-of-the-cereal-box culture, or maybe it did and I missed it?  Did anyone here ever see an XO on the back of a Cheerios box? 

Industry talks to children through TV and cereal boxes (among other ways).  Some cereal company needs to develop a geekier brand of breakfast cereal and sponsor a matching TV show.  Marketing avatars could use this opportunity to show off how they're able to keep technical content girl-friendly, not make it all Johnny Neutron and boy-centric. 

Hey, cereal companies!  Want some help?

 
I think the history of computers needs to come through AdaBabbage,

then Turing and Bletchley Park.  You need to explain about Enigma and
all that, why there was suddenly such an impetus to make digital
computers real, not just talk about them.
The best friendly treatment of all this that I've found is The Cartoon Guide to the Computer by Larry Gonick.  Boy, would I like to see that updated and re-released.


Encouraging students to draw their own cartoon guides would be another option, with examples to draw from.

The lore we choose might be themed to motivate specific technical studies.

For example, I tell the story of Hollerith machines, tabulators, keeping tabs, as a build-up to SQL in what I call Supermarket Math (you need SQL to run a contemporary supermarket). 

However, this topic of collecting data about people, anonymous or not, gets us into that realm of worrying about what information is collected, fears and trepedations (which we don't dismiss or pooh pooh).  When explaining "how things work", one needs to be prepared to delve into these issues of privacy, monitoring, Big Brother.

True story from the Python.org diversity list, which is all peace and quiet these days:  we were talking about those check boxes Americans use to enquire about ethnicity and/or race.  Should these be added to Pycon registration web forms, as a way to help measure diversity? 

At least one of our European subscribers was very clear that such boxes would come across as offensive, even illegal in a European context.  Asking about ethnicity, keeping tabs in that way, was a precursor to the holocaust, and that's never far below the surface in these kinds of discussions.

Yes, I'm getting into mature topics (sobering) and maybe we're not talking about middle school any more.  My talk was actually more about "andragogy" than "pedagogy" i.e. teaching adults.  As adults, we should consider the lore we teach to ourselves and one another.

Another story I tell is about the rise of Unicode based on the model of ASCII.  The 7-bit map with a parity check, the extra 128 slots once you use all 8 bits.  IBM code pages.  And then Unicode. 

Lots of stuff to show and tell about including showing examples of non-Latin-1 Python source code. The story both gives perspective, and it motivates a technical discussion about powers of two, about how each additional bit doubles the number of code points.

This is a happy story about people around the world agreeing to support all these human languages and bringing them forward in a digital age.  After the workshop though, some attenders were keen to give me a more nuanced version.  Each one of these stories goes to many levels and the classroom versions will necessarily be abbreviated.

A final example of a good story is what we already talked about:  following the cryptography thread through that interesting chapter when public key first came out.  Zimmermann's PGP, government efforts to squelch its export etc. 

http://www.philzimmermann.com/EN/background/index.html

Students enjoy visiting that page showing giant RSA composites still needing to be cracked, with big money prizes for those that crack them (this contest has been discontinued I notice). 

Examples of already cracked numbers provide more grist for the mill.

http://www.rsa.com/rsalabs/node.asp?id=2092 (RSA numbers)
http://www.rsa.com/press_release.aspx?id=462 (cracking DES)

WIth this story as background, it's easier to motivate technical sessions working the giant (long) integers.

What story might motivate using the Decimal type to a large number of significant digits? 

I can think of one or two, but I'm curious what you or others might offer.
 

3) Show them some things about operating systems (the task manager, a DOS
command window) and talk about viruses, worms, zombies, botnets, cyberwar. .
. stuff like that
   

Yes, offer practical advice about how to stay safe and play safe.
Encourage high ethics.
 
Not just that, but it helps them understand stuff that's in the news.  They start to notice more of what's going on.


Exactly right!

Where's the TV show that does this on Saturday Morning?

 

6) Have them do some simple web pages by writing HTML tags with a text
editor.
   
Yes, excellent, and talk about CSS too.  I love that web site we all
know about probably, where you just reload the same HTML with skin
after skin (defined separately in the CSS).
 
I guess you mean www.csszengarden.com?  I show that after introducing style sheets, and it blows their minds.


Thank you!  That's the one!
 
The How Things Work component is what's really important a lot of the
time, and it's not just the personal computer on your desk that's
important to comprehend.  We need to explain about larger systems,
institutions, in which computers play a role.  This includes
explaining about social networking software, not making kids simply
guess or imagine what's going on behind the scenes.
 
Agreed.  I think that familiarity with this stuff at some basic level is important for all citizens, not just future tech geeks.


More Geek TV!
 
Which kind of brings it back to Roberto's original post -- what should you teach in a middle school CS class?  I wouldn't focus on formal programming at all -- at that age, I suspect that very few kids will find it compelling.  I'd point to http://csta.acm.org/Curriculum/sub/ACMK12CSModel.html and also http://csunplugged.org/ for more ideas.

Thanks,
Andy

Right.  Not so much formal programming.  More creative play, dabbling, using Python as a calculator, interactively in the shell (as way smarter calculator in so many ways, especially when you add 3D plotting, turtle graphics, the ability to read and write files...).

Having students scan already tested source code (scaffolding) with a kindly tour guide teacher, is a very different exercise from sitting in front of a blank canvas and feeling under pressure to produce.

It's the difference between recognition (recog) and recollection (recall).  The former is much easier and will usually precede writing code by oneself. 

Likewise an infant spends a lot of time absorbing language in an immersive environment, listening to fluent speakers, before having to say a whole lot on her own.

CS Unplugged got favorable mention at our planning meeting on Aug 7 (which I'm sure I posted about, perhaps to excess on this list).

Here in Oregon, there're moves afoot to get some computery stuff to count towards fulfilling the minimum three year math requirement, meaning the course would not have that "elective" flavor.  You'd take it to satisfy a 3rd year requirement for a hight school diploma, and heres a "digital math" class that will do that for ya. 

Some schools are already doing pilots along these lines (we met at one that was doing it).  There doesn't seem to be much push back.  Seems more like a done deal (that's must my personal perspective -- don't know what I don't know).

Computer science teachers like the idea because now some of them get to teach a required course. 

Math teachers like it because now they get to use cooler more motivating tools without losing "required track" status.

The students like it because working with computers is more fun than not. 

The parents like it because the skills look very career relevant. 

Industry likes it because the skills are indeed career relevant.

There's lots of agreement Python will play a starring role in all this (the Litvins text got waved around as exemplary -- not by me as my only copy was PDF), though at the level of standards, I don't know that a specific language actually needs to be specified.**

We're *not* talking about an AP (Advanced Placement) course here, where the course designers have a national test in mind, and so have to be specific as to language (traditionally Java these days, used to be C++ I'm pretty sure).

Anyway, a lot of us on edu-sig, such as Gregor in Vienna, are blissfully exempt from needing to care about AP, ETS and all that.

Kirby

--
>>> from mars import math
http://www.wikieducator.org/Digital_Math

** http://mathforum.org/kb/message.jspa?messageID=6933198&tstart=0  (re standards and how "meaty" we might want them to be -- a somewhat contentious list, a front lines for "math wars" on some days).


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: CS teaching approaches

roberto-3
In reply to this post by Andy Judkis
sorry for this very late reply to your posts,
unfortunately, gmail didn't append your replies to my original mail

On Mon, Dec 21, 2009 at 12:45 AM, Andy Judkis <[hidden email]> wrote:
>>
>> The How Things Work component is what's really important a lot of the
>> time, and it's not just the personal computer on your desk that's
>> important to comprehend.  We need to explain about larger systems,
>> institutions, in which computers play a role.  This includes
>> explaining about social networking software, not making kids simply
>> guess or imagine what's going on behind the scenes.
(+1)
i think the approach H.T.W. is really good for all the reasons you've
highlighted and beyond:
are you aware of serious web resources with this way of learning in
mind ? of course, especially tailored to math and/or CS

>>
>
> Agreed.  I think that familiarity with this stuff at some basic level is
> important for all citizens, not just future tech geeks.
>
> Which kind of brings it back to Roberto's original post -- what should you
> teach in a middle school CS class?  I wouldn't focus on formal programming
> at all -- at that age, I suspect that very few kids will find it compelling.
>  I'd point to http://csta.acm.org/Curriculum/sub/ACMK12CSModel.html and also
> http://csunplugged.org/ for more ideas.
>
> Thanks,
> Andy
thank you very much again;

i'd like to add here that my very first goal starting the thread was
to know which approaches are currently in use to teach/learn CS, i.e.
*how* to learn it more than *what* to learn, in the CS domain;

with regard to this side of the topic, the first reply was perfectly
on track, since i think the route

Flowcharts
pseudocode
then actual programming:

is one of the most diffused way of introducing CS, at least in high schools

for sake of correctness, i must also say that it happens frequently
that the *what* drives the *how-to*;

thank you in advance if anyone has other ideas to share

ps: i hope gmail will not mix the replies again :)
--
roberto
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig