Changes

Jump to navigation Jump to search
added concrete dates to the timeline
Line 48: Line 48:  
''The Summer of Code work period is June 17 - September 23; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (August 2); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.''
 
''The Summer of Code work period is June 17 - September 23; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (August 2); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.''
   −
* June 17 – June 30 (2 weeks): Determine what code needs to be shared by Turtle Blocks and the exported code. Restructure the modules to isolate this part, so it can easily be imported. This only covers the modules that are necessary to run blocks from the 'Turtle', 'Pen', and 'Pen colors' palettes. The other modules will be dealt with when the corresponding blocks are implemented.
+
* June 17 – June 30 (2 weeks): Determine what code needs to be shared by Turtle Blocks and the exported code. Restructure the modules to isolate this part, so it can easily be imported. Only cover the modules that are necessary to run blocks from the 'Turtle', 'Pen', and 'Pen colors' palettes. Deal with the other modules when implementing the corresponding blocks.
* July 1 – July 21 (3 weeks): Implement the first transformations from blocks to Python code. This will only cover the following blocks from the 'Turtle' palette: 'forward', 'back', 'left', and 'right'. Make sure the exported code imports the correct modules from Turtle Blocks and can be run on the command line (or in Pippy). Keep the implementation modular, so more blocks can be added easily.
+
* July 1 – July 21 (3 weeks): Implement the first transformations from blocks to Python code. Only cover the following blocks from the 'Turtle' palette: 'forward', 'back', 'left', and 'right'. Make sure the exported code imports the correct modules from Turtle Blocks and can be run on the command line (or in Pippy). Keep the implementation modular, so more blocks can be added easily.
* July 22 – July 28 (1 week): Rest of the 'Turtle' palette, and complete 'Pen' and 'Pen colors' palettes. These should be similar enough to the first four blocks that they can be implemented quickly.
+
* July 22 – July 28 (1 week): Implement transformations of the rest of the 'Turtle' palette, and the complete 'Pen' and 'Pen colors' palettes. (These should be similar enough to the first four blocks that they can be implemented quickly.)
 
* July 29 – August 2: Midterm evaluation: Block programs can be exported to Python code that can be run outside of Turtle Blocks. The export functionality is limited to blocks from the 'Turtle', 'Pen', and 'Pen colors' palette, but it can easily be extended to cover the other blocks.
 
* July 29 – August 2: Midterm evaluation: Block programs can be exported to Python code that can be run outside of Turtle Blocks. The export functionality is limited to blocks from the 'Turtle', 'Pen', and 'Pen colors' palette, but it can easily be extended to cover the other blocks.
 
* August 3 – September 15 (6 weeks): Implement transformations of all other blocks to Python code:
 
* August 3 – September 15 (6 weeks): Implement transformations of all other blocks to Python code:
** Numeric operations from the 'Numeric operators' palette and screen dimensions from the 'Presentation templates' palette
+
** August 3 – August 11 (1 week)
** Boolean operations from the 'Numeric operators' palette and conditionals from the 'Flow operators' palette
+
*** Numeric operations from the 'Numeric operators' palette and screen dimensions from the 'Presentation templates' palette<ref name="requires-add-imports" group="note" />
** Variables and functions from the 'Action stacks' palette
+
*** Boolean operations from the 'Numeric operators' palette and conditionals from the 'Flow operators' palette
** Loops from the 'Flow operators' palette
+
** August 12 – August 18 (1 week)
** Heaps from the 'Extra options' palette
+
*** Variables from the 'Action stacks' palette and heaps from the 'Extra options' palette
** Runtime control (e.g., exit, suspension) from the 'Flow operators' palette
+
*** Loops from the 'Flow operators' palette and functions from the 'Action stacks' palette
** External functions (chr, int, mathematical function, tamyblock.py) from the 'Extra options' palette
+
** August 19 – August 25 (1 week)
** Comments from the 'Extra options' palette: This is especially difficult because Python's <code>ast</code> module does not support comments natively.
+
*** Runtime control (e.g., exit, suspension) from the 'Flow operators' palette
** Events and user input from the 'Sensors' palette
+
*** External functions (chr, int, mathematical function, tamyblock.py) from the 'Extra options' palette<ref name="requires-add-imports" group="note" />
** Sounds and sprites from the 'Media' palette and presentation templates from the 'Presentation templates' palette
+
** August 26 – September 1 (1 week)
** Multiple turtles and custom turtle shells from the 'Extra options' palette
+
*** Comments from the 'Extra options' palette: This is especially difficult because Python's <code>ast</code> module does not support comments natively.
** Display management (hide/ show blocks, toggle full screen) from the 'Presentation templates' palette, and printing and loading blocks and palettes from the 'Extra options' palette: These are very specific to Turtle Blocks. We need further discussion how this should look in the output of the exported Python code.
+
** September 2 – September 8 (1 week)
 +
*** Events and user input from the 'Sensors' palette<ref name="requires-add-imports" group="note" />
 +
*** Sounds and sprites from the 'Media' palette and presentation templates from the 'Presentation templates' palette<ref name="requires-add-imports" group="note" />
 +
** September 9 – September 15 (1 week)
 +
*** Multiple turtles and custom turtle shells from the 'Extra options' palette<ref name="requires-add-imports" group="note" />
 +
*** Display management (hide/ show blocks, toggle full screen) from the 'Presentation templates' palette, and printing and loading blocks and palettes from the 'Extra options' palette:<ref name="requires-add-imports" group="note" /> These are very specific to Turtle Blocks. We need further discussion how this should look in the output of the exported Python code.<!-- TODO report results of discussion -->
 +
* September 16 – September 23 (1 week): Test exporting different kinds of blocks in combination. Fix the last bugs. Clean up.
 +
 
 +
'''Notes'''
 +
<references group="note">
 +
<ref name="requires-add-imports">This may require importing additional modules from Turtle Blocks.</ref>
 +
</references>
    
=== My Backround ===
 
=== My Backround ===
51

edits

Navigation menu