repl.it
linkAdmin:
Full ToC
Admin:
iP:
Level-0
[W3.2] Java: Objects
[W3.3] Java: Classes
[W3.4] OOP, Java: Class-Level Members
[W3.5] Java: Useful Classes
Full ToC
[W3.5a] Implementation → Reuse → APIs → What
[W3.5b] C++ to Java → Some Useful Classes → Java API
[W3.5c] C++ to Java → Some Useful Classes →
The String
class
[W3.5d] C++ to Java → Some Useful Classes → Wrapper Classes for primitive types
[W3.5e] C++ to Java → Some Useful Classes →
The Arrays
class
[W3.5f] C++ to Java → Some Useful Classes →
The Scanner
class
[W3.6a] Implementation → Code Quality → Naming → Introduction
[W3.6b] Implementation → Code Quality → Naming → Basic → Use nouns for things and verbs for actions
[W3.6c] Implementation → Code Quality → Naming → Basic → Use standard words
[W3.6d] Implementation → Code Quality → Naming → Intermediate → Use name to explain
[W3.6e] Implementation → Code Quality → Naming → Intermediate → Not too long, not too short
[W3.6f] Implementation → Code Quality → Naming → Intermediate → Avoid misleading names
Admin:
iP:
Level-1
, Level-2
, Level-3
, A-CodingStandard
tP:
[W4.1] OOP + Java: Inheritance
[W4.2] OOP + Java: Polymorphism
[W4.3] Java: Constants
[W4.4] OOP + Java: Enumerations
Full ToC
[W4.5a] Implementation → Code Quality → Readability → Introduction
[W4.5b] Implementation → Code Quality → Readability → Basic → Avoid long methods
[W4.5c] Implementation → Code Quality → Readability → Basic → Avoid deep nesting
[W4.5d] Implementation → Code Quality → Readability → Basic → Avoid complicated expressions
[W4.5e] Implementation → Code Quality → Readability → Basic → Avoid magic numbers
[W4.5f] Implementation → Code Quality → Readability → Basic → Make the code obvious
[W4.5g] Implementation → Code Quality → Readability → Intermediate → Structure code logically
[W4.5h] Implementation → Code Quality → Readability → Intermediate → Do not 'Trip Up' reader
[W4.5i] Implementation → Code Quality → Readability → Intermediate → Practice KISSing
[W4.5j] Implementation → Code Quality → Readability → Intermediate → Avoid premature optimizations
[W4.5k] Implementation → Code Quality → Readability → Intermediate → SLAP hard
[W4.5l] Implementation → Code Quality → Readability → Advanced → Make the happy path prominent
Admin:
iP:
Level-4
, A-TextUiTesting
, A-CodeQuality
tP:
[W5.1] Java: Casting
[W5.2] OOP + Java: Abstract Classes
[W5.3] OOP + Java: Interfaces
[W5.4] Java: Packages
[W5.5] Java: Access Modifiers
Full ToC
[W5.6a] Implementation → Error Handling → Introduction → What
[W5.6b] Implementation → Error Handling → Exceptions → What
[W5.6c] Implementation → Error Handling → Exceptions → How
[W5.6d] C++ to Java → Exceptions → What are Exceptions?
[W5.6e] C++ to Java → Exceptions → How to use Exceptions
[W5.6f] Implementation → Error Handling → Exceptions → When
User Stories
[W5.7a] Requirements → Specifying Requirements → User Stories → Introduction
[W5.7b] Requirements → Specifying Requirements → User Stories → Details
[W5.7c] Requirements → Specifying Requirements → User Stories → Usage
Feature Lists
Admin:
iP:
Level-5
A-Packages
tP:
[W6.1] Java: Generics
[W6.2] Java: Collections
[W6.3] Java: File Access
[W6.4] Java: JAR Files
[W6.5] Java: Varargs : OPTIONAL
[W6.6] Java: streams : OPTIONAL
[W6.7] Requirements: Intro
[W6.8] Requirements: Gathering
[W6.9] Requirements: Specifying [continued from last week]
Full ToC
[W6.8a] Requirements → Gathering Requirements → Brainstorming
[W6.8b] Requirements → Gathering Requirements → Product surveys
[W6.8c] Requirements → Gathering Requirements → Observation
[W6.8d] Requirements → Gathering Requirements → User surveys
[W6.8e] Requirements → Gathering Requirements → Interviews
[W6.8f] Requirements → Gathering Requirements → Focus groups
[W6.8g] Requirements → Gathering Requirements → Prototyping
Prose
User Stories [Repeated from last week]
[W6.9b] Requirements → Specifying Requirements → User Stories → Introduction
[W6.9c] Requirements → Specifying Requirements → User Stories → Details
[W6.9d] Requirements → Specifying Requirements → User Stories → Usage
Feature Lists [Repeated from last week]
Use Cases
Glossary
Supplementary Requirements
[W6.12a] Implementation → Code Quality → Error-Prone Practices → Introduction
[W6.12b] Implementation → Code Quality → Error-Prone Practices → Basic → Use the default branch
[W6.12c] Implementation → Code Quality → Error-Prone Practices → Basic → Don't recycle variables or parameters
[W6.12d] Implementation → Code Quality → Error-Prone Practices → Basic → Avoid empty catch blocks
[W6.12e] Implementation → Code Quality → Error-Prone Practices → Basic → Delete dead code
[W6.12f] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize scope of variables
[W6.12g] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize code duplication
Admin:
iP:
Level-6
, Level-7
A-Jar
tP:
Full ToC
Javadoc
[W7.2a] Implementation → Documentation → Tools → JavaDoc → What
[W7.2b] Implementation → Documentation → Tools → JavaDoc → How
Markdown
[W7.2c] Implementation → Documentation → Tools → Markdown → What
[W7.2d] Implementation → Documentation → Tools → Markdown → How
AsciiDoc
[W7.3a] Implementation → Code Quality → Comments → Introduction
[W7.3b] Implementation → Code Quality → Comments → Basic → Do not repeat the obvious
[W7.3c] Implementation → Code Quality → Comments → Basic → Write to the reader
[W7.3d] Implementation → Code Quality → Comments → Intermediate → Explain WHAT and WHY, not HOW
[W7.6a] Project Management → Revision Control → Forking flow
[W7.6b] Tools → Git and GitHub → Forking workflow
[W7.6c] Project Management → Revision Control → DRCS vs CRCS
[W7.6d] Project Management → Revision Control → Feature branch flow : OPTIONAL
[W7.6e] Project Management → Revision Control → Centralized flow : OPTIONAL
Admin:
iP:
A-MoreOOP
Level-8
, Level-9
, A-JavaDoc
tP:
Full ToC
[W8.1a] Quality Assurance → Testing → Developer Testing → What
[W8.1b] Quality Assurance → Testing → Developer Testing → Why
[W8.1c] Quality Assurance → Testing → Test Automation → Test automation using test drivers
[W8.1d] Quality Assurance → Testing → Test Automation → Test automation tools
[W8.1e] C++ to Java → JUnit → JUnit: Basic
[W8.4a] Design → Modelling → Modelling Structure → OO structures
[W8.4b] Design → Modelling → Modelling Structure → Class diagrams - basic
[W8.4c] Design → Modelling → Modelling Structure → Object diagrams
[W8.4d] Tools → UML → Object versus class diagrams
[W8.4e] Tools → UML → Class Diagrams → Associations as attributes
[W8.4f] Tools → UML → Notes
[W8.5a] Project Management → Project Planning → Milestones
[W8.5b] Project Management → Project Planning → Buffers
[W8.5c] Project Management → Project Planning → Issue trackers
[W8.5d] Project Management → Project Planning → Work breakdown structure
[W8.5e] Project Management → Project Planning → Gantt charts : OPTIONAL
[W8.5f] Project Management → Project Planning → PERT charts : OPTIONAL
[W8.5g] Project Management → Teamwork → Team structures
Admin:
iP:
tP:
Full ToC
Abstraction
Coupling
[W9.4b] Design → Design Fundamentals → Coupling → What
[W9.4c] Design → Design Fundamentals → Coupling → How
[W9.4d] Design → Design Fundamentals → Coupling → Types of coupling : OPTIONAL
Cohesion
[W9.4e] Design → Design Fundamentals → Cohesion → What
[W9.4f] Design → Design Fundamentals → Cohesion → How
Some other principles
Admin:
tP: v1.0
Full ToC
Introduction
[W10.3a] Design → Design Patterns → Introduction → What
[W10.3b] Design → Design Patterns → Introduction → Format
Singleton pattern
[W10.3c] Design → Design Patterns → Singleton → What
[W10.3d] Design → Design Patterns → Singleton → Implementation
[W10.3e] Design → Design Patterns → Singleton → Evaluation
Facade pattern
Admin:
tP:
Full ToC
Introduction
[W11.1a] Design → Introduction → Multi-level design
[W11.1b] Design → Architecture → Introduction → What
[W11.1c] Design → Architecture → Architecture Diagrams → Reading
Architectural Styles
Unit Testing
[W11.2a] Quality Assurance → Testing → Unit Testing → What
[W11.2b] Quality Assurance → Testing → Unit Testing → Stubs
[W11.2c] Quality Assurance → Testing → Dependency Injection → What : OPTIONAL
[W11.2d] Quality Assurance → Testing → Dependency Injection → How : OPTIONAL
Integration Testing
[W11.2e] Quality Assurance → Testing → Integration Testing → What
[W11.2f] Quality Assurance → Testing → Integration Testing → How
System Testing
[W11.2g] Quality Assurance → Testing → System Testing → What
[W11.2h] Quality Assurance → Testing → Test Automation → Automated testing of GUIs
Acceptance Testing
[W11.2i] Quality Assurance → Testing → Acceptance Testing → What
[W11.2j] Quality Assurance → Testing → Acceptance Testing → Acceptance versus system testing
Alpha/Beta Testing
[W11.3a] Quality Assurance → Test Case Design → Introduction → What
[W11.3b] Quality Assurance → Testing → Exploratory and Scripted Testing → What
[W11.3c] Quality Assurance → Testing → Exploratory and Scripted Testing → When
[W11.3d] Quality Assurance → Test Case Design → Introduction → Positive versus negative test cases
[W11.3e] Quality Assurance → Test Case Design → Introduction → Black box versus glass box
[W11.3f] Quality Assurance → Test Case Design → Testing based on use cases
Admin:
tP: v2.0
Full ToC
[W12.3a] Quality Assurance → Quality Assurance → Introduction → What
[W12.3b] Quality Assurance → Quality Assurance → Introduction → Validation versus verification
[W12.3c] Quality Assurance → Quality Assurance → Code Reviews → What
[W12.3d] Quality Assurance → Quality Assurance → Static Analysis → What
[W12.3e] Quality Assurance → Quality Assurance → Formal Verification → What
Admin:
tP:
Full ToC
Admin:
tP: v2.1