Course Syllabus:
- Principles of Functional Languages
- Computer Science 2322
- 12:30-1:20 Halsell 228
Instructor:
Office:
Fall 2010 Office Hours:
- MWF 8:30am-9:30am
- MWF 10:30am-12:30pm
- MWF 2:30-3:30pm
- Others by appointment
Fall Meeting Hours and Room:
- 1320-1: 9:30-10:20 MWF, Halsell 340,
- 2322-1: 12:30-1:20 MWF, Halsell 228,
- 1320-2: 1:30-2:20 MWF, Halsell 340
Course
- This course is an introduction to functional languages and functional programming.
Course topics include functional computation, recursion and iteration, procedural and data
abstraction, managing state, streams, delayed evaluation and continuations. We will also
study using functional languages as an analytic notation for reasoning about the programming
process. Prerequisite: none. May be taken concurrently with CSCI 1320, 1321.
Computer Languages Studied
Course Goals and Objectives:
- Learning problem solving methodology
- Learning functional language programming
- Applying functional programming techniques to problem solving
- Learning functional abstraction
- Learning procedural abstraction
- Modeling
Laboratory problems:
- Several homework laboratory problems will be
required for successful completion of this class including a significant
final project, which will be discussed and assigned in class. Problems
will be coded in a suitable functional programming language on the departmental
UNIX(LINUX) network. These problems are to be completed on an individual
basis. Solutions turned in for grading must represent your own individual
effort. Each problem submission must include a printed listing of the
programs as well as documentation for the programs submitted. Detailed
requirements for problem submission will be given in class. Each
laboratory problem will have a due date. Homework is due at the beginning
of the period on the day assigned. Late work will not be accepted.
Grades:
- The grades in this class will be determined by the results of three major
examinations, given at approximately equal intervals in the semester, by the
results of several laboratory assignments, and by the results of periodic
quizzes. Each of the three examinations will be approximately equally
weighted, including the final, which will be given during the final
examination week, and will serve as the third examination. Each examination is
comprehensive, emphasizing the most recent material, but covering the entire
semester. Each of the laboratory assignments will be worth a variable number
of points, depending on difficulty. Averages will be calculated as a simple
percentage, points earned divided by points possible.
- Letter grades will be assigned according to the following scale:
- 90-100 -- A
- 80-89 -- B
- 70-79 -- C
- 60-69 -- D
- Plus and minus grades assigned in marginal cases. I advise you to keep
a track of your scores so you know where you stand in the class at any time.
Examination Dates:
Examination 1:
September 29, 2010
Examination 2:
November 3, 2010
Reading Days:
December 8, 9, 2010
Final Examinations
- CSCI 1320-1 December 15, 2010, 12:00pm
- CSCI 1320-2 December 11, 2010, 8:30am
- CSCI 2322-1 December 10, 2010, 12:00pm
Important Dates:
Click Here for Important Dates
Fall Schedule Narrative from the Office of the Registrar
Fall Schedule Narrative including Final Exam Schedule
Fall 2010 Schedule of Events
Fall 2010 Schedule of Events
All students are covered by the Trinity University Honor Code that prohibits
dishonesty in academic work.
The Code asserts that the academic community is based on honesty and trust,
and defines specific violations as well as the procedure to determine if a
violation has occurred. The Code also covers the process of hearings for
alleged violations and the various sanctions applied for specific violations.
The Code also provides for an appeal process.
The Code is implemented by the Academic Honor Council. Under the Code, a faculty
member will (or a student may) report an alleged violation to the Academic Honor
Council. It is the task of the Council to collect the pertinent evidence, adjudicate,
and assign a sanction within certain guidelines if a violation has been verified.
Students who are under the Honor Code are required to pledge all written work that
is submitted for a grade: "On my honor, I have neither given nor received any
unauthorized assistance on this work" and their signature. The pledge may be
abbreviated "pledged" with a signature.
The specifics of the Honor Code, its underlying philosophy, and the norms for
sanctioning can all be found on the Academic Honor Council website, accessed
through the Trinity Homepage.
Some Notes of Importance:
- 1. Regular class attendance is required. Role will be taken and attendance is
considered mandatory.
One point will be awarded for each class attendance and one point will be deducted
for each unexcused absence. These points will be included in the calculation of
your final averages as described above in the section on "grading."
Excessive absences will be reported to you and to appropriate university
officials and may cause you to be withdrawn from the class. Excused absences
require a note from the appropriate university offical or from appropriate
medical personnel.
- 2. Discussion of the homework assignments between students is encouraged, but when it comes
time for the final submission, make sure it is your own work. You are cheating yourself
if you get the program from some source other than creating your own. Homework assignments
that are identical beyond coincidence are in violation of the Academic Integrity policy
of the University and will result in disciplinary action, including, but not limited
to a failing grade on that assignment for all parties involved. You are responsible for
the security of your work, both electronic and hard copy.
- 3. Homework will be due at the beginning of the class period on the day assigned. LATE WORK
WILL NOT BE ACCEPTED. Make sure you resolve problems with printing, workstations,
communication, etc. IN ADVANCE so your work may be submitted in a timely manner.
Homework will NOT BE ACCEPTED FOR CREDIT if submitted late. Those of you who submit
work late penalize the conscientious students who turn in their work on time.
- 4. The only exceptions to these policies are for University sanctioned activities or
illness and require a note from your supervising professor (coach) or doctor. If you
have unusual circumstances (as we all sometimes do) please discuss these with your
instructor in advance.
References
- http://www.scheme.com/tspl3/
- http://book.realworldhaskell.org/
- http://www.smlnj.org/
- http://www.polyml.org/
- Manis and Little, The Schematics of Computation Prentice Hall, 1995
- Smith, An Introduction to Scheme Prentice Hall, 1988
- Harvey and Wright, Simply Scheme, Introducing Computer Science MIT Press, 1994
- Friedman, Wand and Haynes, Essentials of Programming Languages McGraw Hill, 1992
- Sedgewick, Algorithms in C, Addison Wesley, 1990
- Scheme and the Art of Programming by Springer and Friedman, McGraw Hill,
Ninth Printing 1997
- Structure and Interpretation of Computer Programs by Abelson and Sussman, McGraw Hill, 1996