-
Notifications
You must be signed in to change notification settings - Fork 49
/
11_week.Rmd
31 lines (23 loc) · 1.95 KB
/
11_week.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 11 Classes and Object-oriented Programming
<div id="buttons">
<a class="btn btn-primary btn-lg" role="button" href="lectures/11_week.html">Lecture Slides (html)</a>
<a class="btn btn-info btn-lg" role="button" href="https://github.com/ASDS-TCD/POP77001_Computer_Programming_2022/blob/main/lectures/11_week.pdf">Lecture Slides (pdf)</a>
<a class="btn btn-secondary btn-lg" role="button" href="https://github.com/ASDS-TCD/POP77001_Computer_Programming_2022/blob/main/lectures/11_week.ipynb">Lecture Slides (ipynb)</a>
<br>
<br>
<a class="btn btn-success btn-lg" role="button" href="https://github.com/ASDS-TCD/POP77001_Computer_Programming_2022/blob/main/tutorials/11_week.ipynb">Tutorial Exercise (ipynb)</a>
<a class="btn btn-info btn-lg" role="button" href="https://github.com/ASDS-TCD/POP77001_Computer_Programming_2022/blob/main/tutorials/11_week.pdf">Tutorial Exercise (pdf)</a>
<a class="btn btn-secondary btn-lg" role="button" href="tutorials/11_week.html">Tutorial Exercise (html)</a>
<br>
<br>
<a class="btn btn-danger btn-lg" role="button" href="https://github.com/ASDS-TCD/POP77001_Computer_Programming_2022/blob/main/assignments/04_assignment.ipynb">Assignment</a>
</div>
---
We saw how functions allow us to make our code more generalisable and abstract. But what if we wanted to bundle our code with the kinds of data it could operate on? Classes and object-oriented programming allow us to address this challenge.
## Required Readings
- Guttag Ch 10: Classes and Object-oriented Programming;
## Additional Readings
- Wickham Chs [Object-oriented programming: Introduction](https://adv-r.hadley.nz/oo.html), [12: Base types](https://adv-r.hadley.nz/base-types.html), [13: S3](https://adv-r.hadley.nz/s3.html);
- Bjarne Stroustrup. 1991. What is "Object-Oriented Programming"? (1991 revised version). *Proceedings of the 1st European Software Festival, [https://stroustrup.com/whatis.pdf](https://stroustrup.com/whatis.pdf)
## Tutorial
- Working with classes and methods.