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.

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

 

...

Grading, Honor Code Policy, Processes and Procedures

Grading will be based on your performance on weekly programming assignments.

In this course, all students will be held to the standards of the Rice Honor Code, a code that you pledged to honor when you matriculated at this institution. If you are unfamiliar with the details of this code and how it is administered, you should consult the Honor System Handbook at http://honor.rice.edu/honor-system-handbook/. This handbook outlines the University's expectations for the integrity of your academic work, the procedures for resolving alleged violations of those expectations, and the rights and responsibilities of students and faculty members throughout the process.

Homework Submissions: All submitted homework submissions and presentations are expected to be the result of your team’s effort. All essays are expected to be the result of your individual effort. You are free to discuss course material and approaches to problems with your other classmates, the teaching assistants and the professor, but you should never misrepresent someone else’s work as your own. If you use any material from external sources, you must provide proper attribution. 

Accommodations for Students with Special Needs

...