Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
GSoC 2010 - PyKata Proposal
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  4 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Eliseo Ocampos  
View profile  
 More options Apr 7 2010, 1:35 pm
From: Eliseo Ocampos <rosk...@gmail.com>
Date: Wed, 7 Apr 2010 10:35:04 -0700 (PDT)
Local: Wed, Apr 7 2010 1:35 pm
Subject: GSoC 2010 - PyKata Proposal
Hi all,
  In past days I was interchanging some emails with Mr. Harrington
about a
proposal that I have for the Google Summer of Code relative to PyKata.
I post it
here for discussion.

Introduction
------------
  About me: My name is Eliseo Ocampos, I'm from Paraguay and I'm
studying
Computer Science on the National University of Asunción [1]. My
programming background relies mostly on propietary software for the
National Center of Computing [2] (developing scripts, tools and APIs
for
a variety of systems that we have).

  I consider the most significative way to give/share value with a
community
is to provide a mechanism or tool that helps members to learn an
hability.
Said that, I always aim to learn new ways to transmit my (very
limited)
knowledge, but if I could find a way that not only I could use but
anyone,
the multiplicator effect would be extended giving a lot more benefits.

  In this case, the hability to learn a new languaje is always
exciting, but
the approach you use to learn it (or teach it) plays a major role in
the
success of this task.

  PyKata gives you a pedagogical view most suitable for autodidacts
altough
this not necessarily has to be this way because people have different
ways
of learning something. What I will try to do in this project is to
give
several points of view to face the challenge to help to learn an
amazing
programming language _basically_ the way you want or you like the
most.

The Application Idea
--------------------
  - General Modules to implement
    . Profile & Stats for Users
    While Using the application you should feel at home. This means
that the
    profile has to provide you all you need to be comfortable while
learning
    Python. Here we include the most common statistical data of your
progress,
    recommended problems (by the application or by other users),
references to
    relevant tutorials/blog posts and the like.

    . Adventure-like leveling system
    Here we want to visually impress the user, in a way he/she feel
the
    process of learning Python an exciting trip. This leveling system
    shouldn't be exact in a way that we "assign" a explicit score but
what
    we'll want is to give him/her a kind of hierachy that resembles
the
    habilities developed, asigned once overcome the several
"challenges"
    provided.

    . Categorization & Weigth of Problems
    The atomic piece of learning is *one problem*. From it you can
learn a
        very specific topic or a combination or various things. Here is were
we
        desire the application help us to decide how well we can reward a
user. A
    combination of several factors can assist us in this task, I
consider the
    three most importants:
      * Correct categorization of problems by: topics covered, level
of
        previous knowledge required, estimated difficulty (here the
        assignement of weight is necessary manual)
      * Introduce (implicit) timing while resolving a problem: the
time spent
        solving the problem could help the application to assign a
weigth to
        the problem and decide the reward the user deserves, as well
as
        relevant recommendations on topics covered. I consider the
implicit
        timing important because we want the users feel as stressless
as
        posible, allowing them to focus on the problem itself.
      * Measure (Estimate?) code complexity: based on a solution
provided by
        the author of the problem, the application can measure its
complexity
        to put more or less weight to the problem. This also allow
the
        application recommend other similar problems - inclusive it
can asign
        "extra" reward if the provided solution's complexity is
beated ;)

  - Let the fun begin - Pluggins in action
      As I said, you can learn something in several ways and one of
them will
    be the most comfortable to you (therefore probably the most
suitable).
    PyKata can be restructured in a way that pluggins come into
action
    providing special ways to learn Python concepts.

    These Pluggins can be:
    . Pair Programming Mini Environment: A place where you resolve a
problem
    with another user, looking for achieve a new level or get some
special
    reward.

    . "Story Mode" challenges: Pre-established bulk of problems that
must be
    resolved in groups (preferibly co-related but not necessarily
secuential).

    . TutorView Plugin: Usefull for teachers or mentors who want to
monitor
    a group of students, assigning special rewards for those who
finish the
    "duties".

    . PyKata Mini-Arena: A mini tournament could be organized
selecting some
    problems and users to solve them & see who is the best!

      Some of these pluggins should be available to users who has the
appropiate
    level and others will be reserved only for administrators.

Underlying Structure
--------------------
  The framework of choice for develop the "core" application will be
Django,
this is because my experience is vastly based in it. I am aware of
the
requeriments of easy maintaining for the future, that's why I pretend
trade-off that little hard learn of Django at begining for the
restructured
plugginable skeleton for PyKata. That adding the proper documentation
(wiki
pages, internal documentation) and several template for creating new
problems
_and_ new pluggins will also be provided, that way making easy for
future
developers of the project. I have previous experience in team work
(even
leading some small projects), so developing with other members of
community
wouldn't be difficult, in fact I think I'll really enjoy to do it in
an
open source environment.

  I know the other candidate framework is web2py, altough I have no
experience
with it, I'll give it a try if community thinks this is the best
choice (in
fact I started to make some little projects with web2py in a way to
know it
better).

Tentative Cronogram
-------------------
  April  . 1st, 2nd and 3rd week: Discuss proposal detalis in PyWhip.
Getting
           in touch with the actual code of PyKata.
  April  . 4th week: Begining with mockups and schematics, modeling
and
           prototyping.
  May    . 1st, 2nd, 3rd and 4th week: Defining use cases. Establish
final
           model to work with. Get the basic skeleton of the
application
           structure.
  June   . 1st week: First Review and Documentation of the project,
rearrange
           cronogram if needed, here also I allocate some days for
posible
           contingencies.
  June   . 2n and 3rd week: Implementation and basic testing of
Profile
           & Stats and Categorization & Weigth of Problems.
  June   . 4th week: Semester final Tests at College (estimated)
  July   . 1st and 2nd week: Implementation and basic testing of the
Leveling
           System.
  July   . 3rd week: Second Review and Documentation of the project.
  July   . 4th week and,
  August . 1st week: Implementation and basic testing of at least 2
(two)
           plugins as a proof of concept of the design.
  August . 2nd and 3rd week: Suggested 'pencils down' date by GSoC.
Take a week
           to scrub code, write tests, improve documentation, etc.
  August . 4th week: Finalizing the project (August 20).

  This cronogram would be accomplished with 6 (six) hours per day,
including
  weekends, giving 42 weekly hours to dedicate to the project, without
afecting
  this to my normal activities.

[1]http://es.wikipedia.org/wiki/Universidad_Nacional_de_Asunción
[2]http://www.cnc.una.py


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David MacQuigg  
View profile  
 More options Apr 8 2010, 7:19 am
From: David MacQuigg <macqu...@box67.com>
Date: Thu, 8 Apr 2010 04:19:51 -0700 (PDT)
Local: Thurs, Apr 8 2010 7:19 am
Subject: Re: GSoC 2010 - PyKata Proposal
Eliseo,

This looks like a good proposal.  I hope you can get it in by the
deadline at noon on Friday.

I like your idea for setting special environments like pair-
programming.  I know that I am more stimulated when working with
someone else, and often a partner can help me past a point where I
might get stuck.  The special "pair-programming" or even a "team-
programming" environment could show each student's progress on a set
of problems, side-by-side.  A red star means "Hey, look at this!",
then clicking would show a comment or partial solution - something
like "Hey guys, don't waste your time with power series on this one.
Try the atan2 function from the math library."

No problem with your choice of Django over Web2py.  We decided to
leave this choice to whoever is doing the work.  The only requirement
is that the finished program be documented well enough that a student
not familiar with web design could take over.

You might want to include a paragraph on how Python fits in to the
educational experience for students in Paraguay.  Will PyKata help
teachers in science and engineering?  Is it an acknowledged part of
the curriculum, or just something students figure out for themselves?

Let me know us know if you need any help with the application process.

-- Dave


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Eliseo Ocampos  
View profile  
 More options Apr 9 2010, 1:02 am
From: Eliseo Ocampos <rosk...@gmail.com>
Date: Thu, 8 Apr 2010 22:02:37 -0700 (PDT)
Local: Fri, Apr 9 2010 1:02 am
Subject: Re: GSoC 2010 - PyKata Proposal
Dave,

On Apr 8, 8:19 am, David MacQuigg <macqu...@box67.com> wrote:

> Eliseo,

> This looks like a good proposal.  I hope you can get it in by the
> deadline at noon on Friday.

> I like your idea for setting special environments like pair-
> programming.  I know that I am more stimulated when working with
> someone else, and often a partner can help me past a point where I
> might get stuck.  The special "pair-programming" or even a "team-
> programming" environment could show each student's progress on a set
> of problems, side-by-side.  A red star means "Hey, look at this!",
> then clicking would show a comment or partial solution - something
> like "Hey guys, don't waste your time with power series on this one.
> Try the atan2 function from the math library."

It's good to know that you like it :)

> No problem with your choice of Django over Web2py.  We decided to
> leave this choice to whoever is doing the work.  The only requirement
> is that the finished program be documented well enough that a student
> not familiar with web design could take over.

Ok, I got it. I'll do my best to document the application as good as
possible.

> You might want to include a paragraph on how Python fits in to the
> educational experience for students in Paraguay.  Will PyKata help
> teachers in science and engineering?  Is it an acknowledged part of
> the curriculum, or just something students figure out for themselves?

I'll certainly do it. Python is not the initial programming language
we use
at college. We start with something more natural to us, using a pseudo-
code
like language that uses reserved words in spanish. In that way is more
easy
to start learning how to program. But once you advance more on the
courses,
you begin to use other well known languages, and Python is one of the
popular choices of teachers.  That's why I see so valuable to work
with
PyKata, it will invite to learn something in an innovative way, hoping
to improve
notably the quality of the knowledge acquired.

> Let me know us know if you need any help with the application process.
Ok, thank you.

> -- Dave

Eliseo

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Eliseo Ocampos  
View profile  
 More options Apr 9 2010, 2:32 am
From: Eliseo Ocampos <rosk...@gmail.com>
Date: Thu, 8 Apr 2010 23:32:54 -0700 (PDT)
Local: Fri, Apr 9 2010 2:32 am
Subject: Re: GSoC 2010 - PyKata Proposal
Hi all,

   I already submitted my proposal. You can see it here:
http://socghop.appspot.com/gsoc/student_proposal/show/google/gsoc2010...

   If any of you have any other suggestion I'll be glad to add it.

   Best regards,
   Eliseo.

On Apr 9, 2:02 am, Eliseo Ocampos <rosk...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »