Conversation started 2004-7-2 8:35:05

nickbenn (8:35:05): Morning, all!
irene_anne_lee (8:35:12): morning!
betty_strong2004 (8:35:23): hi, did you get my email this am?
shirleybirdteach (8:35:31): mine too?
chplvald (8:35:33): Good Morning Nick...
challengebetsy (8:35:33): Good morning, all
nickbenn (8:35:45): Yep...I've had responses from three or four of you - all good.
shirleybirdteach (8:36:27): I ran the model for 5000 kangaroos and it was still similar to the smaller results
celiaeinhorn (8:36:33): Nick, do you want voice for you?
nickbenn (8:36:37): Does anyone have questions on the assignment, or on the Kangaroo class file we looked yesterday, or the Zoo class file we run (but didn't really look at).
nickbenn (8:36:40): No thanks, Celia.
celiaeinhorn (8:36:48): fine!
shirleybirdteach (8:37:27): Nick, please invite pam to join
nickbenn (8:37:29): Exactly, Shirley...and, given that kangaroos have been around a long time, without any help from us, what should that tell us about our model?
shirleybirdteach (8:38:07): it's flawed
chtkjohn (8:38:14): please invite Netta-vanob!
betty_strong2004 (8:38:25): Celia, Pam's not here, please invite her.
celiaeinhorn (8:39:07): (I am new at this! Did invite Pam and Netta!)
nickbenn (8:39:18): Yep, I think that's a reasonable assessment, Shirley. At a minimum, it's suspect. It could be that the relationships (i.e. formulae) in the model are wrong, and/or the various assumptions.
shirleybirdteach (8:39:20): They say not
Information (8:39:22): challengedianne has joined the conference.
chtkjohn (8:39:30): it tells us our model needs some or a lot of work depending on how well you know kangaroos or java
shirleybirdteach (8:39:44): I think the age is a big factor
nickbenn (8:39:47): Exactly right. We need to fix something.
shirleybirdteach (8:40:00): fix it first and then go from there on debugging?
Information (8:40:02): vikingixiwarrior has joined the conference.
nickbenn (8:40:12): The easiest to fix is the problem with the initial population of kangaroos all being newborns.
Information (8:40:20): chtvanob has joined the conference.
Information (8:40:45): chplvald has left the conference.
Information (8:41:15): pamrdoodle2002 has joined the conference.
nickbenn (8:41:17): I have sent my thoughts on this, as well as the transcript from yesterday, and updated versions of the Java files, to David; he'll be posting them on the Challenge/STI site this morning.
challengedianne (8:41:51): Great. Maybe I can make sense of all of this.
chidhkratzer (8:42:08): The files are posted on sti web page
nickbenn (8:42:08): At least one person dug into the Zoo.java file, to see how it worked. Did anyone else try that?
nickbenn (8:42:14): Great! Thanks, David!
jkraloff2001 (8:42:17): Any word on cabasa?
shirleybirdteach (8:42:32): I looked at it briefly, did not delve into it
betty_strong2004 (8:42:41): mavis and i looked but didn't try anything
nickbenn (8:43:26): Well, for those who didn't look too deeply (or at all) at Zoo.java, a question:
jkraloff2001 (8:43:36): I think I got a good feel for what you were doing in Zoo from my introduction to java this spring.Many of the important decisions were being made in Kangaroo
shirleybirdteach (8:43:39): it looks like it just outputs data
nickbenn (8:44:12): We have a class (Kangaroo) that knows (in some way) how to do some very basic things a Kangaroo does: breed, survive, and get older. What should a zoo know how to do?
nickbenn (8:44:20): (A zoo that just has kangaroos).
chtvanob (8:44:49): Are we suppose to have telnet up?
nickbenn (8:44:58): Nope...this is just Q&A
betty_strong2004 (8:45:15): it should maximize the conditions for survival and minimize the conditions that cause deaths
challengedianne (8:45:28): How to maintain their environment. Know what they eat How to understand kangaroo behavior
chtkjohn (8:45:31): you mean like a zoo determines feed and carrying capacity?
nickbenn (8:45:42): Well, let's think even more simply for now.
nickbenn (8:45:51): What do you think the Zoo program is doing now?
chtkjohn (8:46:01): know what age they can breed at?
shirleybirdteach (8:46:02): zoo keeps track of the numbers and input and outputs data
nickbenn (8:46:17): Actually, the Kangaroos know that themselves
nickbenn (8:46:24): Pretty close, Shirley.
nickbenn (8:47:03): The Zoo program we have today reads how many kangaroos you want to start with, and the number of years to run, from the command line. Then, it creates that many kangaroo objects, and starts advancing year by year.
celiaeinhorn (8:47:08): 13 people on voice conference on java programming
celiaeinhorn (8:47:18): i just bring em back when they get kicked off
celiaeinhorn (8:47:25): and friend nick is teaching
nickbenn (8:47:35): At each year end, it "asks" each kangaroo if it survived the previous year...
Information (8:47:38): alanrayaisc has joined the conference.
Information (8:47:45): chplvald has joined the conference.
nickbenn (8:48:09): then, if the kangaroo survived, it "asks" each kangaroo "Do you have any offspring for me?" (i.e. it calls the "breed" method).
nickbenn (8:48:35): If the kangaroo didn't survive, it is removed from t he population; if it survived, and has offspring, that offspring is added to the population.
nickbenn (8:48:50): The zoo keeps track fo how many died, how many were bord, and the end result, and prints that out.
pamrdoodle2002 (8:48:54): nick maybe talking but I don't hear anything...are you using voice?
nickbenn (8:49:00): Then it advances to the next year, and does it all again.
Information (8:49:13): pamrdoodle2002 has left the conference.
nickbenn (8:49:19): I'm not talking. My fingers work better for this sort of thing
challengedianne (8:49:27): Is Nick speaking or just writing
betty_strong2004 (8:49:37): Nick, are all the offspring being added into the breeding population?
nickbenn (8:50:22): Yes, betty. But they are being added with age = 0, and our fertility rates array (in Kangaroo.java) has a fertility of 0 in the first year of live, and a fairly low fertility in the second year of life.
nickbenn (8:50:33): So newborns won't immediately breed.
Information (8:50:37): chplvald has left the conference.
shirleybirdteach (8:50:55): I only saw the first part of the code, just realized it. It helps to look at the code now
chtkjohn (8:51:11): so what do we change? our mortality rate? ilncrease the fertility rate?
nickbenn (8:51:34): Well, we do some research...to get a better handle on both fertility and mortality.
nickbenn (8:51:53): in fact, for some kangaroo subspecies, it is not at all uncommon to have three offspring in two years.
shirleybirdteach (8:52:06): What about randomly picking the age?
nickbenn (8:52:23): So, we might also change our model, to advance in something smaller than one year at a time.
nickbenn (8:52:29): Very good question, shirley.
Information (8:52:58): challengedianne has left the conference.
nickbenn (8:53:00): In fact, if you get a chance to look at the updated Zoo.java, you'll find that's exactly what I did for the initial population: pick random age for each kangaroo, between 0 and 6 years old.
nickbenn (8:53:31): But really, that's another area for research:
nickbenn (8:53:51): Is there an established practice for how an existing population of kangaroos is transplanted to somewhere else?
nickbenn (8:54:01): Do they just catch a bunch of 'em, and take 'em all?
nickbenn (8:54:14): Do they try to focus on young-but-breeding kangaroos?
jkraloff2001 (8:54:28): Could you e-mail us the update today, or is it not only on cabasa?
nickbenn (8:54:32): DO they include any pregnant females, or females with joeys in pouch?
nickbenn (8:54:40): It is on the challenge web site, on the STI page.
shirleybirdteach (8:54:45): Assumptions go here
nickbenn (8:56:09): So, the moral of this whole story is: we call our crazy aunt, and say "We really need to investigate more about how kangaroos breed, how long they survive, and how others have successfully transplanted kangaroo populations in the past."
nickbenn (8:56:36): "Otherwise, I'm not investing a dime in 'SIx Flags Over Kangaroos'!"
chtkjohn (8:56:45): And thats what successful ppeople do before they get into a business
nickbenn (8:57:07): Exactly right.
shirleybirdteach (8:57:15): invite Pam again, she got botted off
nickbenn (8:57:59): ANy other questions/reflections on the problem, or on the Java code?
celiaeinhorn (8:58:46): (thx, Shirley!)
nickbenn (8:59:17): I invite all who are interested to look at my reflections on the homework, and on my modifications to the Java classes, on the challenge/sti site.
chtkjohn (8:59:38): thank you
betty_strong2004 (9:00:12): Nick, if we want to be able to really help out students, would it be better to do some reading on Java or possibly take a class on it?
vikingixiwarrior (9:00:16): i've been intermitten, what is the path for the challange/sti sti?
celiaeinhorn (9:00:43): http://www.challenge.nm.org/sti
vikingixiwarrior (9:00:55): thanks
nickbenn (9:01:20): Well, it would certainly be good for those students (and the teachers, if possible) to participate in the java track at the kickoff. However, it's generally only possible to participate in one track or another (i.e. Starlogo), not both. So, that can be tricky.
nickbenn (9:01:49): But in general, I think it's a good idea to do some reading/playing with Java.
celiaeinhorn (9:02:02): Or Betty, you can get your team a mentor who can help with Java!
betty_strong2004 (9:02:13): good idea!!
celiaeinhorn (9:02:26): Our mentor list is at http://www.challenge.nm.org/mentor(s)
celiaeinhorn (9:02:32): not sure about the s or not
nickbenn (9:02:42): Java is a wonderful language in a lot of ways - not least of which is that you can download a java compiler (and entire development environment) free, and you can download mountains of tutorial and documentation information free, all from Sun (the folks that invented Java).
betty_strong2004 (9:02:52): thank you
nickbenn (9:03:48): And yes: one of the most important things to do, especially if the team has minimal experience with Java (or StarLogo, or Excel, etc.), is find a mentor who can help with that aspect (in addition to the same or another mentor helping in the problem domain).
nickbenn (9:04:09): this link is on WebCT, but here it is again: http://java.sun.com
nickbenn (9:04:27): That is the home page for all of Sun's Java stuff: the downloadable software, documentation, tutorials, etc.
nickbenn (9:05:09): It's an invaluable resource.
nickbenn (9:06:18): Now, here's a question for speculation:
nickbenn (9:06:53): If we wanted to update our Java program to include certain predators (some animals - even birds - prey on very young kangaroos), what might we do, from a Java perspective?
shirleybirdteach (9:07:18): make a new class
nickbenn (9:07:36): And what would that new class model, Shirley?
shirleybirdteach (9:07:45): The dingo ate my baby!
nickbenn (9:07:49): Hahahahahaha
nickbenn (9:07:52): Very good
chtkjohn (9:08:00): i was thinking of vicous rabbits with long fangs
nickbenn (9:08:06): (DIngoes are definitely predators that attack kangaroos.)
jkraloff2001 (9:08:20): zoo would then keep track of roos and the pred numbers?
shirleybirdteach (9:08:40): And eaten kangaroos
betty_strong2004 (9:08:43): will you have predators at a theme park killing in front of visitors?
nickbenn (9:08:50): Seriously, exactly right: In Java, we write classes for each of the different kinds of "things" in our model: Kangaroos, dingoes, etc.
shirleybirdteach (9:08:58): disease
nickbenn (9:09:35): Hahaha...probably not, Betty...or at least, not intentionally. But birds will still kill young joeys, no matter what we do. And, if it is a wildlife-style park, then there will indeed be other predators.
betty_strong2004 (9:09:51): ok
irene_anne_lee (9:09:56): would dingos also be implemented using hashset objects then tracked using a separate array
nickbenn (9:10:21): And the "zoo"/park/etc. class will indeed hold populations of all of these things.
nickbenn (9:10:49): Good question, Irene. We'd have to think about the best "containers" for the different populations.
nickbenn (9:11:48): (By the way, for those that looked at the zoo class: we could have avoided using an array altogether; iterating over a HashSet can look a little confusing, for those looking at Java code for the first time, so I used an array to make that part a little more clear.)
nickbenn (9:12:16): That brings up an important point:
nickbenn (9:12:36): One of the things we do in any programming language is manage collections of things - in arrays, sets, lists, etc.
nickbenn (9:13:27): That is a critical thing to know about any new language: what are the facilities for managing groups of things, and if there are different kinds of facilities, what are the differences between them?
nickbenn (9:14:38): StarLogo is very cool in this respect: we can write some very involved stuff, without having to do any of that collection management ourselves. We let StarLogo keep track of that, and we just say things like: "Ok, now tell all the dingoes to hunt kangaroos!"
shirleybirdteach (9:15:29): there are alot of pred/prey models for starlogo
nickbenn (9:15:31): (We can, of course, manage some of those collections ourselves, in StarLogo - in some cases, depending on the design of our program, we have to. But we can go a long way without doing so.)
nickbenn (9:15:39): Exactly, Shirley.
nickbenn (9:16:50): Ok, that's all I've got for this morning. Any other questions?
jkraloff2001 (9:17:35): If one manages to create a good starlogo model and had the time and the expertise would a java version add any great understanding or streamline the computation time?
nickbenn (9:18:01): Well, they would be used for different things, generally.
nickbenn (9:18:33): In Java, we tend to write a lot more code on the details of how the different objects work.
jkraloff2001 (9:19:19): I guess that is my real question - what types of things do java or starlog best address?
shirleybirdteach (9:19:44): starlogo addresses interaction best
nickbenn (9:19:53): Starlogo is really best for agent-oriented models: where you're going to turn your animals loose, and say "Go do what yer gonna do!"
nickbenn (9:20:13): Ini our example so far, we have no interaction between kangaroos.
nickbenn (9:20:27): We don't (yet) have any predators.
celiaeinhorn (9:20:39): (I will invite you to a Star Logo conference at 10:30. David is archiving. I am inviting. It takes a village.)
shirleybirdteach (9:20:53): thanks nick
nickbenn (9:20:57): So, there would be little gained, at this point, from moving to StarLogo. However, if we are considering looking at interaction between Kangaroos,...
nickbenn (9:21:33): such as: do kangaroos form groups (they do, by the way), and does the existence of size of those groups affect fertility or mortality (it does),
nickbenn (9:21:46): we could use StarLogo to model that.
nickbenn (9:22:14): (Much more easily than we could do that in Java: the folks at MIT have done the hard work for us, in that case.)
nickbenn (9:22:21): On the other hand, ...
nickbenn (9:23:23): if our model uses a lot of mathematical manipulations; if it doesn't involve interaction between independent or mostly-independent entities; if it involved interation across more than two dimensions (celestial mechanics problems, for example), then StarLogo is probably not our best bet.
jkraloff2001 (9:24:46): thanks that helps
nickbenn (9:25:29): Also, remember that, in terms of position, Starlogo uses a discrete map. If you want to model detailed movement (again, gravitational problems come to mind), it might not be the best choise.
nickbenn (9:25:36): err, choice.
nickbenn (9:26:27): Any other questions?
nickbenn (9:27:55): ok! I'll be sending this transcript for David to post on the challenge/sti site, as well. Please feel free to ask questions via Yahoo or e-mail (or WebCT, when it is resurrected).
shirleybirdteach (9:28:12): thanks, enjoyed
nickbenn (9:28:16): Thanks, all! Good questions, good thinking about the problem.
irene_anne_lee (9:28:21): thanks Nick