CPSC 436R (Randomized Algorithms)

Description

An introductory course on randomized algorithms, and probabilistic techniques in computer science.

 

Instructors

Prof. Nicholas Harvey

TAs:

·       Emily Gong, gongz@student.ubc.ca

·       Victor Sanches Portella, victorsp@cs.ubc.ca

·       Yennis Ye, yxyapp18@student.ubc.ca

 

Textbook

·       N. Harvey, “A first course in randomized algorithms”
https://www.cs.ubc.ca/~nickhar/Book1.pdf

 

Grading Scheme

·       25%: Assignments (there will be 5 of them)

·       30%: In-class quizzes (there will be 3 of them)

·       5%: Tutorials

·       40%: Final exam

There is no additional requirement to pass the exam.

Tutorials

·       There are weekly tutorials, except for the first week of classes. Every student should be registered in a tutorial section.

·       Every week there is a Canvas Quiz, consisting of 3 Multiple Choice Questions. If you get all 3 correct, your tutorial grade is 100% for this week (and you do not need to attend the in-person tutorial.)

·       Otherwise, you should attend the in-person tutorial. A TA will present several questions for you to work through in groups. Your tutorial grade for the week is based on participation.

 

Positive Space

My expectation is that all aspects of this course (lectures, Piazza, office hours, textbook, exercises) are welcoming and respectful to all members of the UBC community. Please bring to my attention any behavior that is disparaging, disrespectful, inflammatory, prejudicial, or could be construed as microaggresions or bullying.

 

I will do my best to hold myself to the same standard. There may be the occasional slip up, but hopefully they are infrequent and forgivable. If I am the perpetrator of any negative behavior, please either can bring it to my attention, or notify a neutral third party, such as the associate head for undergraduate affairs ah-ugrad@cs.ubc.ca.

 

Please educate yourself about the following resources.

·       https://www.cs.ubc.ca/students/undergrad/resources/equity-inclusion-wellness

·       https://bullyingandharassment.ubc.ca/

 

 

Piazza Usage Policy

·        Enroll using your full name (as recognized in the UBC registration system) at https://piazza.com/ubc.ca/winterterm12023/cpsc436r 

·        Registration will be open until Sept 18th, midnight. After this date, accounts of students not recognized may be disabled.

·        Use the public forum for questions/answers to your fellow students and/or members of the teaching team.

·        For questions that can only be answered by a member of the teaching team, post them as private messages directly to the instructors/TAs.

·        Trolling (public posting of inappropriate questions/comments) is cause for removal from the course Piazza. If you want to express an opinion (e.g. about challenges with the class, with an exam, or with students/instructors), you should communicate with the course staff either face-to-face or by email.

Assignment Guidelines

Collaboration: Assignments are to be done individually, not in groups. You can discuss problems and brainstorm with your classmates. Acknowledge all collaborators or sources of assistance in your submission, although you need only name course staff, handouts, and textbooks if you quote or adapt directly from them. If you simply copy a solution that you found by internet search tools (e.g. Google or ChatGPT), that will be construed as cheating.

Formatting: We require that assignments be submitted using LaTeX. We will make the .tex version of the assignment available, to make it easier for you to prepare your solutions using LaTeX. Submissions that are not typeset in Latex will incur a severe penalty. Their grade will be multiplied by 0.5.

Submission: Submit your assignments on Gradescope by 11:59:00pm. You can submit early and resubmit as often as you want up to the deadline. We strongly encourage you to submit something a few days in advance of the first assignment, to make sure that things are working properly.

After uploading to Gradescope, link each question with all the pages of your pdf containing your solution.

Late submissions: Late homework submissions will not be accepted, except in special situations (e.g. medical issues).

Prerequisites

I expect you to be familiar with the following concepts:

·       logic, proofs, summations, binary representation and modular arithmetic from CPSC 121

o   To review these topics, see Lehman, Leighton and Meyer’s "Math for Computer Science" Ch 1-5, 11, 13.

o   Logic and proofs are covered in the PLP book.

·       data structures, sorting and searching, asymptotic notation, trees and graphs from CPSC 221

·       algorithm analysis, divide-and-conquer algorithms, graph searching algorithms, and asymptotic notation from CPSC 320

·       probability: events, independence, probability and its properties, conditional probabilities, random variables, common distributions, mass functions, cumulative distribution functions, expectation.

o   For a basic introduction to some of these topics, aimed at computer scientists see "Math for Computer Science", Ch 17-20

For a more thorough introduction, also aimed at computer scientists, see Harchol-Balter’s “Introduction to Probability for Computing”

 

Regrading Requests

We do our best to grade all submissions fairly and consistently. Because graders occasionally make mistakes, we welcome regrade requests that help us correct such mistakes and ensure fairness. You have one week from the time that the grades are posted to submit a regrade request on Gradescope. Please be respectful and help us ensure that time spent on regrades is productive by following these guidelines.

The person who graded the question will review your request, possibly with input from an instructor or other TAs. The decision of your TA or instructor is final. It may either increase or decrease your mark. Submitting several poorly-explained regrade requests may result in a penalty.

Academic Disconduct

See https://www.cs.ubc.ca/students/undergrad/resources/academic-integrity