


Computer Science 252 


New / Messages 
The final will take place on April 17, 2023 from 912am in Leacock 219. 
Instructor 
Luc Devroye  Email to lucdevroye@gmail.com  McConnell Engineering Building, Room 300N  Office hours: Tuesday, Thursday, 45pm. 
Time and location 
Tuesday & Thursday, 2:304pm, McConnell Engineering 11. 
On the web 

The supplemental 
If you write a supplemental or deferred final exam, then that exam will count for 100% towards your grademidterms and assignments will be irrelevant. 
Teaching assistants: Office hours 

Lectures (2023) 

Objectives 

Contents 
Part 1. Data types.
Part 2. Algorithm design and analysis.

Evaluation 
Assignments 42%, midterm 8%, final 50%. Just in case McGill panics: there will never be an online exam. If McGill orders an online final, then the grades will be calculated as follows: 60% on assignments, 40% on midterm. If McGill orders an online midterm and an online final, then 100% of the weight will be on the assignments. 
Prerequisites 
Computer Science 250. Mathematics 240. Recommended background: Mathematics, discrete mathematics, arguments by induction. Restricted to Honours students in Mathematics and/or Computer Science. 
Textbook 
T.H. Cormen, C.E.Leiserson, R.L.Rivest, and C. Stein: Introduction to Algorithms (Third Edition), MIT Press, Cambridge, MA, 2009. Amazon link. Excellent pirated copies of this book are navigating the web. A free PDF file is available from McGill's Library. Github offers pages with solutions of all exercises. Another appropriate text, with a different focus (more algorithms, fewer data structures) is by J. Kleinberg and E. Tardos: "Algorithm Design". Pearson, Boston, 2006. Finally, scribes in 2017, 2018, 2019, 2020, 2022 and 2023 made notes on the following topics:

Information for the scribes 
We will use LaTeX to first create a TeX file (for the body of the text) and a bib file (for bibliography), and then create a PDF file from this. The prototypes below are courtesy of Ralph Sarkis.


