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

T Th 2:3030PM - 3:4545PM 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.

General Information

 

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

lec36-slides 

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

 

...

Homework 3

hw_3.zip

...

   

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

 

  

...

Homework 5

...

 

14

Tues

Nov 24

 

 

 

...

lec36-slides

...

 

Thurs

Nov 26

 

  

...

 

...

 

15

Tues

Dec 1

 

  

...

 

 
 ThursDec 3

...

    

...

Grading, Honor Code Policy, Processes and Procedures

...

Grading will be based on your performance on five homeworks (weighted 40% in all), two exams (weighted 20% each), weekly lab exercises (weighted 10% in all), and class participation including worksheets, in-class Q&A, Piazza participation, and online quizzes (weighted 10% in all).

The purpose of the homeworks is to train you to solve problems and to help deepen your understanding of concepts introduced in class. Homeworks are due on the dates and times specified in the course schedule. Please turn in all your homeworks using the subversion system set up for the class. Homework is worth full credit when turned in on time. A 10% penalty per day will be levied on late homeworks, up to a maximum of 6 days. No submissions will be accepted more than 6 days after the due date.

...

...

 

...

Accommodations for Students with Special Needs

Students with disabilities are encouraged to contact me during the first two weeks of class regarding any special needs. Students with disabilities should also contact Disabled Student Services in the Ley Student Center and the Rice Disability Support Services.