|
|
|||||||||||||||||||||||||||||||||||||||||||||
Sonya Barry's Blog
Where did all the projects go?Posted by sonyabarry on June 26, 2008 at 02:12 PM | Permalink | Comments (19)One of my great frustrations as a new user of java.net was that it's hard to tell at a glance which projects are currently under active development. We have many members who join java.net looking for active projects so they can join and work on a project. Many project owners would love to have the help. In an effort to help those two groups connect as quickly as possible we've started reviewing projects in the general community to see how busy they are, and then we are archiving them or deleting them if they aren't currently active. Some communities take care of this on their own, and some don't. Our goal is to have some basic standards for activity and apply them consistently wherever it's needed. So what defines an active project? I'm looking for signs of life in mailing lists (public or private), source code updates, the bug tracker, or additions to the documents and files section. Anything that has usable content, either a completed project or a project that was started and then abandoned, but has seen no activity in the past year is going to be archived. So what does that mean? Really, we don't have a separate storage space for "archived" projects. So what we've done is created a top level community called archive (archive.dev.java.net) and have started notifying owners that the project will be moved to the new community because it's been inactive for so long. I'm also leaving notes on the front page of any project that has been, or is subject to being moved so that users surfing around java.net get a clear picture of that project's status immediately. Archived projects are still accessed the same way as any other project (i.e. projectname.dev.java.net) and maintain exactly whatever privacy and security settings their owners originally put in place. I'm giving the owners at least 30 days notice that the projects will be moved, but moving them sooner if I receive express permission from the owners to do so. The idea is that older projects can still be found and accessed immediately by people who want to download their source code or begin development again, but that they won't be mixed in with the current projects. A happy side effect is that a couple of project owners seem to be taking this as a nudge to start working on their neglected projects as well. I'm also going through and deleting a few projects. Candidates for deletion are projects that were created over a year ago but have no useful content. All owners are notified and have 30 days to get back to me before I delete anything, and I'm not making any value judgements about "useful" content. If there is anything at all in the repository or in the docs and files section of a project, I'm archiving it by default. What do you think? We're trying to find ways to make java.net easier to use for everybody. I hope this is a step in the right direction. Less than 24 hours to go.Posted by sonyabarry on May 02, 2008 at 11:35 AM | Permalink | Comments (0)Just like everybody else around here, I'm getting ready for JavaOne. Fortunately, I don't have any packing to do. I live close enough to San Francisco to take public transit. I just have to remember to wear sunscreen (the weather looks like it's going to be fabulous) and my Java.net t-shirt. The last two years I've only been able to spare a few hours to attend Community Leaders weekend and staff Java.net's Community Corner. I was in school and JavaOne coincided with finals week. This year I'll be there for all of it - hanging out and listening to mini-talks in the Community Corner, attending CommunityOne as a regular person instead of a Sun employee, attending some general sessions, and of course kicking things off with our Community Leaders over breakfast bright and early tomorrow morning. There are a lot of cool mini-talks scheduled for every minute the pavillion is open. The two I'm looking forward to most are Michael Kolling's Greenfoot presentation on Tuesday at noon and Simran Gleason's Keppler's Orrery talk at noon on Thursday. I love both of these projects for their creativity and just plain gee-whiz factor. There will be lots of other cool stuff happening and I hope you all are able to come by and say hello, or if you can't be there in person you can check out our podcasts of those mini-talks as they go out over the course of the week. Once we have a room full of kids, what should we teach them?Posted by sonyabarry on April 21, 2008 at 11:33 AM | Permalink | Comments (10)In my first post about CS education I talked a little bit about what kind of infrastructure we need to do a corporate backed computer science education program for middle or high school kids. In this post I'd like to address two other important issues. The first is Which kids are we aiming these programs for? and the second is What do we teach them when they show up? There are three general classifications I use for kids in this age group: 1. Geeks. These are the kids who are probably a lot like you were. Usually male. Usually hooked on computers and curious about how they work from the first moment they saw them. Interested enough to pursue CS topics and programming on their own because they enjoy it as a hobby, and a way to tweak their games. 2. Average kids. These are most of the kids, male and female, who like the web, are comfortable with the machines, but don't regard them with any more interest than your average motorist regards their car. This group also includes the group of kids who, due to social or financial circumstances, haven't yet sat down at a computer for any reason. There are a lot more of these kids in the U.S than you might think. 3. Everybody else. These are the few who either have no aptitude at all or absolutely no interest in using computers beyond what is required for class, and they really wish they didn't have to use them in class either. They don't use them at home, even if they have access. Their numbers are small, but they do exist. So which group of kids should we be aiming for with an after school program? I vote for group 2. The truth is, anything presented to the whole school will grab group 1's attention, but they may be more advanced already than anything we're going to show them. We should be doing something to support group 1's ambitions and interest directly (more on them in later blogs), but those are the kids who are already pursuing CS, who are looking forward to programming classes in school and beg their parents to send them off to computer camp in the summer. These are the kids who, like you, are going to turn into the software engineers of the future. They are already on the path. CS enrollments are falling across the board. Why? Because we ignore group 2. This is the potential group that could fill out those classes if they are exposed in the right way, and at the right time. They might be more interested if they understood how creative CS can be, and if they realized that despite the media reports to the contrary, there are good jobs with great pay available in the US. These are the girls who, like me, have an aptitude but aren't interested in tearing computers apart as a hobby and so they think CS wouldn't be interesting to them. These are the kids who we need to be paying attention to. These are the kids that I want the opportunity to hire when they graduate from college ten years from now. So, what do we teach them? This is a really tough call. There is so much to cover. In my own classroom I made the decision that at middle school age, it's a lot more important that a kid walks away from the class with the feeling that they enjoyed it and that they can do it than it is that they remember the relationships between classes and objects or the ins and outs of for loops. In young kids, confidence trumps everything. I think it can be argued that the same thing should happen with high school students who are given CS as an after school project rather than a regular class. More than anything we need these kids to be open to the possibility when they get to college. We also need to do something else that often gets lost in the shuffle - we need to prepare them for things they're really going to see in college. Here's an anecdote - I was TA for a first semester Java programming class while I was in grad school. I had a student who came in as a freshman completely excited about the class. She had "majored in computers" at her high school and was ready to go. She had a great attitude, certainly had the aptitude for it, but she dropped out of the class and changed majors about six weeks in. Why? Her computer class in high school had been all about using Microsoft Office products at the expert level and a few WYSIWYG web page projects. She came in confident, but she was confident about the wrong thing, and she was crushed. She's now a chemist. She's an extreme example, but I doubt she's the only one who has had this kind of experience. My approach to solving that problem is to make the first things my kids see is a minimal IDE (we use JEdit) and compiling from the command line. This gives them a couple of advantages. First, they're never going to be taken by surprise later on when somebody else asks them to work that way. Second, getting familiar with the command line and navigating the file system that way helps them understand their computers beyond the GUI level. Once they realize there is more than what's at the surface, they are naturally curious. I chose to go with an applet that uses the Graphics API for my first lessons. The reasons are simple - a kid can grasp quite easily what drawLine() or drawOval() is supposed to do. I give them a few lessons and assignments that guide their analysis of their programs, and then have them use what they've learned to write an applet that has a smiley face picture. It's engaging and creative, and the kids get it immediately. They learn about methods and parameters, they get some good practice at doing the arithmetic to get all the pieces place properly, and they learn about logic bugs and order of execution. The next thing I do with them is design a GUI guess-my-number game using Swing. It introduces loops, decision making, the % operator, integer arithmetic, and random number generation as well as more complex code using the ActionListener interface to handle buttons and text input. This is when I run out of time with them. It usually takes about 20 hours of instruction, with plenty of CS related digression to get this far. If I had more time, at this point I'd introduce them to Greenfoot or Alice.org. My point is always to give them the basics, and then show them the really cool stuff once they have the basics down. With the specific goals of getting kids interested and confident, what would you want to show them? What do we do about Computer Science education?Posted by sonyabarry on April 09, 2008 at 02:08 PM | Permalink | Comments (3)Chris's blog about Cay's blog on Monday about the sad state of Computer Science education was really timely for me. I commented that day, but I have a lot more to say on the topic. I'm an engineer at Sun, but I've also been teaching Computer Science at a middle school for the past four years, and my masters thesis project was an intro to programming curriculum for 8th graders, using Java. (It was for an interdisciplinary degree - Computer Science with emphasis in Education.) So this issue is really something I think about all the time. In the past few weeks I've met with someone from Sun's Global Citizenship Initiative. He's working on proposals to get a volunteer program set up so Sun's engineers can go out with the company's support and teach a CS curriculum either as part of a class or an after school program. He wanted to get some opinions from me about it, since I'm actually teaching it, and he also came in to my classroom on Monday morning to observe. So what would I do if I had all the time and money to do this? My suggestions were to come up with some kind of portable classroom and to have a fairly rigorous mentor program for teaching engineers how to teach. Why a portable classroom? Most schools still don't have a good computer science lab, and if they do, they aren't going to let a total stranger come in and install their stuff on it. More importantly, a volunteer is not going to want to spend their time installing their stuff on it and troubleshooting while kids are waiting around for the volunteer to teach them something. It's a recipe for disaster. An Asus eee can run Java just fine, and at 40 pounds total, 20 of them could fit in a rolling carry on bag. Is this a steep price for entry? Certainly, but it's not unreasonable and those machines could each be used for several hundred classes. Why a mentor program? Teaching is not easy. My first few months in a classroom were pure unadulterated hell. At that point I had no training. I hadn't spoken to a human being under the age of sixteen since I was in high school myself. I had no idea what my students were capable of. I also had no idea what I was capable of. I stuck it out because I had to - I was doing this part time as I started grad school and I didn't have a whole lot of choices if I wanted to pay my mortgage without flipping burgers professionally while I was in school. I would have been a much better teacher out of the gate if I had been able to sit and watch somebody else teach what I needed to teach, and then somebody to give me feedback in my first few weeks. So this is what I think we ought to do - have an engineer who is interested in teaching pair up with somebody who has been doing it for a while. At first they watch, then they help, and finally they teach and get constructive criticism from their mentor-teacher. With a program like this in place we could be consistent in both quality and tone. Will I get my wish? I have absolutely no idea. At the end of this school year, I won't be renewing my contract to teach next year. I am sad to be leaving, because I love what I do in my classroom and I will miss the kids, but I need to focus on my "real" career for a while. I hope Sun can get something like this off the ground, because it would be great to be able to continue to teach without giving up all of my free time to do it. Next time: Which kids should we be designing curricula and after school programs for, and what should we teach them? |
June 2008
Search this blog:CategoriesCommunityArchives
June 2008 Recent EntriesWhere did all the projects go? Once we have a room full of kids, what should we teach them? | ||||||||||||||||||||||||||||||||||||||||||||
|
|