website/content/ta/spring2022/csci2600/_index.md
2022-05-01 01:08:27 -04:00

47 lines
1.9 KiB
Markdown

---
title: CSCI 2600 Principles of Software
---
## Recitations
The following are recitations I have prepared for a weekly one hour session:
[Recitation 1](recitation01.pdf)
- Topics: Introduction, Eclipse Setup
[Recitation 2](recitation02.pdf)
- Topics: Variable Models, Stack/Heap, Inheritence, Interfaces, Abstract Classes, Mutability, Strong/Weak Typing, Static/Dynamic Typing
[Recitation 3](recitation03.pdf)
- Topics: Compilation/Interpretation, Subtype Polymorphism, Static/Dynamic Binding, Overloading/Overriding, Forward/Backward Reasoning
[Recitation 4](recitation04.pdf)
- Topics: Reasoning through Loops, Loop Invariants, Correctness, Termination, Induction
[Recitation 5](recitation05.pdf)
- Topics: JavaDoc, Specification Strength, Type Variances, ADTs
[Recitation 6](recitation06.pdf)
- Topics: ADT Methods, Immutability, Representation Invariant/Exposure, Defensive Programming, Assertions, Exceptions
[Recitation 7: Exam Review](recitation07)
[Recitation 8](recitation08.pdf)
- Topics: Bugs, Unit/Integration/Acceptance Testing, White/Black Box Testing, Equivalence Partitioning, Boundary Value Analysis, Reference/Value Equality, Equality Relations, Hash Functions
[Recitation 9](recitation09.pdf)
- 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
[Recitation 11: Exam Review](recitation11)
Recitation 12: Exam Review
[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
[Recitation 14: Final Thoughts and Final Exam Review](recitation14.pdf)