Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

2021/1/11 Syllabus for CPSC 121 201/202/203/204 2020W Models of Computation

Course Syllabus
Jump to Today

1. Course Level Learning Goals


Here are the overall learning goals for CPSC 121. By the end of the course, you will be able to:

Model computational systems (e.g., programs and circuits) and apply valid reasoning to these
models, i.e. prove relevant properties or reason through functionality of computational systems
using predicate logic, propositional logic and state machines.
Clearly and precisely communicate computational models to computer scientists.
Identify alternate methods to solve or simplify a variety of problems by translating between (1)
English language, (2) simple formal representations (i.e., propositional and shallowly nested
predicate logic statements) and (3) closely related equivalent formal representations, and then
use the different representations to solve the problem.
Write proofs for simple theorems by translating the theorem into first-order logic, decomposing the
statement, and applying an appropriate proof-technique such as direct proofs, indirect proofs by
contrapositive, indirect proofs by contradiction, proofs by weak and strong mathematical
induction. Justify why each step of the proof is correct.
Prove features of simple algorithms (e.g.,selection sort, recursive binary search, or quicksort)
correct or bound in their running time. Justify why each step of the proof is correct.
Create regular expressions and DFAs to solve problems that are important in programming.

1.1. Co-Requisite
CPSC 110 - Computation, Programs, and Programming is a co-requisite for this course, meaning that
you must be registered or have already completed CPSC 110 to be enrolled in this course. If you are
waitlisted on CPSC 110 and you are not registered by the end of the drop deadline, you will be
removed from the course. Instructors do not have the power to change this rule or make exceptions,
therefore if you have any questions or requests you should send them to CS advising
(https://www.cs.ubc.ca/students/undergrad/resources/academic-advising) .

1.2. Communication Expectations


Course content: Please use the course discussion forum on Piazza if you have a question about
course content. That allows your fellow students to learn from your question and from our response.

Administrative questions: If you have an administrative question (e.g. about grades, registration,
missing assessments due to illness), please email our course coordinator at cpsc121-
admin@cs.ubc.ca.

Personal concerns: Please only email instructors directly if you have a question that is personal in
nature. Before emailing, please check with your class notes, syllabus, and classmates for an answer
to your question. Please, do not use the Canvas messaging system to contact the teaching team.

https://canvas.ubc.ca/courses/58953/assignments/syllabus 1/9
2021/1/11 Syllabus for CPSC 121 201/202/203/204 2020W Models of Computation

This is not a communication avenue used in this course. Messages sent via this route may not be
seen until much later.

2. Textbooks
Epp, Susanna. Discrete Mathematics with Applications (https://www.cengage.com/c/discrete-
mathematics-with-applications-5e-epp/9781337694193/) , 5th edition, Nelson Education, 2020
Standalone textbook (expensive!) — ISBN 9781337694193
Textbook with student solutions manual (even more expensive) — ISBN 0357466381
Loose leaf book with WebAssign access card (ebook) — ISBN 9780357097724
Digital product only (WebAssign/ebook) — ISBN 9780357035245

The 5th edition is our "authoritative" edition, but the 3rd or 4th edition may also be used. As an
alternative, some students prefer:

Rosen, Kenneth H. Discrete Mathematics and its Applications, 7th edition, McGraw Hill Book
Company, 2012, ISBN 0-07-338309-0.
Rosen, Kenneth H. and Grossman, Jerrold Student Solutions Guide for Discrete Mathematics and
its Applications, 7th edition, McGraw Hill Book Company, 2012, ISBN 0-07-735350-1.

3. Grade Scheme
The marks for the course will be distributed as follows:

Assignments (4) 14%

Labs (9) 14%

Pre-class Quizzes (12) 4%

Midterm (2) 28%

Final examination 34%

Tutorials (12) 3%

Clicker questions 3%

Note: the instructor reserves the right to modify the marking scheme at any time, although the final marking scheme
should be fairly close to that given here.

To pass the course, you must obtain at least 50% on the weighted average of the three examinations
(that is, 0.14 * Midterm 1 + 0.14 * Midterm 2 + 0.34 * Final Exam ≥ 31), and at least 50% on your
combined lab and assignment marks. If you fail to meet either of these requirements, you will receive
at most a mark of 45% for the course, regardless of the results of the formula above.

3.1. Assignments
Assignments will be distributed via Overleaf, an online latex editor. When you click on the each
Assignment and sign in to Overleaf, you will be prompted to make a clone of our template as your
https://canvas.ubc.ca/courses/58953/assignments/syllabus 2/9
2021/1/11 Syllabus for CPSC 121 201/202/203/204 2020W Models of Computation

own project. We recommend that you use the Overleaf editor to typeset your answers to the
problems. Then, when you're finished, download your completed assignment as a .pdf, and upload it
to Gradescope.

Latex is a powerful and popular typesetting package, commonly used for documents that have
sophisticated diagrams and figures (like truth tables and circuits!). The learning curve for fluency in
Latex is fairly steep, but it's a valuable skill, so we're asking you to try to use it to compose your
homework solutions. We are assisting your learning in three specific ways:

the homework's latex source code contains examples of most of the tags you will need in your
answers,
the Overleaf web site has several short tutorials and videos to give you an overview of the kinds
of things you can do,
you can find a small sheet for Latex on the Hangouts Module.

In addition, we're happy to answer your questions on piazza, and like every Latex user EVER, you
will find google to be your best source of technical assistance.

If you really don't want to use Latex for the assignments, then it's fine BUT you are responsible for
making sure that the PDFs you upload to Gradescope are easy for the TAs to decipher. If they are
unable to read your answers (whether it is because of bad handwriting, pencils that are not dark
enough, fuzzy pictures taken with your phone or any other reason) then you will not get any marks for
them.

We highly encourage you to do assignments in groups of two, though you may work alone if you
choose. Groups larger than two students are not allowed. Only one Gradescope submission should
be made for each group. Be sure to identify your group on Gradescope (having both of your names
inside the PDF is not sufficient).

Your assignment average will be the average of your assignment marks, all weighted equally. As a
rule of thumb:

A solution to a question that is correct, complete, and legible will be worth full marks.
A legible solution that contains some errors or is not quite complete, but shows a clear grasp of
how the concepts and techniques required apply to this problem, will be worth about 66% of the
marks.
A legible solution that is either correct but difficult to read, or contains errors or is not complete,
but shows a clear grasp of the concepts and techniques required, although not their application to
this problem, will be worth about 33% of the marks.
A solution that contains substantial errors, is far from complete, does not show a clear grasp of
the concepts and techniques required, or is illegible will receive very few marks.

This marking scheme reflects our intent for you to learn the key concepts and techniques underlying
computation, determine where they apply, and apply them correctly to interesting problems. It also
reflects a practical fact: we have insufficient time to decipher illegible answers. All typeset solutions
will be considered legible.

https://canvas.ubc.ca/courses/58953/assignments/syllabus 3/9
2021/1/11 Syllabus for CPSC 121 201/202/203/204 2020W Models of Computation

3.2. Labs
Formal laboratory classes are an important part of this course. In lab, you will solve practical
problems and test your ideas, using computer software. Lab handouts will provide or refer to
information you'll need and then pose your lab problem with guidelines for reporting your results. You
must read lab handouts and complete the "prelab" activities before the lab begins! Lab sections are
supervised by two teaching assistants (TAs). TAs introduce the problem and then help guide your
work as needed. Once you complete a lab, demonstrate your results and submit your report to a TA,
who may then ask questions about your work. You may leave the lab once this demonstration is
complete.

All labs contain Challenge problems. Challenge problems are entirely optional. However, successfully
completing Challenge problems will give you a small number of bonus marks.

All students will complete 9 labs at the end of the course and your due dates are based on your lab
section, therefore you are not allowed to attend a different section than the one you are registered to.
You must complete labs in groups of two, except for Lab 7 that is done individually. Where there are
an odd number of students, your TA may choose either to let one student work alone, or to form one
group of three.

Labs generally include two parts. Before your lab section, you should read through the lab writeup
and complete any pre-lab work. You submit them via Gradescope until 9:00 a.m. on the day of your
lab section. During your lab section, you should complete the lab itself and have your TAs mark your
deliverables. Should you be unable to attend a lab for some reason, you may make arrangements
with your TA (by e-mail if necessary) to have it marked by the start of your next lab section. Marking
might be by another lab section's TAs or by your TA at the start of the next section.

Your Lab average will be the average of your labs marks, all weighted equally. You can find Labs
Scheduling here and TAs emails here.

3.3. Quizzes
CPSC 121 promotes an "interactive engagement" lecture approach to facilitate your learning. For this
approach to work best, you must prepare before the lecture, often by reading the appropriate
sections of the text, working recommended problems, and completing an online quiz. During class,
the instructor will review some of the more difficult concepts or examples from the readings, and lead
you through discussions and exercises. After class, you will want to review the text and any notes
you took. It also is essential that you ask questions whenever there is a concept that you don't
understand. If you miss a lecture, catch up on what you missed from a classmate and in office hours.
If you are out of class for an extended period of time, contact your instructor as soon as possible to
determine how to catch up. It is your responsibility to be aware of any announcements that may have
been made in your absence.

All online quizzes are due at 23:59 via Canvas. Most quizzes are divided into a Part A and a Part B.
They are based on the reading from the textbooks and should be done before each module. The
reading list can be found in each module.
https://canvas.ubc.ca/courses/58953/assignments/syllabus 4/9
2021/1/11 Syllabus for CPSC 121 201/202/203/204 2020W Models of Computation

For Part A:

You are graded for correctness


You get two attempts (i.e., submissions) for each Part A
After your first submission, you'll be informed of both your score and which questions you got
incorrect
The higher of your two grades will be taken as your Part A grade

For Part B:

You are graded all-or-nothing for thoughtfulness (your answer need not be correct, but it has to be
significantly more than "I don't know")
You get two submission attempts, but you should only need one (the second submission attempt
is in place in case Canvas crashes on you, or something like that, allowing you to submit a
second time)
If you make multiple submissions, only the last submission will be graded

Your pre-class quiz average will be the average of your quizzes marks, all weighted equally, with your
lowest mark being dropped. Because you can earn 100% even if you miss a quiz, we typically do not
accept excuses for missed pre-class quizzes.

3.4. Midterm and Final


All four sections will write common midterms and final exam. The midterms have been scheduled
from 18:00 to 19:30. If you have a conflict with the midterm time, you must inform the course
coordinator no later than two weeks in advance of the exam! Exams dates are:

Midterm 1: Thursday February 11th, 2021 18:00 to 19:30.


Midterm 2: Thursday March 25th, 2021 18:00 to 19:30.
Final examination: to be determined by Enrollment Services.

3.5. Tutorial
The tutorial mark will be either based on tutorial attendance, or be computed from the weighted
average of all of the other course components (whichever is larger). If you are unable to attend
Tutorials due to timezones issues, your average will be based only on the weighted average of all of
the other course components. Tutorials are not graded by correctness. Notice that it may not be
possible to cover all the questions in tutorial. It is best to understand how to solve one problem
extremely well than to rush through the solutions to all questions. Use this time to practice and ask
questions. You can attend any Tutorial section you prefer. If you are registered on a Tutorial section
during a Holliday, we recommend you to try to attend a different one so you don't miss a Tutorial. But,
we will consider the Holiday when calculating the final grades for students that are registered on that
Tutorial sections.

3.6. Clicker Ques ons

https://canvas.ubc.ca/courses/58953/assignments/syllabus 5/9
2021/1/11 Syllabus for CPSC 121 201/202/203/204 2020W Models of Computation

Clicker marks will be graded per-question for participation only, not correctness. Your final clicker
grade will be computed as: min(p/0.85, 100), where p is the percentage of questions that you could
have participated in.

Because you need only participate in 85% of the questions to be able to receive a clicker grade of
100%, we generally do not accept excuses for missed clicker questions, except in the case of
students who indicated they are unable to attend the lecture section they are registered for as it falls
in the middle of the night. In these cases, the clicker grade will be computed based on the weighted
average of all of the other course components.

You can find information on how to set up iClicker here (https://lthub.ubc.ca/guides/iclicker-cloud-


student-guide/) . If your lecture section starts after 23:00 and before 07:00 on your time zone, you will
receive an exempt from clickers. Please, set your correct timezone on Canvas so we can exempt
you, this means your grade will be composed of only all other components in the course.

3.7. Worksheets
Worksheets are used in class, but are not marked and are not part of the grading scheme. All
Modules have worksheet, but not all problems will be solved in class. Solutions for all Worksheets will
be posted after the Module is finished.

4. Academic Conduct
Collaboration enhances the learning experience. We encourage collaboration in various ways
throughout the course, subject to the rules stated here:

Assignments: You may work on assignments in groups of two, and we encourage you to do so.
Groups are described below. Your group may also work with any other person or resource subject to
five rules:

The group must spend at least 10 minutes working on each problem independently before
collaborating with others.
Collaboration with others is limited to discussion and brainstorming. No record of any sort (e.g.,
written or electronic material) may be exchanged or leave the brainstorming session.
After collaborating, each student must take a half-hour break from the problem. Watching some
brainless TV is a recommended activity.
Each group must write their own independent solution, using their own words to prove that they
understand the problem on their own.
Groups must acknowledge all collaborators or sources of assistance in their submission, although
you need only name CPSC 121 course staff, handouts, and required textbooks if you quote or
adapt directly from them. (To simplify this, you may record the names of people you collaborate
with!)

Treat electronic resources your team consults like written resources (set them aside for a half-hour
before writing your solution and then do not consult them while writing your solution).

https://canvas.ubc.ca/courses/58953/assignments/syllabus 6/9
2021/1/11 Syllabus for CPSC 121 201/202/203/204 2020W Models of Computation

Labs: You must work on labs in groups of two, unless there is an odd number of students in the lab
section. Groups are described below. Note: A group member who is absent for a lab receives no
credit for their group's lab submission. They have until the start of the next lab to arrange with their
lab TAs to have their individual lab submission marked. (See more details under Labs.)

Groups: In lab, we require that group members collaborate rather than, for example, working on
individual parts of the lab and stitching the result together. We recommend the same for
assignments. For advice on group work, speak with the teaching staff and check out All I Need to
Know About Pair Programming I Learned in Kindergarten for a lighthearted but well-researched
perspective on pair work in Computer Science (for programming but still applicable in CPSC 121).

Must indicate they are working together in the appropriate venue (on the cover sheet for
assignments, to the lab TA for labs).
May collaborate on both labs and assignments but need not do so. (Your lab group can differ from
your assignment group.)
May remain the same over the term, but may also change from one lab/assignment to the next.
(Notify the course staff appropriately of changes!). Must submit only one joint solution to a lab or
assignment.
Will receive one grade for each lab/assignment that applies to every group member (adjusted
individually only in extraordinary circumstances).

Pre-class Quizzes:

On-line quizzes are open book. That is, you may use any non-human aides, e.g., the textbook, or
web articles, to assist you.
On-line quizzes typically have a first part which is to be completed individually with no assistance
from anyone. You are free to work with your fellow students on practice problems from the text
that are similar, but not identical, to the on-line quiz questions.
On-line quizzes sometimes also have a second part (of open-ended questions) marked only for
completeness. You are free to discuss these specific questions with your fellow students
although, once again, written answers must be prepared individually.
Typically, an on-line quiz will ask you explicitly to acknowledge any sources/help you received to
complete the quiz.

Exams: follow the University's Rules Governing Formal Examination, including disallowing any
communication by any means with anyone besides the exam's invigilators except where specifically
noted in exam instructions.

Violation of any of these rules constitutes academic misconduct and is subject to penalties ranging
from a grade of zero on a particular assignment to indefinite suspension from the University. If you
are uncertain as to what is or is not reasonable collaboration, please contact the instructor. If you are
having problems understanding or keeping up with the material, please contact the instructor or a TA
to discuss how we can fix the problem. Don't cheat!

University Policy on Academic Integrity: Academic honesty is essential to the continued


functioning of the University of British Columbia as an institution of higher learning and research. All
UBC students are expected to behave as honest and responsible members of an academic
https://canvas.ubc.ca/courses/58953/assignments/syllabus 7/9
2021/1/11 Syllabus for CPSC 121 201/202/203/204 2020W Models of Computation

community. Breach of those expectations or failure to follow the appropriate policies, principles, rules,
and guidelines of the University with respect to academic honesty may result in disciplinary action.
(http://www.calendar.ubc.ca/Vancouver/index.cfm?tree=3,286,0,0#15620
(http://www.calendar.ubc.ca/Vancouver/index.cfm?tree=3,286,0,0#15620) ). A more detailed description
of academic integrity, including the University's policies and procedures, can be found in the UBC
Calendar at: http://www.calendar.ubc.ca/Vancouver/index.cfm?tree=3,54,111,0
(http://www.calendar.ubc.ca/Vancouver/index.cfm?tree=3,54,111,0)

5. Marking Review
This policy applies to all assessments other than the final exam that are collected, marked, and
returned to students (i.e., labs, assignments and the midterm exams).

Here is the procedure to follow if you wish to have an assigned mark reviewed:

You have one week from the time the grades are posted to submit a regrade request.
For labs, the only valid requests are to correct a grade that was incorrectly entered on Canvas.
This should be done by contacting one of your lab TAs (not your instructor or the course
coordinator).
For assignments and midterm exams, you should submit the regrade request on Gradescope.
Write a note explaining precisely why you believe the grade you were given for that question was
inappropriate.
The person who graded the question will review your request, generally with input from other TAs
or other instructor involved in the original marking. The decision of your TA or instructor is final. It
may either increase or decrease the assigned mark based on the cited questions or other
questions.
Office hours and Piazza may be used to further understand a mistake, but not to ask for regrade
requests.

Note: Marking often involves some degree of subjective judgment. When the assigned mark falls within the range
deemed consistent with the marking scheme, your instructor will always respect the judgment of the original marker. This
assures consistency in marking for all students.

6. Absense
Students who are or expect to miss a lab, exam, or assignment should contact cpsc121-
admin@cs.ubc.ca (mailto:cpsc121-admin@cs.ubc.ca) as soon as possible with a clear explanation
of what happened and a request for information on what action to take next. ALSO if you will miss a
lab, let your lab partner know!

A student missing the final exam (http://www.students.ubc.ca/coursesreg/exams/exam-policies-


accommodations/) must apply to their home faculty for Academic Concession
(http://www.calendar.ubc.ca/vancouver/index.cfm?tree=3,48,0,0) as soon as possible.

In accordance with UBC Policy #65 (http://www.universitycounsel.ubc.ca/policies/policy65.pdf) ,


students who are scheduled to attend classes or write examinations on the holy days of their religion
must notify their instructors two weeks in advance of the religious holiday they wish to observe.
https://canvas.ubc.ca/courses/58953/assignments/syllabus 8/9
2021/1/11 Syllabus for CPSC 121 201/202/203/204 2020W Models of Computation

Instructors will provide opportunity for students to make up the missed work or examination without
penalty.

Course Summary:
Date Details

https://canvas.ubc.ca/courses/58953/assignments/syllabus 9/9

You might also like