Effective Functional Programming

COMP 4600/5300 - 205


  • Exercises: 65%
  • Final Project: 35%



This is a hands-on course, and the majority of your grade will be determined by small regularly-assigned projects, which mostly involve writing some code. These assignments will take more than one day to complete. That is why most assignments are given well in advance of their due date (usually two weeks). I STRONGLY recommend that you begin working on an assignment the first week it is made available, once you finish with the previous one. If you wait until the due date before beginning work on an assignment, you will struggle to complete it in time. Planning ahead can save you a lot of heartache in this course. If you are frequently having trouble with staying on top of the assignment deadlines, then please contact the professor as soon as possible to work on a solution before it becomes a problem.

There is ample opportunity to collect extra credit points throughout the course by completing bonus exercises given out in the regular assignments. If you complete a bonus exercise and want it to be graded for potential extra credit, be sure to list which bonus exercises you have completed in your submission, otherwise they may not be graded. To list the bonus exercises included in your submission, include a file named extracredit (such as extracredit.md or extracredit.txt) which names the bonus sections and/or bonus exercises you completed.

Assignments will be turned in online, via Blackboard. If there are multiple files to turn in (such as a directory of code files), turn in a single archive that includes all the files you wish to turn in. If there is a written portion to the assignment, then turn in your writing in a portable document file format (e.g. pdf, txt, markdown). Microsoft Word and other similar word processor formats should be converted to a portable format for turning in. Homework in an inappropriate format (in particular, if you turn in code as a non-executable file, such as a PDF) will not be graded.


For the sake of fairness among all students, and to accommodate unexpected emergencies that might keep you from finishing your homework on time, you will start with an initial pool of 10 FREE MISSED DEADLINE DAYS. Every time you want turn in an assignment n days late, you can use n days from your pool of free missed deadline days, and it will be graded without penalty no-questions-asked. Otherwise, if you do not have enough days to make up for a missed deadline, your late assignment will not be accepted, and the grade will be 0.

In very exceptional circumstances, additional extensions to due dates may be granted at the discretion of the instructor if a student has unusual circumstances (such as long-term health issues) that would reasonably interfere with the on-time completion of several assignments throughout the course of the semester. To ensure that all students can be fairly accommodated, these exceptional extensions must be requested well in advance of the due date in question, as soon as possible. Ordinary illness, short-term personal emergencies, or other school or work obligations (especially on the day of the due date) do not count as exceptional circumstances, and are covered by your free missed deadline days. So be sure to budget your free missed deadline days wisely to help you in these situations.


Students are required to attend class regularly, as regular attendance is one of the most important contributors to student success. However, students may occasionally need to miss class due to illness, emergency, or caring for a sick family member. In such cases, you are responsible for notifying me of your absences and working with me to arrange to make up any missed work.

A note on Zoom Participation: Classroom lectures will be recorded, and available for (re)viewing afterward. Occasionally, certain lectures may be moved online instead of the regular in-person meeting. These special online lectures will be announced by email in advance. Because I believe that the class will be more engaging if we can see one another, I strongly recommend that students keep their cameras on during a virtual class unless you have a valid reason not to, which you should discuss with me ahead of time.

With that being said, this is an in-person class, where the professor and students meet together in the same physical location, and the online videos serve as only a backup method for special circumstances and studying purposes. In the event that no students are present physically in the classroom at the scheduled time and place, and no special arrangements have been made in advance, then the professor may consider that the lecture has zero attendance and elect to skip lecturing in an empty room. If you are able to attend a lecture in-person, it is in your best interest to do so, both for the significantly improved learning experience as well as ensuring that the class has non-zero attendance.

Student Mental Health and Wellbeing

We are a campus that cares about the mental health and well-being of all individuals in our campus community. Your personal health and well-being can impact your success in this course. Students sometimes experience mental health concerns or stressful experiences that interfere with academics and have a negative impact on everyday life. If you or someone you know are experiencing mental health challenges at UMass Lowell, please contact Counseling Services. Their services are free and confidential, and same day appointments are available.

I am available to talk with you about stresses related to your work in my class. Furthermore, I can assist you in reaching out to any one of a wide range of campus resources, including:

  • Counseling Services provides crisis intervention, assessment, referrals, short-term individual counseling, group therapy, and on-call clinicians outside of business hours. They are located at University Crossing Suite 300 and their 24/7 phone number is 978-934-6800.
  • UMatter2 is a university-wide initiative to support students and promote mental health. The office may be reached at 978-934-6671.
  • Consider also reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

    Rules and Information

    Academic Integrity and Plagiarism

    All students are advised that there is a University policy regarding academic integrity. Students are responsible for the honest completion and representation of their work.

    Students are welcome discuss the exercises with one another. However, each student is responsible for their own work and completing all exercises independently. Copying another students solutions (either by sending files directly or copying down from a screen), or from some other source (e.g. the internet), and turning them in as their own work constitutes plagiarism, and will result in a failing grade. What specific actions constitute plagiarism is left to the discression of the instructor, and will not be fully enumerated here. If in doubt, please ask before doing something that seems fishy.

    That said, there are many instances where using a library found in the standard library or Hackage is permitted or even expected. Realistic software is not an island, and neither are you. In general, if an exercise asks you to write some particular function piece of code, then you should write it yourself. If some details required to implement that code are left unspecified (e.g. sorting a list), then it is okay to use a standard or Hackage library for that part. If there is any doubt about whether or not it is okay to use a library for implementing part of an exercise, please ask.

    Posting answers to homework exercises to any publicly-visible website or location also counts as plagiarism. Future students deserve the chance to fully engage with the homework assignments on their own. If you are found publicly posting any answers to a homework assignment, it will be treated the same as if you provided your answers to another student of this same class.

    Credit Hour Policy

    Federal definition of a credit hour requires that for every course credit awarded, a course must offer 15 hours of instructor-led course activities and 30 hours of out-of-class student work. This means that a standard 3 credit hour course requires 45 hours of instructor-led course activities and 90 hours of out-of-class student work.

    University Privacy Statement

    UMass Lowell recognizes the importance of mutual trust between students and faculty. Massachusetts is a two-party consent state, which means it is illegal to record someone without their permission. Recordings of classroom lectures are the intellectual property of the instructor. Instructors have the right to prohibit audio and video recording of their lectures, unless the requesting student is registered with Disabilities Services and recording of class sessions is an approved accommodation. In addition, sharing or selling recordings of classroom activities, discussions or lectures with any other person or medium without permission of the instructor is prohibited.