Scala Course: Schedule

This schedule will be updated and filled in as we go along...

You can pull (or download) the slides from Bitbucket.

WeekMondays (always room 0.02)FridaysRoom on Fridays
October 17-21      
October 24-28
  • Lecture: Overview of the course and introduction to Scala    
  • Set up your environments
  • Intro exercise 1: File statistics
  • Lecture: Functions and lists
  • Room 0.02
    Oct. 31 - Nov. 4
  • Lecture: Functions and lists (continued)
  • List exercise 1: Palindromes
  • List exercise 2: Anagrams
  • List exercise 3: File statistics (with lists)
  • List exercise 4: Compound splitter
  • Room 0.02
    November 7-11
  • Lecture: Scala's collections
  • Collections exercise 1: Levenshtein
  • Collections exercise 2: POS lists
  • Collections exercise 3: Named entities
  • Collections exercise 4: Trigrams
  • Room 1.13
    November 14-18
  • Lecture: Pattern matching
  • Pattern matching exercise 1: Program arguments
  • Pattern matching exercise 2: Triple tree
  • Lecture: Data structures (basics, case classes, etc.)
  • Data structures exercise: Sentence index
  • Room 1.13
    November 21-25
  • Lecture: Data structures (variance + inheritance)
  • Data structures exercise: Parser
  • Preparation for the graded exercise
  • Room 1.13
    Nov. 28 - Dec. 2 Nov 28, 16-18h
  • Graded assignment
    (Attendance required)
  • Discussion of the graded exercise
    (sample solution)
  • Lecture: Recursion (basics)
  • Recursion exercise 1: Reverse lists recursively
  • Room 0.02
    December 5-9
  • Recursion exercise 2: Trie Dictionary
  • Lecture: Tail recursion
  • Tail recursion exercises
  • Room 1.13
    December 12-16
  • Lecture: Higher-order functional programming
  • December 16
  • 'Retake' graded assignment
    (Attendance required for those who need to submit)
  • Room 1.13
    December 19-23     December 19
  • Team project plan presentations
    (Attendance required)

    Project suggestions
  • Team project work
  • Room 0.02
    Dec. 26 - Jan. 6 Semester break
    January 9-13
  • Lecture: Concurrency
  • Concurrency exercise 1: Location Finder (parallel)
  • Concurrency exercise 2: Location Finder (Spark)
  • Room 0.02
    January 16-20
  • Team project work
  • Team project work
  • Room 0.02
    January 23-27
  • Team project work
  • Team project work
  • Room 0.02
    Jan. 30 - Feb. 3 January 30
  • Team projects due -- Demos
    (Attendance required)
  • Review for the final exam (open questions session) Room 0.02
    February 6-10 February 6, 16-18
  • Final exam
  •   Room 0.02