Closed bjornregnell closed 2 years ago
I think the introduction of API's would be interesting. In EITF65 Digitalteknik we got to create our own processor which we then got to use ourself to build a program. That exact task is a bit outside of the scope of this course but I think that creating your own API and reusing it can be an illuminating task :)
One idea would be to let the students implement some of the functionality in introprog such as line(), fill() etc. which they can use later in their graphical components. Might be too early to do this in labs BM and BB but it could perhaps be done leading up to lab Snake. Another candidate for API's could perhaps be in the Bank project with some sort of database.
On the topic of testing I think that lab Life would be a good candidate for letting the students develop their own tests, as many students seem to get intricate bugs with rows/cols etc.
closing this old issue as we are post migration and most of it was implemented
I'd like in this issue thread discuss the general plans for adapting the progression to Scala 3. You can read more about Scala 3 here: http://dotty.epfl.ch/docs/index.html
Before: the (soon old) Scala 2 version of this course
After: the Scala 3 version of this course
Potential great benefits to beginners:
@main
(huvudprogramsfunktioner) --> w02 programsSome ideas to investigate:
using
andgiven
A tenative new progression
A tentative Scala 3 progression is available here:
New stuff in Scala 3 that is probably not in scope, but some might perhaps be mentioned
Type lambdas
Match types
Dependent Function Types
Metaprogramming
Multiversial equality
Super Traits
Numeric Literals
Structural Types
Wildcard Types
Implicit Conversions
Discussion below is welcome!