2022-01-19 11:07:00 -05:00
|
|
|
---
|
|
|
|
title: CSCI 2600 Principles of Software
|
|
|
|
---
|
|
|
|
|
|
|
|
## Recitations
|
2022-03-16 09:27:20 -04:00
|
|
|
The following are recitations I have prepared for a weekly one hour session:
|
2022-01-19 11:07:00 -05:00
|
|
|
|
|
|
|
[Recitation 1](recitation01.pdf)
|
2022-03-16 09:27:20 -04:00
|
|
|
- Topics: Introduction, Eclipse Setup
|
2022-01-19 11:07:00 -05:00
|
|
|
|
|
|
|
[Recitation 2](recitation02.pdf)
|
2022-03-16 09:27:20 -04:00
|
|
|
- Topics: Variable Models, Stack/Heap, Inheritence, Interfaces, Abstract Classes, Mutability, Strong/Weak Typing, Static/Dynamic Typing
|
2022-01-25 21:34:04 -05:00
|
|
|
|
|
|
|
[Recitation 3](recitation03.pdf)
|
2022-03-16 09:27:20 -04:00
|
|
|
- Topics: Compilation/Interpretation, Subtype Polymorphism, Static/Dynamic Binding, Overloading/Overriding, Forward/Backward Reasoning
|
2022-02-02 10:17:15 -05:00
|
|
|
|
|
|
|
[Recitation 4](recitation04.pdf)
|
2022-03-16 09:27:20 -04:00
|
|
|
- Topics: Reasoning through Loops, Loop Invariants, Correctness, Termination, Induction
|
2022-02-09 11:30:26 -05:00
|
|
|
|
|
|
|
[Recitation 5](recitation05.pdf)
|
2022-03-16 09:27:20 -04:00
|
|
|
- Topics: JavaDoc, Specification Strength, Type Variances, ADTs
|
2022-02-22 21:40:04 -05:00
|
|
|
|
2022-02-16 11:53:22 -05:00
|
|
|
[Recitation 6](recitation06.pdf)
|
2022-03-16 09:27:20 -04:00
|
|
|
- Topics: ADT Methods, Immutability, Representation Invariant/Exposure, Defensive Programming, Assertions, Exceptions
|
2022-02-22 21:41:42 -05:00
|
|
|
|
2022-02-22 21:43:26 -05:00
|
|
|
[Recitation 7: Exam Review](recitation07)
|
2022-03-02 10:10:45 -05:00
|
|
|
|
|
|
|
[Recitation 8](recitation08.pdf)
|
2022-03-16 09:27:20 -04:00
|
|
|
- Topics: Bugs, Unit/Integration/Acceptance Testing, White/Black Box Testing, Equivalence Partitioning, Boundary Value Analysis, Reference/Value Equality, Equality Relations, Hash Functions
|
2022-03-16 09:14:04 -04:00
|
|
|
|
|
|
|
[Recitation 9](recitation09.pdf)
|
2022-03-29 10:42:04 -04:00
|
|
|
- Topics: Overloading/Overriding, Dispatching, Polymorphism, SOLID, Subclassing, True Subtypes, Liskov Substitution Principle
|
|
|
|
|
|
|
|
[Recitation 10](recitation10.pdf)
|
|
|
|
- Topics: Design Patterns, Creational Patterns, Structural Patterns, Behavioral Patterns, Builder, Factory, Singleton, Adapter, Decorator, Flyweight, Mediator, Observer, Visitor
|
2022-04-05 10:59:59 -04:00
|
|
|
|
|
|
|
[Recitation 11: Exam Review](recitation11)
|
|
|
|
|
2022-04-13 10:52:50 -04:00
|
|
|
Recitation 12: Exam Review
|
2022-04-20 11:02:32 -04:00
|
|
|
|
|
|
|
[Recitation 13](recitation13.pdf)
|
|
|
|
- Topics: Technical Debt, Antipatterns, Code Smells, Refactoring,
|
|
|
|
Extract Method, Move Method, Replace Temp with Query, State Design Pattern,
|
|
|
|
Usability, Fitt's Law, Prototyping, User Testing
|
2022-05-01 01:08:27 -04:00
|
|
|
|
|
|
|
[Recitation 14: Final Thoughts and Final Exam Review](recitation14.pdf)
|
|
|
|
|