CSci 326 Course Syllabus

MW 2:00 pm, WL 136

Prof. Stephen P. Carl
    Office Hours:     WL 133
 
MW 3:30-4:30, T 1:30-3:30
and by appointment
    email:     scarl AT sewanee D0T edu
    phone:     598-1305

Textbooks:

Programming Elixir 1.3  by Dave Thomas (required) Also at B&N, AbeBooks and Safari (eBook)
Erlang Programming: Software for a Concurrent World, 2nd Ed. by Joe Armstrong (recommended/on library reserve)

Course web pagehttp://scarl.sewanee.edu/CS326/

Objectives of the course: the student will understand

  1. the declarative and mathematical nature of functional programming
  2. building programs from function application and data transformation
  3. the role of recursive functions in program design
  4. uses of lists, streams, and other immutable data types
  5. construction of concurrent programs and distributed systems

Grading and Workload:

Programming assignments

40 points

Class labs and exercises 10 points
Paper + class presentation
5+5 points
2 Exams (10 points each)
20 points
Final Exam (Saturday, May 05 at 7:00 pm) 20 points

Attendance is an important factor in doing well in the class. All assignments must be completed, so the student is responsible for making up any work missed due to absence. The Dean's Office will be notified after two unexcused absences.  Class participation includes presenting problem solutions to the class from time to time.

Students are to work independently unless group work is specifically indicated. Each assignment should be turned in at the specified date and time. Occasionally you will be asked to submit assignments electronically the night before class, with a printed copy turned in to the professor the next class meeting. Late assignments are penalized 10% for each day late. Class presentations will be on a topic relating to the application or implementation of functional programming.  These will be scheduled during the last few weeks of class. Topics for consideration and evaluation criteria will be made available later in the semester. All exams will be based on assignments, lecture topics, and readings.

Extra Credit! To support the intellectual life of the university, you may attend at least two lectures/talks outside of the formal classroom experience and submit a 1-2 page summary of the ideas presented, worth 4 points added to your final grade.

The Honor Code applies to all examinations and assignments. Plagiarism is copying or imitating the language and thoughts of others, whatever the medium (computer program or written paper). You are free to discuss ideas for solutions - share in English, not in program code.

ADA Statement

The University of the South is committed to fostering respect for the diversity of the University community and the individual rights of each member of that community. In this spirit, and in accordance with the provisions of Section 504 of the Rehabilitation Act of 1973 and the Americans with Disabilities Act (ADA), the University seeks to provide disabled students with the reasonable accommodations needed to ensure equal access to the programs and activities of the University. If you have a disability and require accommodations in this course, you have the responsibility of presenting your instructor with a copy of your academic accommodations letter from the University Wellness Center (931-598-1325). Accommodations will not be provided without this documentation, and accommodations cannot be applied retroactively. Additional information about disability accommodations can be found at http://www.sewanee.edu/student-life/support/university-wellness-center/.