Memorial University of Newfoundland, Department of Computer Science
Computer Science 1002: Introduction to Logic for Computer Scientists
Fall 2024
| Instructor: | Antonina Kolokolova |
| Office: | ER-6033 |
| Office Hours: | Mon 12-1pm, Fri 1:30-2:30pm (or by appointment) |
| Email: | kol@online.mun.ca (preferred), or alternatively kol@mun.ca with no attachments. |
| Please direct all non-personal questions to the Brightspace discussion board; there is a private forum in discussions where your posts are only visible to the instructor/IAs/TAs, for questions about your answers in quizzes and such. | |
|
For issues requiring email, such as a missed lab or test, make sure your message includes "COMP1002" in the subject line and is sent from a valid Memorial University email account. Note that to send an email to the preferred email of kol@online.mun.ca you have to send it from within Brightspace. |
|
| Please do not send attachments to kol@mun.ca. |
Course Description: COMP 1002 Introduction to Logic for Computer Scientists introduces methods of reasoning and logic tools that underlie computer science. In particular, this course covers propositional and predicate logic, sets and other discrete structures, as well as modular arithmetic and basic counting, with emphasis on their applications in computer science.
Course Prerequisites: None.
Credit Restricted: The former COMP 2742, Electrical and Computer Engineering 4110, The former Engineering 4424, Mathematics 2320. Students cannot receive credit for COMP 1002 if they have previously successfully completed, or are currently registered for, Mathematics 2320.
Reference Materials (optional):
Kenneth H. Rosen, Discrete Mathematics and Its Applications, 8th edition, McGraw-Hill Science, 2019.
Eric Lehman, F Tom Leighton and Albert R Meyer, Mathematics for Computer Scientists (available online).
Learning Goals:
Logic has been called the "calculus of computer science." Just as sciences such as physics that deal with continuous realm rely on calculus techniques, we rely on logic. Indeed, so many areas of our field are based on logic: From designing circuits to determining the complexity of problems, from verifying the correctness of hardware and software to querying databases to automated reasoning in artificial intelligence. In this course, you will learn to
Explain and apply basic notations of propositional and predicate (first-order) logic.
Analyze arguments and construct proofs, including proof by induction and natural deduction.
Compute recursive sequences, understand recursively defined structures, and structural induction.
Do proofs using pigeonhole principle, inclusion-exclusion, combinations, and permutations.
Understand novel definitions and prove properties of the defined objects.
Understand types and properties of binary and n-ary relations.
Construct proofs about sets, relations, and number theory, including divisibility and modular arithmetic.
Verify the correctness of simple procedural programs.
Format: 2.5 lecture hours and 3 lab hours per week.
| Lecture time: | Monday, Wednesday, Friday 11:00 – 11:50am |
| Lecture location: | EN-2006 |
| Lab times: | Section 002 – Monday 2:00 – 4:50pm |
| Section 003 – Thursday 9:00 – 11:50am | |
| Lab locations: | CS-1019 and CS-1009 |
Evaluation: Your final grade in the course will be determined as follows.
| Quizzes (best 7 of 8): | 28% (3% lab and 1% prep quizzes in each lab week) |
| Drills: | 10% |
| Midterm exam 1 (Oct 18): | 15% |
| Midterm exam 2 (Nov 15): | 15% |
| Final exam: | 32% |
| Bonus bug bounty: | +2% maximum (note: you cannot receive more than 100% in this course) |
| IMPORTANT: | You have to pass the exam to pass the course! |
All course information (e.g. announcements, labs, class notes, practice materials, important dates, quizzes, etc.) can be found on the course Brightspace (D2L) shell, https://online.mun.ca/.
In the case of a class disruption or cancellation, and in the case of revisions to evaluation methods, the instructor or the Head of the department will notify all students registered in the course via the course shell in Brightspace. Any necessary revisions to the evaluation methods will be made in consultation with the students registered in this course. If a student demonstrates that they would be disadvantaged by the change, then, as per 6.7.4 of the University Calendar, accommodations will be made.
All evaluated material must be completed individually.
While AI (e.g. ChatGPT) can be a powerful tool for assisting with and verifying answers to practice problems, students are not permitted to use AI for any evaluated material.
The weekly quizzes, midterm exams, and final exam will be conducted in-person. If you are feeling unwell and will be remaining at home, or miss a quiz or a midterm test due to special circumstances such as bereavement, notify your instructor as soon as possible, preferably before, but if not then within 48 hours and explain your circumstances. Your instructor might offer an alternative evaluation, such as an oral assessment or adjusting the weight to the final exam. There will be no make-up tests and no make-up quizzes.
Tentative Class Schedule:
| Week | Dates | Topics | Schedule |
|---|---|---|---|
| 1 | Sept 4 – 6 | Course overview and introduction | No class on Wednesday |
| 2 | Sept 9 – 13 | Intro to the language of logic | |
| 3 | Sept 16 – 20 | Reasoning in propositional logic | |
| 4 | Sept 23 – 27 | Predicate logic | |
| 5 | Sept 30 – Oct 4 | Reasoning in predicate logic, proofs | No class on Monday |
| 6 | Oct 7 – 11 | Proofs, basic structures, relations | |
| 7 | Oct 14 – 18 | Review and test 1 | No class on Monday, test 1 on Friday Oct 18 |
| 8 | Oct 21 – 25 | Induction | |
| 9 | Oct 28 – Nov 1 | Recursive definitions | |
| 10 | Nov 4 – 8 | Structural induction | |
| 11 | Nov 11 – 15 | Review and test 2 | No class on Monday, test 2 on Friday Nov 15 |
| 12 | Nov 18 – 22 | Counting and combinatorics | |
| 13 | Nov 25 – 29 | Algorithm correctness and efficiency | |
| 14 | Dec 2 | Review |
Tentative Lab Schedule:
| Lab | Date – Section 002 | Date – Section 003 | Evaluation |
|---|---|---|---|
| - | Sept 9 | Sept 12 | No lab/quiz Sample prep quiz (not for credit) |
| 1 | Sept 16 | Sept 19 | Quiz 1, Prep quiz 1 |
| 2 | Sept 23 | Sept 26 | Quiz 2, Prep quiz 2 |
| 3 | Oct 2 | Oct 3 | Quiz 3, Prep quiz 3 |
| 4 | Oct 7 | Oct 10 | Quiz 4, Prep quiz 4 |
| - | Oct 14 | Oct 17 | No lab/quiz/prep quiz |
| 5 | Oct 21 | Oct 24 | Quiz 5, Prep quiz 5 |
| 6 | Oct 28 | Oct 31 | Quiz 6, Prep quiz 6 |
| 7 | Nov 4 | Nov 7 | Quiz 7, Prep quiz 7 |
| - | Nov 11 | Nov 14 | No lab/quiz/prep quiz |
| 8 | Nov 18 | Nov 21 | Quiz 8, Prep quiz 8 |
| - | Nov 25 | Nov 28 | No lab/quiz/prep quiz |
While every attempt will be made to keep to the schedules listed above, circumstances may necessitate
modifications throughout the semester.
Special Dates:
There will be no lectures or labs on September 30 (National Day for Truth and Reconciliation observed), October 14-15 (Thanksgiving Day holiday and Midterm Break), and November 11 (Remembrance Day observed).
On October 2, lectures/labs will follow the Monday schedule.
On October 17, lectures/labs will follow the Tuesday schedule; there will be no lab on this day.
On November 15, lectures/labs will follow the Monday schedule.
Please note that the last day to drop a course without academic prejudice, this semester, is Oct 30. You do not need anyone’s permission to drop the course before the last drop date. You can drop the course yourself using Memorial Self-Service. If you have any difficulties with dropping the course at that time then please contact reghelp@mun.ca. Anyone wanting to drop the course after that deadline should contact our undergraduate advisor, at cs-ugradadv@mun.ca, to make the request. Important! Late drops can only be approved in very specific circumstances, as detailed in Regulation 6.5.7.2 here: https://www.mun.ca/university-calendar/university-regulations-undergraduate/6/5/#6.5.7.2.
Evaluation Notes:
Each week’s unit of material has a corresponding lab, and a set of exercises, posted (roughly) weekly, and intended to be completed during the week after the material for that unit is posted. Labs and practice exercises are for practice, and do not have to be submitted. Ability to solve lab and practice exercises will be tested in quizzes and tests. Practice problems similar to what will appear on tests could be submitted for optional feedback.
Note that there will be no solutions provided to labs, practice exercises, quizzes, or tests. For many problems, especially proofs, there is no single right answer. You can ask questions about your lab work during labs, you are encouraged to discuss them all using discussion board, and you are always welcome to talk to me and instructional assistants in the office hours about your solutions. The evaluation is based on quizzes, drills, and tests. Quizzes and drills will be offered through Brightspace, using Brightspace’s quiz tool, and tests will be in person, pen-and-paper.
Lab and prep quizzes, tests, drills and the final exam are to be done individually. If cheating is detected for a quiz, test or drill it will be given 0% on the whole quiz/test/drill. The department head will also be notified of any academic misconduct. If academic misconduct is detected for a final exam, the case will be reported to the department head, who will forward it to the Senate Committee on Undergraduate Studies for investigation and appropriate action.
Labs and Lab Quizzes:
Labs will begin on Monday, Sept 16th (Section 002) and Thursday, Sept 19th (Section 003).
Lab assistants will be available during the first 2 hours of the scheduled lab time to answer any questions that you may have about the lab exercises.
The lab quiz is a timed quiz within the last 50 minutes of the lab (begins at 4 pm for section 002, and 11 am for section 003). Lab quizzes must be done on a lab computer. Late entries to the quiz will not be permitted as it is the students’ responsibility to be on time. The lab quiz is based on the material covered in the prep quiz, the lab problems, and practice exercises. You must be present in the lab to take the lab quiz.
Lab quizzes are the only means of obtaining credit for work during the lab period. Lab exercises are not for credit and do not need to be submitted.
Midterm and Final Exams:
Exams focus on long answer questions (in particular, proofs), which will be marked by hand. They will mostly consist of problems similar to practice exercises. However, problems similar to drills, labs, and quizzes can also appear on the exams. You will have an opportunity to submit your solutions for feedback.
Midterms will be written on paper during class time:
Midterm 1: Friday, October 18th, 2024.
Midterm 2: Friday, November 15th, 2024.
The final exam will be scheduled by the Office of the Registrar during the Fall 2024 examination period of Thursday, December 5th to Friday, December 13th 2024.
Regulations related to deferred final exams can be found in Section 6.8.2 of the University Calendar. item Requests for a deferred final exam should be made by filling in the Request for a Deferred Exam Form and submitting it to cs-ugradadv@mun.ca. Applications should be made in advance of the exam whenever possible, but no later than 48 hours after the original date of the exam. Emails must come from your MUN (@mun.ca) email account.
Prep quizzes:
The prep quiz is a short quiz that tests students’ knowledge of the basic concepts of a topic covered in that week’s labs, in particular prerequisite material for the lab activities. prep quizzes are due by 1pm on Mondays and are open book. These quizzes are graded automatically and the marks are released immediately. There is only one attempt allowed to do each quiz; students who do not score 100% in a prep quiz should review the material and seek help prior to the lab as some prep quiz questions may reappear on the lab quiz.
Drills:
Each drill is a repeatable auto-graded mini-quiz to practice solving a specific type of problem (similar to multiplication drills you might have done in school). Each attempt will be time-limited, however you can repeat each drill as many times as you like, until its deadline.
The grade for each drill is calculated as the average of all your attempts. For example, if you attempted a drill three times with scores of 50%, 90%, and 100%, your average score would be (50 + 90 + 100) / 3 = 80%. If you then try the drill again and score 100%, your new average would be (50 + 90 + 100 + 100) / 4 = 85%.
Bonus bug bounty:
Bugs can be present in course notes, exercises, labs, quizzes, or materials presented in class. Sometimes, bugs are intentional, and sometimes, they are not. If you find a previously unreported bug, then you can report it on the Discussion Forum and obtain 0.5% bonus marks for your final grade. Post a screenshot, link, description of the bug (stating why it is a bug), and a fix for the bug, to obtain the bonus marks.
Only the first person to post each bug gets the bonus.
There is a 2% maximum that can be obtained from finding bugs. The total bonus added to your final grade may not make your final grade exceed 100%.
Spelling, grammatical, or clerical errors are not considered bugs for the purpose of obtaining bonus marks. Bugs are incorrectly graded drills/quizzes, wrong proofs/definitions, etc.
The last day to claim bugs for credit is the last day of lectures.
Course Policies:
Academic Misconduct:
Students are expected to adhere to those principles which constitute proper academic conduct. A student has the responsibility to know which actions, as described under Academic Offences in the University Regulations, could be construed as dishonest or improper. Students found guilty of an academic offence may be subject to a number of penalties commensurate with the offence including reprimand, reduction of grade, probation, suspension or expulsion from the University. For more information regarding this policy, students should refer to the University Regulations for Academic Misconduct (Section 6.12) in the University Calendar, revisit the INTG 1000 course in Brightspace, or see the undergraduate page about academic integrity.
Academic misconduct for this course includes (but is not limited to) the following:
Handing in any material for evaluation that was not completed entirely by yourself
Obtaining solutions from any non-class source, including, from peers in the course, previous course offerings, stack overflow, and/or LLMs (i.e. ChatGPT, etc.)
Sharing questions and/or solutions on practice problems, lab quizzes, exams outside of the course for any reason, including assignment sharing websites (e.g. Chegg), forums (e.g. stack overflow), or online repositories (e.g. GitHub).
Academic Accommodations:
Memorial University of Newfoundland is committed to fostering equitable and accessible learning environments for all students. Accommodations for students with disabilities are provided in accordance with the Accommodations for Students with Disabilities Policy (www.mun.ca/policy/site/policy.php?id=534) and its related procedures. Students who feel that they may require formal academic accommodations to address barriers or challenges they are experiencing related to their learning are encouraged to contact Accessibility Services (the Blundon Centre, www.mun.ca/blundon) at the earliest opportunity to ensure any required academic accommodations are provided in a timely manner. You can contact Accessibility Services (Blundon Centre) by emailing blundon@mun.ca. Students using Blundon services for exams are strongly recommended to contact the Blundon Centre at least 3 weeks ahead of the exam date to allow for arrangements to be made. Students who are registered with the Blundon Centre are also encouraged to contact the course instructor to discuss accommodations.
Copyright:
All material (lectures, practice problems, labs, exams) delivered or provided in COMP 1002 – Introduction to Programming by Dr. Antonina Kolokolova, including any visual or audio recording thereof, are subject to copyright. It is prohibited to record or copy by any means, in any format, openly or surreptitiously, in whole or in part, in the absence of express written permission from Dr. Antonina Kolokolova any of the lectures, materials provided or published in any form during or from the course. This includes posting any course content online.
Student support for the course:
Discussion board : You’re encouraged to discuss course material, including practice exercises and labs, with peers on the Brightspace discussion board. Avoid discussing quiz questions until all sections have completed their quizzes. Use the board for clarifications and announcements, and check it regularly.
If you have questions, first check the discussion board to see if they’ve already been addressed. If not, start a new thread under the relevant topic or post in an existing thread if related. Feel free to contribute answers to unanswered questions, as peer explanations can be very helpful.
There is a "private" forum in the discussion board where your posts will be visible only to the instructor, IAs and TAs -- this is a better place than email for questions about your answers to quizzes/tests and such.
The Computer Science department runs a Student Help Centre where students can request help with first- and second-year Computer Science lab courses. The Help Centre is located in EN-2026. See the Help Centre Schedule (https://www.mun.ca/computerscience/undergraduates/help-centre-schedule/). This link is also available in the course Brightspace shell.
The lab instructor and instructional assistants are available to help students. See the Instructional Staff Contact Information and Schedule (https://courses.cs.mun.ca/schedules/iasched.html). This link is also available in the course Brightspace shell.
Any email messages to the instructor should contain COMP1002 in the subject line. Please only use email when it is not a question that can be asked on the discussion board (in particular, a lot of questions can be asked in the private discussion board). Every effort will be made to respond to emails within 48h, with the exceptions of evenings, weekends and holidays.
The Peer-Assisted Learning (PAL) program will be offered for COMP 1002. A peer leader who has previously completed COMP 1002 will facilitate two 50-minute group study sessions per week. These times are TBD and will be announced during the lecture slot. See Peer-Assisted Learning for more details.
Additional supports:
All students should be aware of the supports that Memorial University offers, which include:
MUNUp is an online hub which hosts supports and services to help all students succeed.
The Memorial University Bookstore (UC–2006) offers a wide range of retail products, including all course materials (books, access codes and ebooks), as well as clothing, gifts and school supplies.
The Academic Advising Centre (SN–4053) serves prospective, first-year, undeclared and students transitioning between programs at the undergraduate level. If you are unsure what you want to study, schedule an appointment with an academic advisor.
The Student Wellness and Counselling Centre (SWCC) (UC–5000) provides counselling, health, and wellness support for students including primary health care, counselling, health promotion, disease prevention, and wellness education. Services are available online and in person.
The Student Experience Office (ASK UC-3005) is a hub to help students:
transition to university life
develop leadership and teamwork skills, and
learn how to get involved through volunteering and experiential learning.
The Indigenous Student Resource Centre (ISRC) (208 Elizabeth Avenue) supports Indigenous students by creating a welcoming community, by providing an engaging and inclusive space, and by offering an array of programs and resources to ensure success. It also assists the non-Indigenous University Community to walk a good path and build positive relationships with Indigenous peoples.
The Internationalization Office provides a variety of programmes to support international students’ transition to MUNL and to our province. To learn more about the Internationalization Office’s supports and services, please connect with their office. There is a staff directory for the Internationalization Office to help you find the supports you are looking for.
For help with finances and funding, there are a number of resources available.
The Student Support Office can provide support to students in distress concerning a financial, academic or personal matter. The Student Support Office can also assist students who wish to raise a concern and seek a resolution to a matter related to their student experience at MUNL. The Student Code of Conduct outlines the expectations of students at Memorial University and provides an avenue to address behaviours that deviate from the Code. The Student Support Offices also coordinates the Non-Academic Appeal procedures for students, who need to raise concerns about a university employee or situation. This process ensures that student complaints are dealt with in a fair and equitable manner.
The Sexual Harassment Office (Earth Sciences E-6038) prevents sexual harassment and sexual assault through education, mitigates the effects of sexual harassment and sexual assault, and identifies methods for timely resolutions of complaints of sexual harassment and sexual assault which may arise at Memorial University. While working towards a resolution of a complaint, the Sexual Harassment Office can coordinate interim accommodations as necessary.
Reach out to the many Student Clubs and Societies which can help you deepen learning in your discipline or pursue your interests outside the classroom and get connected with others.
MUNSU Resource Centres, as follows:
Intersections: A Resource Centre for Marginalized Genders
MUN Sexual and Gender Advocacy Resource Centre (MUN SAGA)
Disability Information & Support Centre (MUN DISC)
International Student Resource Centre (ISC)
The Circle: First Nations, Inuit, & Métis Students Resource Centre
Students Older Than Average (SOTA)
Student Parent Assistance & Resource Centre (SPARC)