Proposal by Gastón Charkiewicz for Web based environment for OOP Learning

Proposed by Gastón Charkiewicz (profile, biography)

How will I do that project

The architecture I propose is composed of two main tools: Pharo as the Smalltalk Distribution, and Seaside as the web framework. If necessary, I will use Amber as optional tool to solve specific problems in later stages.

The idea is to provide an environment composed of lessons. There are different lessons, and there is the possibility to add new ones. To provide and example, the first lesson will be an environment to learn Object Oriented Programming/Paradigm basics, were the didactical approach is done with a robot that behaves like the classical logo.

I'm going to start by getting the first lesson to work (a visual application where the user can interact with the robot). Then I will focus on the student/professor relationships, creating the environment where they can interact with their respective views. Later I will make both perspectives to work together so the application's purpose is going to be established. Finally i will join all this modules together and develop the another lessons. These lessons are going to be defined trough the development process.


What methodologies will I use

Any agile methodology with iterations, using refactoring operations to improve the learning process and with retrospectives with the mentor.


Suggested timeline and milestones

1 week to start to get Seaside expertise.

1 week to get a tentative application skeleton and module structure.

Then 3 periods with refactorings (if corresponds), design and coding:

- 1 period: Develop the first lesson (3 weeks)

- 2 period: Develop the student and professor views (3 weeks)

- 3 period: Integration (2 weeks)

2 weeks to define more lessons.


Where I see the risks

The main risk could be to define a proper modularization at first, so the integration can be done without problems.

I must design the lessons so I can reuse their components.

In case of Javascript programming in later stages, I will need to learn how to use Amber (the impact of this is taken up in the suggested timeline).

I need to have a good battery of lessons.

I need to have a sufficient decoupled modularization so adding a new lesson must be trivial.


How the results will look like

A powerful tool for newcomer students to Smalltalk, focusing in the student-teacher relationship.

Teachers will get a tool to empower the learning process of their students and where the relation between them is going the be the priority.

Students will arrive to an environment where his learning process is followed by his/her teachers. They are not going to be tied to schedules, because they can interact with the environment remotely when they want.

Object-Oriented Programming/Paradigm lectures will get a different tool to empower learning, and with a different focus compared with actual tools.

Updated: 1.5.2013