This week's book giveaway is in the Cloud forum.
We're giving away four copies of Terraform in Action and have Scott Winkler on-line!
See this thread for details.
Win a copy of Terraform in Action this week in the Cloud forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • Rob Spoor
  • Bear Bibeault
Saloon Keepers:
  • Jesse Silverman
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Piet Souris
  • Al Hobbs
  • salvin francis

Order of teaching

 
Ranch Hand
Posts: 815
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm going to be teaching the AP computer science course next year and I was thinking:

I was first taught things like loops, and sorts, and other such operations before I was taught things like classes, and what an object really is. This seems to me the reverse of what we ought to do. I was thinking I would teach the class first by giving definitions, and not get into actual programming until people know what they're doing. I don't want people typing "public static void main" until they know what public, static, and void all mean. Once people can get a few classes talking in very simple ways, then I thought I'd get into things like for loops, logic, and sorts. What I'm wondering, is if people will be able to understand the way classes interact, without really knowing the basics of programming. I'm thinking they will.

Thoughts?
 
Author
Posts: 201
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Nick,

I teach Java at a 2 year college and have been involved with the APCS program as a reader.

1. Do you have any idea at all what they teach in the course. Go the the college board web site and find out.

2. Ask other AP CS teachers in your area.

3. look at AP CS books used by other High School.

Here are some links to help:

http://cs.colgate.edu/APCS/AP%20Course%20Information/CollegeBoardLinks.html
http://www-2.cs.cmu.edu/~mjs/apcs.html



I like were you are heading but I think you will be wasting your time. There is alot to cover in the A and AB tests. It goes at at fast pace. I am afraid you would fall behind.

Suggestion: Teach Java at a two or fouryear college as an adjunct. Then you can really show them about what I think you want to do.

Once again just my opinion. Good Luck. I hope I have a chance to meet you sometime at Clemson.
[ April 14, 2005: Message edited by: James Chegwidden ]
 
Nick George
Ranch Hand
Posts: 815
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks alot, that's a really good website.

Sorry I didn't respond, I completely forgot about this thread.
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Nick George:
I was first taught things like loops, and sorts, and other such operations before I was taught things like classes, and what an object really is. This seems to me the reverse of what we ought to do.



This is not obvious to me. Care to elaborate about your reasoning?

I was thinking I would teach the class first by giving definitions, and not get into actual programming until people know what they're doing.



The problem I see with this is that you would be deferring all the fun, all the action. People don't necessarily need to fully know what they are doing. It might even be easier to understand the details with the time while they see how things work out *when they do it*.

With other words, I don't think that people mainly learn what they are doing by being teached the theories, but by trying things and learning from their errors.

I don't want people typing "public static void main" until they know what public, static, and void all mean.



I can sympathize with that feeling. I fear it has more to do with irrational feelings about what is the right thing to do than with the actual reality of how people learn things, though.
 
Ilja Preuss
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Just found this story on the net which seems to be somewhat on topic: http://www.butunclebob.com/ArticleS.MicahMartin.JackAndJill
 
Sheriff
Posts: 4012
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Nice story, Ilja! Couldn't agree more.
 
Pauline McNamara
Sheriff
Posts: 4012
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

With other words, I don't think that people mainly learn what they are doing by being teached the theories, but by trying things and learning from their errors.



I'm with you all the way here. Why deny someone all those wonderful "Aha" moments that come with discovery? Those are ones that stick with you.
 
Ranch Hand
Posts: 134
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

Nice story Ilja!

Though it missed one fact! And that is, Jack though wouldnt be as good a programmer as Jill would be, he will still be better paid for all his life AND keep getting faster promotions!



Mehul.
 
Bartender
Posts: 1205
22
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
First, concerning the Jack and Jill story:

Originally posted by Mehul Sanghvi:

...Jack though wouldnt be as good a programmer as Jill would be...



What makes you think that Jill will be any better than Jack? Sure, Jill has a four year (or wahtever) head start on Jack. But I would bet that Jack would be able to advance faster, and sooner or later catch up and pass Jill.

Once Jack an Jill move out and get their own apartments, who will be better prepared to fix his/her own bike if something breaks? Who will know what kind of tires to buy if he/she want to go mountain biking?

"First" sure as heck doesn't mean "better in the long run." I've been in the position to hire programmer/engineers for our team. For a short term assignment, I'd rather have someone with four years experience and not degree than someone with the BS and no expereience. However, for longer term and higher level positions, I'd sure rather have someone with a BS and eight years of experience than just twelve years of expererience (ceteris paribus).

Second, different people learn better in different ways. Some are Jacks and some are Jills. For instance, I myself am a Jill until I would be considered a good solid beginner. Then I switch over to Jack mode to get an "academic" perspective on things that I might not get through my own experences. So the right way to teach a course will depend on the students as much as finding the one true way.

Perhaps you can balance the two extremes: provide a simple skeleton program that allows the Jills to do some hands-on stuff even before they know what public static void is. But then don't have any mandatory programming assignments until the Jacks have had a chance to learn everything that would go into the program. Of course, this might amount to coming up with two course plans then trying to merge them together.

Ryan
 
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
reply
    Bookmark Topic Watch Topic
  • New Topic