Evaluation
One can tell that the subject matter was Academic, with a firm grounding in Mathematics, which appealed to me.The assignments provided a lot of information on what is expected, so there are no surprises, but you do need to read carefully.
The one assigment that provided the most difficulty was assignment 6, regarding the discovery of Anagrams of a sentence.
I had to wrestle a bit with the Scala syntax. It's new for me.
I especially found foldLeft and foldRight counter-intuitive sometimes.
I learned a lot on the following topics, in no specific ordering.
- Scala Programming Language
- by the creator, Martin Odersky, himself.
- Functional Programming
- one of the main subjects of the course
- Domain Specific Language
- Scala provides several ways to program according to a domain model2, instead of a technical/software model
- Mathematics - Set Theory
- the code is very close to the mathematical theory. Purposefully crafted that way, of course. It means we can actually use mathematical operators (some of the time).
- Behaviour Driven Development
- you can write tests that read more naturally
- Test Driven Development
- assignments had to pass certain tests (that are unknown), so your own tests had better be complete/sufficient
- Recursion
- we used a lot of recursion, you do not see that in "normal" programming languages.
References
- [1] Coursera - Functional Programming Principles in Scala, by Martin Odersky
- https://class.coursera.org/progfun-004
- [2] Wikipedia - Domain Model
- http://en.wikipedia.org/wiki/Domain_model
No comments:
Post a Comment