Full ToC
[W1.1a] Paradigms → OOP → Introduction → What :
[W1.1b] Paradigms → OOP → Objects → What :
[W1.1c] Paradigms → OOP → Objects → Objects as Abstractions :
[W1.1d] Paradigms → OOP → Objects → Encapsulation of Objects :
[W1.1e] Paradigms → OOP → Classes → What :
[W1.1f] C++ to Java → Classes → Defining Classes :
[W1.1g] C++ to Java → Classes → Getters and setters :
[W1.1h] Paradigms → OOP → Classes → Class-Level Members :
[W1.1i] C++ to Java → Classes → Class-Level Members :
[W1.1j] Paradigms → OOP → Classes → Enumerations :
[W1.1k] C++ to Java → Miscellaneous Topics → Enumerations :
Polymorphism
Abstract Classes
[W1.3c] Paradigms → OOP → Inheritance → Abstract Classes and Methods :
[W1.3d] C++ to Java → Inheritance → Abstract Classes and Methods :
Interfaces
[W1.3e] Paradigms → OOP → Inheritance → Interfaces :
[W1.3f] C++ to Java → Inheritance → Interfaces :
How Polymorphism Works
[W1.5a] Implementation → Error Handling → Introduction → What :
[W1.5b] Implementation → Error Handling → Exceptions → What :
[W1.5c] C++ to Java → Exceptions → What are Exceptions? :
[W1.5d] Implementation → Error Handling → Exceptions → How :
[W1.5e] C++ to Java → Exceptions → How to Use Exceptions :
[W1.5f] Implementation → Error Handling → Exceptions → When :
Admin:
Full ToC
[W2.4a] Project Management → Revision Control → What
[W2.4b] Project Management → Revision Control → Repositories
[W2.4c] Tools → Git and GitHub → Init
[W2.4d] Project Management → Revision Control → Saving History
[W2.4e] Tools → Git and GitHub → Commit
[W2.4f] Tools → Git and GitHub → Ignore
[W2.4g] Project Management → Revision Control → Using History
[W2.4h] Tools → Git and GitHub → Tag
[W2.4i] Tools → Git and GitHub → Checkout
[W2.4j] Tools → Git and GitHub → Stash : OPTIONAL
Admin:
iP:
Level-1
, Level-2
, Level-3
, Level-4
, A-TextUiTesting
, Level-5
, Level-6
, A-Enums
by Thursday 2359Full ToC
[W3.1a] Implementation → Documentation → Tools → JavaDoc → What
[W3.1b] Implementation → Documentation → Tools → JavaDoc → How
[W3.1c] C++ to Java → Miscellaneous Topics → File Access :
[W3.1d] C++ to Java → Miscellaneous Topics → Packages :
[W3.1e] C++ to Java → Miscellaneous Topics → Using JAR Files :
[W3.4a] Quality Assurance → Testing → Test Automation → Test Automation Using Test Drivers
[W3.4b] Quality Assurance → Testing → Test Automation → Test Automation Tools
[W3.4c] Quality Assurance → Testing → Unit Testing → What
[W3.4d] C++ to Java → JUnit → JUnit: Basic
[W3.4e] Quality Assurance → Testing → Unit Testing → Stubs
[W3.4f] C++ to Java → JUnit → JUnit: Intermediate
Admin:
iP:
Level-7
, Level-8
A-MoreOOP
, A-Packages
, A-JUnit
, A-Jar
A-JavaDoc
, A-CodingStandard
, Level-9
tP:
[W4.1] Design: Models
[W4.2] Class/Object Diagrams: Basics
[W4.3] Class Diagrams: Intermediate-Level
Full ToC
Admin:
iP:
A-Gradle
, A-CheckStyle
, Level-10
, A-Varargs
tP:
Full ToC
[W5.2a] Requirements → Gathering Requirements → Brainstorming
[W5.2b] Requirements → Gathering Requirements → Product Surveys
[W5.2c] Requirements → Gathering Requirements → Observation
[W5.2d] Requirements → Gathering Requirements → User Surveys
[W5.2e] Requirements → Gathering Requirements → Interviews
[W5.2f] Requirements → Gathering Requirements → Focus Groups
[W5.2g] Requirements → Gathering Requirements → Prototyping
Prose
Feature Lists
User Stories
[W5.3c] Requirements → Specifying Requirements → User Stories → Introduction
[W5.3d] Requirements → Specifying Requirements → User Stories → Details
[W5.3e] Requirements → Specifying Requirements → User Stories → Usage
Glossary
Supplementary Requirements
Readability
[W5.4a] Implementation → Code Quality → Readability → Introduction
[W5.4b] Implementation → Code Quality → Readability → Basic → Avoid Long Methods
[W5.4c] Implementation → Code Quality → Readability → Basic → Avoid Deep Nesting
[W5.4d] Implementation → Code Quality → Readability → Basic → Avoid Complicated Expressions
[W5.4e] Implementation → Code Quality → Readability → Basic → Avoid Magic Numbers
[W5.4f] Implementation → Code Quality → Readability → Basic → Make the Code Obvious
[W5.4g] Implementation → Code Quality → Readability → Intermediate → Structure Code Logically
[W5.4h] Implementation → Code Quality → Readability → Intermediate → Do Not 'Trip Up' Reader
[W5.4i] Implementation → Code Quality → Readability → Intermediate → Practice KISSing
[W5.4j] Implementation → Code Quality → Readability → Intermediate → Avoid Premature Optimizations
[W5.4k] Implementation → Code Quality → Readability → Intermediate → SLAP Hard
[W5.4l] Implementation → Code Quality → Readability → Advanced → Make the Happy Path Prominent
Naming
[W5.4m] Implementation → Code Quality → Naming → Introduction
[W5.4n] Implementation → Code Quality → Naming → Basic → Use Nouns for Things and Verbs for Actions
[W5.4o] Implementation → Code Quality → Naming → Basic → Use Standard Words
[W5.4p] Implementation → Code Quality → Naming → Intermediate → Use Name to Explain
[W5.4q] Implementation → Code Quality → Naming → Intermediate → Not Too Long, Not Too Short
[W5.4r] Implementation → Code Quality → Naming → Intermediate → Avoid Misleading Names
Unsafe Practices
[W5.4s] Implementation → Code Quality → Error-Prone Practices → Introduction
[W5.4t] Implementation → Code Quality → Error-Prone Practices → Basic → Use the Default Branch
[W5.4u] Implementation → Code Quality → Error-Prone Practices → Basic → Don't Recycle Variables or Parameters
[W5.4v] Implementation → Code Quality → Error-Prone Practices → Basic → Avoid Empty Catch Blocks
[W5.4w] Implementation → Code Quality → Error-Prone Practices → Basic → Delete Dead Code
[W5.4x] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize Scope of Variables
[W5.4y] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize Code Duplication
Code Comments
[W5.4z] Implementation → Code Quality → Comments → Introduction
[W5.4A] Implementation → Code Quality → Comments → Basic → Do Not Repeat the Obvious
[W5.4B] Implementation → Code Quality → Comments → Basic → Write to the Reader
[W5.4C] Implementation → Code Quality → Comments → Intermediate → Explain WHAT and WHY, not HOW
Admin:
iP:
A-Assertions
, A-CodeQuality
, A-Lambdas
, A-Streams
A-Travis
tP:
Full ToC
Admin:
iP:
tP:
Full ToC
Abstraction
Coupling
[W7.2c] Design → Design Fundamentals → Coupling → What
[W7.2d] Design → Design Fundamentals → Coupling → How
[W7.2e] Design → Design Fundamentals → Coupling → Types of Coupling : OPTIONAL
Cohesion
[W7.6a] Project Management → Project Planning → Milestones
[W7.6b] Project Management → Project Planning → Buffers
[W7.6c] Project Management → Project Planning → Issue Trackers
[W7.6d] Project Management → Project Planning → Work Breakdown Structure
[W7.6e] Project Management → Project Planning → GANTT Charts : OPTIONAL
[W7.6f] Project Management → Project Planning → PERT Charts : OPTIONAL
[W7.6g] Project Management → Teamwork → Team Structures
[W7.7a] Project Management → Revision Control → Forking Flow
[W7.7b] Tools → Git and GitHub → Forking Workflow
[W7.7c] Project Management → Revision Control → DRCS vs CRCS
[W7.7d] Project Management → Revision Control → Feature Branch Flow : OPTIONAL
[W7.7e] Project Management → Revision Control → Centralized Flow : OPTIONAL
Admin:
iP:
tP: v1.1
AboutUs
, ContactUs
, README
Full ToC
[W8.1a] Design → Modelling → Modelling Structure → Class Diagrams (Basics)
[W8.1b] Design → Modelling → Modelling Structure → Object Diagrams
[W8.1c] Tools → UML → Object vs Class Diagrams
[W8.1d] Tools → UML → Notes
[W8.1e] Tools → UML → Constraints : OPTIONAL
[W8.1f] Tools → UML → Class Diagrams → Associations as Attributes
[W8.1g] Design → Modelling → Modelling Structure → Class Diagrams - Intermediate
[W8.1h] Paradigms → OOP → Associations → Association Classes
Integration Testing
[W8.3a] Quality Assurance → Testing → Integration Testing → What
[W8.3b] Quality Assurance → Testing → Integration Testing → How
System Testing
[W8.3c] Quality Assurance → Testing → System Testing → What
[W8.3d] Quality Assurance → Testing → Test Automation → Automated Testing of GUIs
Acceptance Testing
[W8.3e] Quality Assurance → Testing → Acceptance Testing → What
[W8.3f] Quality Assurance → Testing → Acceptance Testing → Acceptance vs System Testing
Alpha/Beta Testing
Exploratory vs Scripted Testing
Dependency Injection
[W8.4a] Quality Assurance → Testing → Dependency Injection → What
[W8.4b] Quality Assurance → Testing → Dependency Injection → How : OPTIONAL
Testability
Test Coverage
[W8.4d] Quality Assurance → Testing → Test Coverage → What
[W8.4e] Quality Assurance → Testing → Test Coverage → How
TDD
Admin:
iP:
tP:
Full ToC
[W9.3a] Principles → Single Responsibility Principle :
[W9.3b] Principles → Open-Closed Principle :
[W9.3c] Principles → Separation of Concerns Principle
[W9.3d] Principles → Liskov Substitution Principle :
[W9.3e] Principles → Law of Demeter
[W9.3f] Principles → Interface Segregation Principle : OPTIONAL
[W9.3g] Principles → Dependency Inversion Principle : OPTIONAL
[W9.3h] Principles → SOLID Principles
[W9.3i] Principles → YAGNI Principle : OPTIONAL
[W9.3j] Principles → DRY Principle : OPTIONAL
[W9.3k] Principles → Brooks' Law : OPTIONAL
[W9.5a] Project Management → SDLC Process Models → Introduction → What
[W9.5b] Project Management → SDLC Process Models → Introduction → Sequential Models
[W9.5c] Project Management → SDLC Process Models → Introduction → Iterative Models
[W9.5d] Project Management → SDLC Process Models → Introduction → Agile Models
[W9.5e] Project Management → SDLC Process Models → Scrum
[W9.5f] Project Management → SDLC Process Models → XP
[W9.5g] Project Management → SDLC Process Models → Unified Process : OPTIONAL
[W9.5h] Project Management → SDLC Process Models → CMMI : OPTIONAL
[W9.5i] Project Management → SDLC Process Models → Recap
Type of Developer Docs
Guideline: Aim for Comprehensibility
[W9.6b] Implementation → Documentation → Guidelines → Aim for Comprehensibility → What
[W9.6c] Implementation → Documentation → Guidelines → Aim for Comprehensibility → How
Guideline: Describe Top-Down
[W9.6d] Implementation → Documentation → Guidelines → Describe Top-Down → What
[W9.6e] Implementation → Documentation → Guidelines → Describe Top-Down → Why
[W9.6f] Implementation → Documentation → Guidelines → Describe Top-Down → How
Guideline: Minimal but Sufficient
Admin:
tP: v1.2
[W10.3] Test Cases: Intro
[W10.4] Test Cases: Equivalence Partitioning
[W10.5] Test Cases: Boundary Value Analysis
Full ToC
Introduction
[W10.1a] Design → Design Patterns → Introduction → What
[W10.1b] Design → Design Patterns → Introduction → Format
Singleton pattern
[W10.1c] Design → Design Patterns → Singleton → What
[W10.1d] Design → Design Patterns → Singleton → Implementation
[W10.1e] Design → Design Patterns → Singleton → Evaluation
Facade pattern
Command pattern
Abstraction Occurrence pattern
[W10.2a] Implementation → Error Handling → Defensive Programming → What
[W10.2b] Implementation → Error Handling → Defensive Programming → Enforcing Compulsory Associations
[W10.2c] Implementation → Error Handling → Defensive Programming → Enforcing 1-to-1 Associations : OPTIONAL
[W10.2d] Implementation → Error Handling → Defensive Programming → Enforcing Referential Integrity : OPTIONAL
[W10.2e] Implementation → Error Handling → Defensive Programming → When
[W10.2f] Implementation → Error Handling → Design by Contract → Design by Contract : OPTIONAL
[W10.3a] Quality Assurance → Test Case Design → Introduction → What
[W10.3b] Quality Assurance → Test Case Design → Introduction → Positive vs Negative Test Cases
[W10.3c] Quality Assurance → Test Case Design → Introduction → Black Box vs Glass Box
[W10.3d] Quality Assurance → Test Case Design → Testing Based on Use Cases
Admin:
tP:
Full ToC
[W11.1a] Design → Design Patterns → MVC Pattern → What
[W11.1b] Design → Design Patterns → Observer Pattern → What
[W11.1c] Design → Design Patterns → Other Design Patterns : OPTIONAL
[W11.1d] Design → Design Patterns → Combining Design Patterns : OPTIONAL
[W11.1e] Design → Design Patterns → Using Design Patterns : OPTIONAL
[W11.1f] Design → Design Patterns → Design Patterns vs Design Principles : OPTIONAL
[W11.1g] Design → Design Patterns → Other Types of Patterns : OPTIONAL
[W11.2a] Design → Architecture → Styles → What
[W11.2b] Design → Architecture → Styles → n-Tier Style → What
[W11.2c] Design → Architecture → Styles → Client-Server Style → What
[W11.2d] Design → Architecture → Styles → Event-Driven Style → What
[W11.2e] Design → Architecture → Styles → Transaction Processing Style → What
[W11.2f] Design → Architecture → Styles → Service-Oriented Style → What
[W11.2g] Design → Architecture → Styles → More Styles : OPTIONAL
[W11.2h] Design → Architecture → Styles → Using Styles
[W11.2i] Design → Architecture → Architecture Diagrams → Drawing
[W11.3a] Quality Assurance → Test Case Design → Combining Test Inputs → Why
[W11.3b] Quality Assurance → Test Case Design → Combining Test Inputs → Test Input Combination Strategies
[W11.3c] Quality Assurance → Test Case Design → Combining Test Inputs → Heuristic: Each Valid Input at Least Once in a Positive Test Case
[W11.3d] Quality Assurance → Test Case Design → Combining Test Inputs → Heuristic: No More Than One Invalid Input In A Test Case
[W11.3e] Quality Assurance → Test Case Design → Combining Test Inputs → Mix
APIs
[W11.5a] Implementation → Reuse → Introduction → What
[W11.5b] Implementation → Reuse → Introduction → When
Libraries
[W11.5c] Implementation → Reuse → Libraries → What
[W11.5d] Implementation → Reuse → Libraries → How
[W11.5e] Implementation → Reuse → APIs → What
Frameworks
[W11.5f] Implementation → Reuse → Frameworks → What
[W11.5g] Implementation → Reuse → Frameworks → Frameworks vs Libraries
Platforms
[W11.7a] Design → Modelling → Modelling Structure → Deployment Diagrams : OPTIONAL
[W11.7b] Design → Modelling → Modelling Structure → Component Diagrams : OPTIONAL
[W11.7c] Design → Modelling → Modelling Structure → Package Diagrams : OPTIONAL
[W11.7d] Design → Modelling → Modelling Structure → Composite Structure Diagrams : OPTIONAL
[W11.7e] Design → Modelling → Modelling Behaviors Timing Diagrams : OPTIONAL
[W11.7f] Design → Modelling → Modelling Behaviors Interaction Overview Diagrams : OPTIONAL
[W11.7g] Design → Modelling → Modelling Behaviors Communication Diagrams : OPTIONAL
[W11.7h] Design → Modelling → Modelling Behaviors State Machine Diagrams : OPTIONAL
Admin:
tP: v1.3
Full ToC
Admin:
tP:
Full ToC
Admin:
tP: v1.4