Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

General Information

 

Lectures
Tuesdays and Thursdays 2:30PM-3:45PM
Grading
Coursework will consist of a series of weekly programming assignments in Scala
Office HoursDr. Eric Allen: Tuesdays 4PM-5PM DH 2161
SyllabusCourse Syllabus 
Homework SubmissionsSubmission Guide
Textbooks
There is no required textbook, but we will draw material from a variety of sources, including:

 

Lecture Schedule (Subject to Change Without Notice)

Week

Day

Date

Topic

SlidesWork AssignedWork Due

1

Tues

Aug 25

Overview and Motivation

   
 ThursAug 27Course Tools and Setup   

2

Tues

Sep 1

Introduction to Scala

   

 

Thurs

Sep 3

Programming with Intention

 Hwk 0 

3

Tues

Sep 8

Test-Driven Development

   
 ThursSep 10

Defining and Using Functions and Recursion

 Hwk 1Hwk 0

4

Tues

Sep 15

Referential Transparency and the Substitution Model

   

 

Thurs

Sep 17

Tail Recursion

 Hwk 2Hwk 1

5

Tues

Sep 22

Lists and Functional Data Structures

   

 

Thurs

Sep 24

Types, Type Systems, and Polymorphic Functions

 Hwk 3Hwk 2

6

Tues

Sep 29

Programming with Options and Pattern Matching

   

 

Thurs

Oct 1

Map, Reduce, and Higher Order Functions

 Hwk 4Hwk 3

7

Tues

Oct 6

Comprehensions and flatMap

   

 

Thurs

Oct 8

Programs as Proofs and the Curry-Howard Isomorphism

   

8

Tues

Oct 13

MIDTERM RECESS

   

 

Thurs

Oct 15

Contracts and Data Integrity

 Hwk 5Hwk 4

9

Tues

Oct 20

Functional Leftist Heaps and Binomial Heaps

   

 

Thurs

Oct 22

Functional Red-Black Trees

 Hwk 6Hwk 5

10

Tues

Oct 27

Strictness and Lazy Evaluation

   

 

Thurs

Oct 29

Stream Processing and Incremental I/O

 Hwk 7Hwk 6

11

Tues

Nov 3

Closures, Effects, and the Environment Model

   

 

Thurs

Nov 5

Programming with Continuations

 Hwk 8Hwk 7

12

Tues

Nov 10

Domain-Specific Languages with Higher Order Functions

   

 

Thurs

Nov 12

Parallelism and Functional Programming

 Hwk 9Hwk 8

13

Tues

Nov 17

Big Data and Distributed Computing with Apache Spark

   

 

Thurs

Nov 19

DataFrames and Spark SQL

 Hwk 10Hwk 9
14TuesNov 24Guest Lecture (TBA)   

 

Thurs

Nov 26

THANKSGIVING

   

15

Tues

Dec 1

Pipelines and SparkML (Machine Learning)

   
 ThursDec 3Course Wrap Up  Hwk 10

...