Comp Sci / Sfwr Eng 3FP3, Term 2 2019/20
Term 2: Tuesday, Thursday, Friday 11:30-12:20, ABB 164
Friday 3:30-4:30, BSB 119
Dr. J. Carette, ITB-168 , ext 26869, email: carette@mcmaster.ca.
I can be reached most easily via the class Discord (see Avenue for details), email, or right after class. Please make an appointment to see me if you have specific questions.
Nhan Thai (thain1) and Habib Ghaffari-Hadigheh (ghaffh1)
The calendar description says: Functional programming; lists and algebraic data types, pattern matching, parametric polymorphism, higher-order functions, reasoning about programs; lazy and strict evaluation; programming with monads; domain-specific languages.
textbookThe Craft of Functional Programming by Simon Thompson. The course content will generally follow the textbook. There will be few ``lectures'' per se; most classes will consist of either live coding or in-class exercises.
Note that not all objectives will be measured for marks.
Some of the graduate attributes below will be measured (probably most), in some fashion. These are measurements for the purposes of understanding your overall state in terms of the attributes which the CEAB deems important for engineers (and will be done whether you are in CS or SE). Some will be measured through assignments, presentations and deliverables (and worth marks), while others will be done via other means not directly tied to course marks.
Section to be completed.
The latest version of this outline and the most "up-to date" information as well as hand-outs can be found on the course web page. http://www.cas.mcmaster.ca/~carette/CS3FP3/W2020/index.html. (Or go to my home page and then to the course page). Avenue will be used for handing in assignments. Either Discord or Slack will be used for further coordination (TBD).
The assignments will be worth 50%, two midterms (each 15%) and a final worth 20%. More specifically, there will be 5 assignments, each worth 10%. The final exam covers the whole course.
As usual, there will be (significant) bonus parts on the assignments.
Marking schemes will be strict: code that does not compile will be worth very few marks (if any). You will be better off submiting a partial implementation that compiles that one that is 'almost done' but doesn't typecheck.
Each assignment will have a rubric with more details on how it will be graded. If grades need to be adjusted, most commonly the denominator will be reduced, i.e. some questions will be made 'bonus'.
MSAF on assignments will always be a 4 day extension from the original due date regardless of when it is submitted. MSAFs on midterms will be handled on a case-by-case basis. Late assignments are not accepted (without an MSAF).
You are expected to exhibit honesty and use ethical behaviour in all aspects of the learning process. Academic credentials you earn are rooted in principles of honesty and academic integrity.
Academic dishonesty is to knowingly act or fail to act in a way that results or could result in unearned academic credit or advantage. This behaviour can result in serious consequences, e.g. the grade of zero on an assignment, loss of credit with a notation on the transcript (notation reads: Grade of F assigned for academic dishonesty), and/or suspension or expulsion from the university.
It is your responsibility to understand what constitutes academic dishonesty. For information on the various types of academic dishonesty please refer to the Academic Integrity Policy [http://www.mcmaster.ca/academicintegrity].
The following illustrates only three forms of academic dishonesty:
Individual assignments have to be solved by one person only, any outside source, this includes asking other people, or using any books or information found on the web has to be documented. In complience with the senate regulations on academic integrity I remind you that: People who let other people copy are as guilty as the ones who copy. You are allowed to consult outside sources, meaning textbooks or the web, but any use of an outside source must be documented. Similarly, group assignments must be solved by members of that group only, and the above policies apply as well.
In the case the instructor or a TA has the impression that an assignment is copied, the instructor can ask the corresponding students to explain exactly how the assignment was prepared and take appropriate actions.
In this course we will be using some online components. Students should be aware that, when they access the electronic components of this course, private information such as first and last names, user names for McMaster e-mail accounts, and program affiliation may become apparent to all other students in the same course. The available information is dependent on the technology used. Continuation in this course will be deemed consent to this disclosure. If you have any questions or concerns about such disclosure please discuss this with the course instructor.
Students with disabilities who require academic accommodation must contact Student Accessibility Services (SAS) to make arrangements with a Program Coordinator. Student Accessibility Services can be contacted by phone 905-525-9140 ext. 28652 or e-mail sas@mcmaster.ca. For further information, consult McMaster University's Academic Accommodation of Students with Disabilities policy.