Skip to content

Conversation

@shishkin
Copy link
Contributor

@shishkin shishkin commented Aug 6, 2017

Working on #4. Please give feedback.

The intention here is to give a walkthrough through this tutorial with some explanation and slides first and then let the participants repeat this tutorial on their own, so that they can learn by doing.

@shishkin shishkin requested a review from hhandoko August 23, 2017 15:03
@shishkin
Copy link
Contributor Author

Folks, I think I'm done with this one. Please give feedback.

@hhandoko
Copy link
Member

hhandoko commented Aug 29, 2017

Overall I think it's a very good example for a quick intro to Scala, we are able to cover various topics in the one code example. While I have some suggestions, rather than making further changes to this PR, I think it's better to accept and merge this and raise another PR:

  1. I think the syntax and keyword breakdown / explanation can be expanded, adding a bit more explanation (e.g. comparing it to Java or other langs) can make it more relevant.
  2. The jump to Decomplecting Function code from the preceding section seems too far. Perhaps we need to add some intermediary step(s) to make it easier for beginners.
  3. I would also add a section in the beginning (or as we go along) on the Scala syntax styles, as the flexibility (e.g. { ... } vs ( ... ), parameter groups, and infix-style) can be confusing.

Thoughts?

Copy link
Member

@hhandoko hhandoko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM to merge, I have some suggestions which may be better to be added in a follow-up PR (see previous comment).

@damien-neveu
Copy link

damien-neveu commented Aug 30, 2017

Great intro indeed, the travel from imperative to functional is very well explained.
@hhandoko I agree with your point 3, but less with the first 2 : although this intro is great, I feel it's already heavy on text and needs lengthy/focused reading. Any more explanation may make it harder to digest ? I'm assuming it'll be a presentation with a few of us in the room to answer more detailed questions.
@shishkin I have no problem with the content but I'm curious about the format : you say the intent is to give a walkthrough through this tutorial with some explanation and slides first and then let the participants repeat this tutorial on their own. But is it meant for them to repeat during the workshop or after it, at their own convenience ?
Shall the next part be to create slides based on this intro ? Each slide could show a newly implemented function and have notes about the scala syntax. The "travel" explanation could be the verbal presentation.

Then we need to decide what the following modules will be about : how about independent modules about different aspects of the language (e.g. Arrays, Maps and Tuples, Collections, Classes, Pattern Matching with Case Classes...etc). Each module could be an independent presentation with a code-base/test-suite. Or each module could build onto the previous one to complete a bigger project, say a REST API ?

@shishkin
Copy link
Contributor Author

Thanks @hhandoko and @damien-neveu!

I agree on follow up PRs. So I'll merge this one and we can proceed from there.

The weight of the text is a hard balance to strike. My intention was to provide more explanation while presenting, so yes, the next step would be to prepare the slides. I also intended the participants to self-study the tutorial under mentors' guidance onsite so that they can internalize the material at their own pace.

@shishkin shishkin merged commit afe1bcf into master Aug 30, 2017
@shishkin shishkin deleted the intro branch August 30, 2017 13:43
@shishkin
Copy link
Contributor Author

On additional Scala syntax, what do you think if we provide a separate cheatsheet or a link to one to keep the tutorial shorter?

@shishkin shishkin mentioned this pull request Aug 30, 2017
@shishkin
Copy link
Contributor Author

I've created a separate issue #6 to dicuss additional modules.

@hhandoko
Copy link
Member

hhandoko commented Aug 31, 2017

@damien-neveu those are good points... I think what we can do instead is expand the objectives with specific details in point form (such as 'concepts to learn'), and / or add some instructors' guide markdown comments (which can be used for the slides as well).

Once we have written some other modules or a cheatsheet, we can simply link them to make it easy to navigate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants