Versions Compared

Key

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

...

Instructor

Dr. Eric Allen

TAs 

Lectures

Herzstein Hall 210

Lecture times

2:30PM - 3:45PM TR GRB W212

Course Email Online Discussionhttps://piazza.com/class/ibslot8j6un5p6

 

 

Description

This class provides an introduction to concepts, principles, and approaches of functional programming. Functional programming is a style of programming where the key means of computation is the application of functions to arguments (which themselves can be functions). This style of programming has a long history in computer science, beginning with the formulation of the Lambda Calculus as a foundation for mathematics and computer science. It has become increasingly popular in recent years because it offers important advantages in designing, maintaining, and reasoning about programs in many modern contexts such as web services, multicore programming, and cluster computing. Course work consists of a series of programming assignments in the Scala programming language and various extensions.
Course Syllabus 

General Information

 

Lectures
Tuesdays and Thursdays 2:30PM-3:45PM
Grading
Coursework will consist of a series of small 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:

Chiusano and Bjarnason. "Functional Programming in Scala.” Manning Publications Co. August 2014. Available online at http://it-ebooks.info/book/3099/
Coursera: Functional Programming Principles in Scala by Martin Odersky. https://www.coursera.org/course/progfun
edX: FP101x: Introduction to Functional Programming by Erik Meijer. https://www.edx.org/course/introduction-functional-programming-delftx-fp101x#.VR1tZVYk_wI
Okasaki. "Purely Functional Data Structures.” Cambridge University Press. New York, NY. 1999.
The Apache Spark website. https://spark.apache.org

 

Lecture Schedule

...

Week

Day

Date

Topic

SlidesWork AssignedWork Due

1

Tues

Aug 25

 

   
 ThursAug 27    

2

Tues

Sep 1

 

   

 

Thurs

Sep 3

 

   

3

Tues

Sep 8

 

   
 ThursSep 10

 

   

4

Tues

Sep 15

 

   

 

Thurs

Sep 17

 

   

5

Tues

Sep 22

 

   

 

Thurs

Sep 24

 

   

6

Tues

Sep 29

 

   

 

Thurs

Oct 1

 

   

7

Tues

Oct 6

 

   

 

Thurs

Oct 8

 

   

8

Tues

Oct 13

 

   

 

Thurs

Oct 15

 

   

9

Tues

Oct 20

 

   

 

Thurs

Oct 22

 

   

10

Tues

Oct 27

 

   

 

Thurs

Oct 29

 

   

11

Tues

Nov 3

 

   

 

Thurs

Nov 5

 

   

12

Tues

Nov 10

 

   

 

Thurs

Nov 12

 

   

13

Tues

Nov 17

 

   

 

Thurs

Nov 19

 

   

14

Tues

Nov 24

 

 

 

Thurs

Nov 26

 

   

15

Tues

Dec 1

 

   
 ThursDec 3    

...