• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Teaching Functional Programming @ TCD - 11/2012
 

Teaching Functional Programming @ TCD - 11/2012

on

  • 650 views

Teaching a Scala Module in TCD

Teaching a Scala Module in TCD

Statistics

Views

Total Views
650
Views on SlideShare
650
Embed Views
0

Actions

Likes
2
Downloads
6
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Teaching Functional Programming @ TCD - 11/2012 Teaching Functional Programming @ TCD - 11/2012 Presentation Transcript

    • FP @ TCD Scala Module roland@tritsch.orgglenn.strong@cs.tcd.ie Nov 2012
    • What are we going to do?● Lecture (90 mins) ○ Introduction to Scala● Lab1 - Rewriting Java ○ Josephus problem● Lab2 - Integrating with Java ○ Josephus problem using Apache commons
    • Why are we doing this?● Functional programming is on the rise ○ Immutable data and side-effect free functions make development and maintenance of large, complex SW development projects more manageable● Haskell is a very good way to learn FP ○ Green field, good concepts, clean, ...● Right now in the industry Scala is the language of choice to move teams and larger chunks of source code towards FP ○ Scala allows phased adoption (rewrite, refactor, rethink) ○ Scala integrates well with existing Java code
    • Why are we doing this?
    • Why are we doing this?Source: http://www.indeed.com/jobtrends
    • Tools● Git - Source code management● SBT - Build tool/environment● Scala - Repl, compiler, ...● ScalaTest - TDD, BDD, ...● IDE - Edit, debug, ... (IntelliJ, Eclipse, Emacs)
    • Objectives ● Kickstart you on Scala ... ○ ... so that you can continue on your own (if you want) ● Focus on the language and the dev env ... ○ ... not on FP concepts (you can get these from the rest of the course) ● Work with a minimal, but complete tool suite
    • Resources● Learn - Scala Home Page ○ http://www.scala-lang.org/ ○ Downloads, documentation, books, ... ○ Read Martins book● Learn - Coursera Prog Func 2012 ○ https://class.coursera.org/progfun-2012-001● Play - Scala Puzzles ○ http://scalapuzzles.org● Play - 99 Scala Problems ○ http://aperiodic.net/phil/scala/s-99/
    • Ready?