CS代考 COMP 481 Syllabus PDF

COMP 481 Syllabus PDF

School of Computing
COMP 481: Functional and Logic Programming (3 credits)

Copyright By PowCoder代写 加微信 powcoder

AB1 (CRN: 90440)

FALL 2022 Instructor: Dr Russell Campbell (PhD UVic, MSc UVic, BSc UFV)

COURSE DESCRIPTION:
Most programming languages (e.g. Java, C, C++, Python) are imperative languages, meaning
that programs are written as sequences of instructions that change program state. However,
imperative programming is just one programming paradigm. This course introduces two other
programming paradigms: functional and logic programming. Logic programming is based on
first-order logic, while functional programming is based on the lambda calculus. Students will
learn the basic theoretical foundations as well as how to program in two relevant languages.
The course will also describe the importance of these languages to the field of AI.

CLASS TIMES: from Sep 7 to Dec 7

“Instructional Method—Face to Face Learning (TRD): A course, that is delivered in a classroom,
studio, shop, or lab setting, requiring a student’s presence on a campus. Some online access to
Blackboard Learn (myClass) may be required. Meeting Times:

The dates, days and meeting times of classes will be clearly listed in the schedule of classes.
(UFV Timetable)”

Meeting times: Wednesdays, 11:30 am–2:20 pm, D204, Abbotsford Campus.

OFFICE HOURS: Virtually over Zoom, Tuesdays from 3 pm to 5 pm.

EMAIL: (this is the only message system I will answer)

When messaging me:

• give the course name and section in the subject line (COMP 481, AB1),
• and INCLUDE YOUR FULL NAME
• AND STUDENT NUMBER
• DO NOT SEND ME ATTACHMENTS NOR IMAGE FILES, unless I ask you for them.

Give yourself enough time to allow me to respond, and I typically will reply within 2 days (if it is
a reasonable request).

REQUIRED TEXTS:
• Learn You a Haskell for Great Good!, by – published by No Starch Press,

ISBN-13: 978-1-59327-283-8
• Learn Prolog Now!; by , , Kristina Striegnitz – published

online for free: http://www.let.rug.nl/bos/lpn//

http://www.let.rug.nl/bos/lpn/

YOU WILL ALSO NEED:
• a device with microphone and camera
• UFV Blackboard account access
• AT LEAST 8 hours each week outside of class for studying
• UFV GitLab account access

PREREQUISITE(S):
• COMP 251 with a C or better; MATH 225 recommended.

BLACKBOARD: Announcements, assignments, and lab instructions will be posted on the
UFV Blackboard protected website, available through your myufv account → myClass.

EVALUATION:
• 20% Assignments
• 20% Labs
• 20% Midterm
• 40% Final Exam

Use of another student’s content or your own content from previous coursework will be dealt
with disciplinary action (see section below titled Academic Misconduct).

ASSIGNMENTS: There will be three assignments. The programming languages we will be
working with are Haskell, and Prolog, specifically Stack management of Haskell and SWI-Prolog.
We will also do some scripting using both.

LABS: There will be 6 labs done in class, in two parts:

• first, a bit of practice during the week after lecture
• second, a problem to work on using the techniques from practice

MIDTERM: The midterm will be online through Blackboard (see Final Exam section). The
content of the midterm will be covering your understanding of the Haskell programming
language we will have completed by the date of the midterm on Nov 9.

FINAL EXAM:
• schedule posted midway through the Fall Semester
• scheduled with the final exam timetable so that it does not conflict with your other

• covers all content of the course, including the coding techniques we cover in C
• online through Blackboard
• be able to connect through Zoom
• I will monitor with your camera turned on during the exam
• stay calm if you are disconnected
• get reconnected as soon as you can

• randomized questions
• not enough time for you to communicate with other students taking the exam
• no rescheduling for you without legitimate reason

(not including travel, so do not book any travelling during exam period)

Letter Grades:
Grade FD F D C- C C+ B- B B+ A- A A+

% 0 < 50 50–59 60–62 63–66 67–69 70–72 73–76 77–79 80–84 85–89 90–100 Grade point value 0.0 0.0 1.0 1.67 2.0 2.33 2.67 3.0 3.33 3.67 4.0 4.33 In addition, please note: “CIS and COMP courses used to satisfy degree requirements in years three and four must be completed with a grade of C or higher in order to be counted for credit towards the degree.” “Effective Fall 2019, an FD grade denotes a fail due to academic discipline and is included in the GPA calculation. Rules for assigning an FD grade are found in the Procedures and Regulations document of Policy 70: Student Academic Misconduct. The FD grade is changed to an F on the transcript after a period of 12 months provided the student successfully completes a workshop on Academic Integrity through the Academic Success Centre, and commits no further violations during the 12 month period. Otherwise, the FD remains.” (UFV Grading and Academic Standing) IMPORTANT DATES: (see https://www.ufv.ca/registration/deadlines/) • Sep 7 Classes begin • Sep 21 Fee payment deadline • Sep 30 National Day for Truth and Reconciliation (no classes) • Oct 5 Last day to withdraw without a W appearing on transcript • Oct 5 Last day to obtain audit status • Oct 10 Thanksgiving Day (no classes) • Nov 1 Final day to withdraw from a course • Nov 11 Remembrance Day (no classes) • Dec 7 Last day of classes • Dec 9–20 Examination period (includes Saturdays) ACADEMIC ACCESS: If you have a documented condition that may interfere with either your learning or the evaluation of your learning, you must meet with an advisor from the Centre for Accessibility Services in Abbotsford room B214, or in Chilliwack room A1347 (or call 604-854-4528) to start the process of arranging accommodating services. More information is available online: https://www.ufv.ca/accessibility/ ACADEMIC MISCONDUCT: “This is part of creating a scholarly community characterized by honesty and integrity. [Policy 70] outlines individual and collective responsibilities related to https://www.ufv.ca/registration/deadlines/ https://www.ufv.ca/accessibility/ Academic Integrity and Misconduct... ...`Academic Misconduct, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of Students who pursue their studies honestly.’” “Academic Misconduct includes falsifying, fabricating, forging or in any way modifying an academic document or record used in support of an application, record, petition/appeal, or endeavor.” “Examples include, but are not limited to forging, falsifying, or modifying: • an academic transcript; • a physician’s letter or form; • an answer, mark, or grade on an assignment; • a reference letter; or • a letter of permission.” For more information, see UFV Policy 70 found online: https://www.ufv.ca/media/assets/secretariat/policies/Student-Academic-Misconduct-(70).pdf Videos are available explaining student academic misconduct: http://www.ufv.ca/ai/student-information/academic-integrity-and-misconduct/ As per the new Policy 70 Regulations and Procedures, note that first minor instances of cheating for submitted coursework, or during a quiz, test, or the final exam will be dealt with by me directly, and further instances will undergo investigation by the SoC Department Head. Investigations that lead to disciplinary action will be recorded in UFV’s Student Conduct GENERAL COMMENTS: Haskell and Prolog are both very different from other previous programming languages you have likely learned, as well as very different from each other. Without practice, things will be nearly impossible to cram, so I very much recommend not https://www.ufv.ca/media/assets/secretariat/policies/Student-Academic-Misconduct-(70).pdf http://www.ufv.ca/ai/student-information/academic-integrity-and-misconduct/ Resources: • Stack and Haskell documentations: https://hoogle.haskell.org/ https://hackage.haskell.org/package/CheatSheet-1.8/src/CheatSheet.pdf o Stackage (packages available through Stack) https://www.stackage.org/ • Prolog documentations: o Prolog Reference Manual https://www.swi-prolog.org/download/stable/doc/SWI-Prolog-8.4.2.pdf o List of All Predicates https://www.swi-prolog.org/pldoc/man?section=predsummary https://hoogle.haskell.org/ https://hackage.haskell.org/package/CheatSheet-1.8/src/CheatSheet.pdf https://www.stackage.org/ https://www.swi-prolog.org/download/stable/doc/SWI-Prolog-8.4.2.pdf https://www.swi-prolog.org/pldoc/man?section=predsummary School of Computing COURSE DESCRIPTION: REQUIRED TEXTS: YOU WILL ALSO NEED: PREREQUISITE(S): EVALUATION: FINAL EXAM: Letter Grades: In addition, please note: Resources: 程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com