mirror of
https://github.com/Brandon-Rozek/website.git
synced 2024-12-23 16:41:17 +00:00
1.9 KiB
1.9 KiB
title |
---|
CSCI 2600 Principles of Software |
Recitations
The following are recitations I have prepared for a weekly one hour session:
- Topics: Introduction, Eclipse Setup
- Topics: Variable Models, Stack/Heap, Inheritence, Interfaces, Abstract Classes, Mutability, Strong/Weak Typing, Static/Dynamic Typing
- Topics: Compilation/Interpretation, Subtype Polymorphism, Static/Dynamic Binding, Overloading/Overriding, Forward/Backward Reasoning
- Topics: Reasoning through Loops, Loop Invariants, Correctness, Termination, Induction
- Topics: JavaDoc, Specification Strength, Type Variances, ADTs
- Topics: ADT Methods, Immutability, Representation Invariant/Exposure, Defensive Programming, Assertions, Exceptions
- Topics: Bugs, Unit/Integration/Acceptance Testing, White/Black Box Testing, Equivalence Partitioning, Boundary Value Analysis, Reference/Value Equality, Equality Relations, Hash Functions
- Topics: Overloading/Overriding, Dispatching, Polymorphism, SOLID, Subclassing, True Subtypes, Liskov Substitution Principle
- Topics: Design Patterns, Creational Patterns, Structural Patterns, Behavioral Patterns, Builder, Factory, Singleton, Adapter, Decorator, Flyweight, Mediator, Observer, Visitor
Recitation 12: Exam Review
- 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