Did a fast review of the Chapel lesson and implemented my suggestions from earlier plus a few extra comments:
Broke apart the three giant lessons into a set of smaller episodes.
I fleshed out episodes 1-4 (intro to chapel, basic syntax, ranges/arrays, conditional statements):
There are now a lot more interactive examples. Topics are introduced as a small example, and only once we've covered it in depth do we move on to the simulation code.
The simulation has been simplified, with far less writeln() and extra variables to make it easier to follow along/figure out what's going on.
Some episode-specific changes
1 - Intro to Chapel - Added a "Hello World" example.
2 - Basic syntax - Added a demo of the basic operators. Introduce comments. Demonstrate var and const by example. Go through how to read and debug a compiler error.
3 - Ranges/Arrays - Demonstrate an example range and array. Cover indexing elements. Demonstrate that indexes in Chapel are arbitrary.
4 - Conditional statements - Demonstrate the basic conditional operators and true/false. Demonstrate && and ||. Heavily simplify simulation code.
What still needs to be done
Remaining lessons in the intro to chapel sections need to be made more beginner friendly. As it stands, there is very little interactive instruction and no examples aside from seeing something in a "complex" script (for first-timers) that gets written for them.
How to write a function (add after loops lesson maybe?)
Compiling mulitple source files into a program, using functions and values from one file in another, etc. (after the functions lesson?)
A quick pass should be made through the parallel lessons to simplify the simulation as much as possible. The actual content is very good here.
Add keypoints for all lessons.
Add instructor notes (key things to keep in mind) / setup (how to install Chapel on user's computers)/discussion (why are we teaching Chapel), maybe add the Chapel Quick Reference to the reference.
To review these changes locally
git fetch origin jeff
git checkout jeff
jekyll serve
If things look good, accept the pull request, and they will be auto-merged into the website.
Did a fast review of the Chapel lesson and implemented my suggestions from earlier plus a few extra comments:
I fleshed out episodes 1-4 (intro to chapel, basic syntax, ranges/arrays, conditional statements):
writeln()
and extra variables to make it easier to follow along/figure out what's going on.Some episode-specific changes
var
andconst
by example. Go through how to read and debug a compiler error.&&
and||
. Heavily simplify simulation code.What still needs to be done
To review these changes locally
If things look good, accept the pull request, and they will be auto-merged into the website.