User:Gregorio: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (Changed protection level for "User:Gregorio" ([edit=sysop] (indefinite) [move=sysop] (indefinite)) [cascading])
 
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Newton Public Schools - School Committee Documentation =
My resume: http://wiki.laptop.org/images/3/35/Bio_Greg_Smith-2009.doc


[[NPS:NPS Docs|Main Page for School Committee Documentation]]
= A new chapter =
Its time to write a new page in the odyssey of my thinking on development. See my original idea below. I was in the trenches with that approach for about 8 months and it was a great experience. I also spent some cycles in those months thinking about learning and how the mind works. Time permitting I will start adding my latest ideas here.


[[NPS:Namespace Test]]
== The Highest Level ==
Starting with the fundamental concept, you can break software development in to two parts:


[[Template:NPS]]
1 - Decide what you want the software to do <br>
This includes the interface, the data manipulation, the I/O, performance and target hardware. More importantly it includes and idea of what the user wants to get out of it. Unless you are developing programs to see what programming is all about (a good thing but a special case), you want to get something from the software. Maybe its to have fun, learn math, find information, answer a question, make money, make more software or something else. The user wants to do something and the program should be designed to help them accomplish that.


[[SPED:Home]]
2 - Order the bits to achieve the users goal <br>
This is hard. Nonetheless, it comes after the first part and how you order the bits determines how successful you will be in achieving the users goal.


{{NPS}}
Both parts interact and inform each other. Often the user doesn't really know what they want the software to do until they see some software and get an idea of what it can do. One way to think about it is in terms of I/O. That is, you can see anything you want on the screen. What do you want to see?


Main Page for BSEA Documentation http://wiki.laptop.org/go/BSEA:Decisions
Here's a trivial example exchange: <br>
User: I want to see a fractal. <br>
Developer: No problem, what kind of fractal? <br>


{{BSEA}}
User: What choices are there? <br>
Developer: How about a Mandelbrot set?<br>


= Notes or Links Needing a Home... =
User: OK. <br>
Developer: Here's a program that generates a Mandelbrot set <br>


http://www.oyez.org/cases/1990-1999/1993/1993_91_1523/argument
User: That's cool, can I zoom in on it? Can I look at some more fractals?<br>
Developer: OK, here's a program that can zoom in and out (you didn't ask for zoom out but I added it anyway). Here's a config interface that let's you define the series of any fractal you want to build. It includes a link to common fractals, their defining series and how to make your own series.<br>

User: Great, that's just want I want. Can you make it run a lot faster?<br>
Developer: Buy a better computer, I have work to do ;-)<br>

That's trivial because the output is a well defined mathematical construct, easily programmed and understood. Still, it takes some back and forth to get it right. The user really wanted to enjoy the visual excitement of fractals, poke around in them and understand how they get generated. The user would have had to think about themselves and probably see a therapist (or product manager) before they could express the requirements in that way.

Think about that exchange again with the initial request: "I want a program that teaches me math"...


= A proposed model for developing software =
= A proposed model for developing software =

Latest revision as of 20:14, 18 June 2011

Newton Public Schools - School Committee Documentation

Main Page for School Committee Documentation

NPS:Namespace Test

Template:NPS

SPED:Home


The main Newton Public Schools Documentation Project page is here: Home Page

This project and information is not affiliated with the Newton Public Schools or the Newton School Committee. It is an independent effort by private citizens intended to help the people of Newton learn more about the Newton Public Schools

Much of this information is extracted from the document archive linked from All School Committe Docs

Additional comments and information from public sources have also been included. The contents and links may have been edited as well. No representation is made as to the accuracy or validity of this information. This page is only intended to help people more easily keep in touch with the work of the Newton School Committee

Please add your comments on the discussion page and add to or update any other pages

Newton Public Schools Web site

Newton School Committee Web Site

Main Page for BSEA Documentation http://wiki.laptop.org/go/BSEA:Decisions


This project and information is not affiliated with the Mass DESE. It is an independent effort by private citizens intended to help the people of Massachusetts learn more about the Special Education in our state.

Much of this information is extracted from BSEA Searchable List of Rulings

Additional comments and information from public sources has also been included. The contents and links may have been edited as well. No representation is made as to the accuracy or validity of this information. This page is only intended to help people more easily keep in touch with the work of the Bureau of Special Education Appeals

Please add your comments on the discussion page and add to or update any other pages. Make sure to preface the names of any new pages with "BSEA:"

Notes or Links Needing a Home...

http://www.oyez.org/cases/1990-1999/1993/1993_91_1523/argument

A proposed model for developing software

Below is a brief introduction of my vision for a revolutionary development process that informs and is informed by the educational model of One Laptop.

I plan to start collecting user feedback and examples of educator - developer interactions that led to new software being built and used on One Laptop. I want to find the examples of how educators and students learn to build the XO software that is relevant for them

I will post links of examples on my talk page.

I'm a believer in constructionism based on my own learning experience and that of my children. My personal philosophy of education is most influenced, by my three children, by my wife who works at Educational Development Center (EDC) training school systems in violence prevention and by Paolo Freire.

I want to contribute to the theory of constructionism, but my most immediate value would be in helping implement the praxis of a problem-posing methodology in relation to the development of the technology.

For the last 10 years I have been a product manager for Video, Streaming Media, Content Delivery Networks and Core Networking products. My primary role is to engage with customers and users to generate requirements and communicate those requirements with engineering.

I'm a technologist but my specialty is listening and engaging users to determine the priorities for development. As a product manager I influence the engineering community to build products which satisfy the users needs. The users learn what is possible and the developers learn what is valuable to the users. My role is to facilitate the discussion, refine the design, and determine the right priorities within the constraints of available resources. Its an iterative process of communication and collaboration.

That's my vision of the product manager role in commercial software development. However, commercial software is limited by the hierarchical nature of the corporations involved. The user - developer relationship is also restricted by the need to generate revenue. The more a customer will spend the higher priority we give their requests.

Open source development addresses those limits with a decentralized and non-hierarchical model. The decisions about what gets built are informed by the developers own experiences and by developers responding directly to input from users. Thus, open source has significant advantages for developing software and hardware for a constructionist educational system.

That said, any development model needs an optimal process for synchronizing the work with the users expectations. Developers don't fully understand user's daily activities and users don't fully understand the constraints of the development process. Even for open source, the challenge remains how best to achieve a problem-posing methodology of mutual education. Both sides need an efficient way to engage the praxis (action and reflection) of creating relevant applications. Transformation of the process from developers giving users features (banking method) to developers-users learning from each other (problem-posing method) needs attention that empowers all to participate.

That challenge is especially acute when there are large gaps of culture, age, economic status, language, and geography (urban - rural and north - south). Even as users learn to develop their own code, there's a need for all users to have a say in what gets prioritized and delivered.

I'm not suggesting that I know better how to implement the development process. Only that I'm ready to engage a design dialogue that uncovers the principles and models of thinking which allow the XO to optimize the goals of the education systems.

Those are my ideas and I want to hear what you need.