Admin Weekly schedule → The TIC4001 week vs normal academic week
Each TIC4001 week starts with the lecture and ends just before the following week's lecture. The only exception is week 1, which starts on the Monday of the first week of the semester.
Admin Weekly schedule → Deadline for weekly tasks
Topics:
No topic allocated to this week.
Admin:
Topics:
Full ToC
[W2.8a] Project Management → Revision Control → What :
[W2.8b] Project Management → Revision Control → Repositories :
[W2.8c] Tools → Git and GitHub →
init
: Getting started :
[W2.8d] Project Management → Revision Control → Saving history :
[W2.8e] Tools → Git and GitHub →
commit
: Saving changes to history :
[W2.8f] Tools → Git and GitHub → Omitting files from revision control :
[W2.10a] Project Management → Revision Control → Using history :
[W2.10b] Tools → Git and GitHub →
tag
: Naming commits :
[W2.10c] Tools → Git and GitHub →
diff
: Comparing revisions :
[W2.10d] Tools → Git and GitHub →
checkout
: Retrieving a specific revision :
[W2.10e] Tools → Git and GitHub →
stash
: Shelving changes temporarily
Admin:
iP:
Level-0
, Level-1
, Level-2
, Level-3
before next lectureTopics:
[W3.1] OOP, Java: Class-Level Members
[W3.2] Java: Useful Classes
[W3.3] OOP + Java: Inheritance
[W3.4] OOP + Java: Polymorphism
[W3.5] Java: Constants
[W3.6] OOP + Java: Enumerations
Full ToC
[W3.2a] Implementation → Reuse → APIs → What :
[W3.2b] C++ to Java → Some Useful Classes → Java API :
[W3.2c] C++ to Java → Some Useful Classes →
The String
class :
[W3.2d] C++ to Java → Some Useful Classes → Wrapper Classes for primitive types :
[W3.2e] C++ to Java → Some Useful Classes →
The Arrays
class :
[W3.2f] C++ to Java → Some Useful Classes →
The Scanner
class :
Admin:
iP:
Level-4
, A-TextUiTesting
, A-CodingStandard
tP:
Topics:
[W4.1] Java: Casting
[W4.2] OOP + Java: Abstract Classes
[W4.3] OOP + Java: Interfaces
[W4.4] Java: Packages
[W4.5] Java: Access Modifiers
[W4.6] Error Handling: Exceptions
[W4.7] Code Quality: Naming
[W4.8] Code Quality: Readability
[W4.9] Refactoring
Full ToC
[W4.6a] Implementation → Error Handling → Introduction → What :
[W4.6b] Implementation → Error Handling → Exceptions → What :
[W4.6c] Implementation → Error Handling → Exceptions → How :
[W4.6d] C++ to Java → Exceptions → What are Exceptions? :
[W4.6e] C++ to Java → Exceptions → How to use Exceptions :
[W4.6f] Implementation → Error Handling → Exceptions → When :
[W4.7a] Implementation → Code Quality → Naming → Introduction :
[W4.7b] Implementation → Code Quality → Naming → Basic → Use nouns for things and verbs for actions :
[W4.7c] Implementation → Code Quality → Naming → Basic → Use standard words :
[W4.7d] Implementation → Code Quality → Naming → Intermediate → Use name to explain :
[W4.7e] Implementation → Code Quality → Naming → Intermediate → Not too long, not too short :
[W4.7f] Implementation → Code Quality → Naming → Intermediate → Avoid misleading names :
Readability
[W4.8a] Implementation → Code Quality → Readability → Basic → Avoid long methods :
[W4.8b] Implementation → Code Quality → Readability → Basic → Avoid deep nesting :
[W4.8c] Implementation → Code Quality → Readability → Basic → Avoid complicated expressions :
[W4.8d] Implementation → Code Quality → Readability → Basic → Avoid magic numbers :
[W4.8e] Implementation → Code Quality → Readability → Basic → Make the code obvious :
[W4.8f] Implementation → Code Quality → Readability → Intermediate → Structure code logically :
[W4.8g] Implementation → Code Quality → Readability → Intermediate → Do not 'Trip Up' reader :
[W4.8h] Implementation → Code Quality → Readability → Intermediate → Practice KISSing :
[W4.8i] Implementation → Code Quality → Readability → Intermediate → Avoid premature optimizations :
[W4.8j] Implementation → Code Quality → Readability → Intermediate → SLAP hard :
[W4.8k] Implementation → Code Quality → Readability → Advanced → Make the happy path prominent :
Admin:
iP:
Level-5
, A-CodeQuality
, A-AbstractClasses
, A-Packages
tP:
Topics:
[W5.1] Java: Generics
[W5.2] Java: Collections
[W5.3] Java: File Access
[W5.4] Java: JAR Files
[W5.5] Java: Varargs
[W5.6] Java: streams
Full ToC
Javadoc
[W5.8a] Implementation → Code Quality → Comments → Introduction :
[W5.8b] Implementation → Code Quality → Comments → Basic → Do not repeat the obvious :
[W5.8c] Implementation → Code Quality → Comments → Basic → Write to the reader :
[W5.8d] Implementation → Code Quality → Comments → Intermediate → Explain WHAT and WHY, not HOW :
[W5.10a] Requirements → Gathering Requirements → Brainstorming :
[W5.10b] Requirements → Gathering Requirements → Product surveys :
[W5.10c] Requirements → Gathering Requirements → Observation :
[W5.10d] Requirements → Gathering Requirements → User surveys :
[W5.10e] Requirements → Gathering Requirements → Interviews :
[W5.10f] Requirements → Gathering Requirements → Focus groups :
[W5.10g] Requirements → Gathering Requirements → Prototyping :
Prose
User Stories
[W5.11b] Requirements → Specifying Requirements → User Stories → Introduction :
[W5.11c] Requirements → Specifying Requirements → User Stories → Details :
[W5.11d] Requirements → Specifying Requirements → User Stories → Usage :
Feature Lists
Use Cases
Glossary
Supplementary Requirements
Admin:
iP:
Level-6
Level-7
, A-JavaDoc
A-Jar
tP:
Topics:
Full ToC
[W6.2a] Implementation → Code Quality → Error-Prone Practices → Introduction
[W6.2b] Implementation → Code Quality → Error-Prone Practices → Basic → Use the default branch
[W6.2c] Implementation → Code Quality → Error-Prone Practices → Basic → Don't recycle variables or parameters
[W6.2d] Implementation → Code Quality → Error-Prone Practices → Basic → Avoid empty catch blocks
[W6.2e] Implementation → Code Quality → Error-Prone Practices → Basic → Delete dead code
[W6.2f] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize scope of variables
[W6.2g] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize code duplication
Admin:
iP:
A-MoreOOP
Level-8
, Level-9
, A-JUnit
tP:
Topics:
[W7.1] SDLC Process Models: Basics
[W7.2] Continuous Integration/Deployment
[W7.3] Project Mgt: Workflows
Full ToC
[W7.3a] Project Management → Revision Control → Forking flow
[W7.3b] Tools → Git and GitHub → Forking workflow
[W7.3c] Project Management → Revision Control → DRCS vs CRCS
[W7.3d] Project Management → Revision Control → Feature branch flow : OPTIONAL
[W7.3e] Project Management → Revision Control → Centralized flow : OPTIONAL
Admin:
iP:
tP:
Topics:
Full ToC
Abstraction
Coupling
[W8.1b] Design → Design Fundamentals → Coupling → What :
[W8.1c] Design → Design Fundamentals → Coupling → How :
[W8.1d] Design → Design Fundamentals → Coupling → Types of coupling :
Cohesion
[W8.3a] Project Management → Project Planning → Milestones :
[W8.3b] Project Management → Project Planning → Buffers :
[W8.3c] Project Management → Project Planning → Issue trackers :
[W8.3d] Project Management → Project Planning → Work breakdown structure :
[W8.3e] Project Management → Project Planning → Gantt charts :
[W8.3f] Project Management → Project Planning → PERT charts :
[W8.3g] Project Management → Teamwork → Team structures
[W8.4a] Quality Assurance → Quality Assurance → Introduction → What :
[W8.4b] Quality Assurance → Quality Assurance → Introduction → Validation versus verification :
[W8.4c] Quality Assurance → Quality Assurance → Code Reviews → What :
[W8.4d] Quality Assurance → Quality Assurance → Static Analysis → What :
[W8.4e] Quality Assurance → Quality Assurance → Formal Verification → What :
Admin:
tP:
Topics:
Full ToC
Introduction
[W9.1a] Design → Design Patterns → Introduction → What :
[W9.1b] Design → Design Patterns → Introduction → Format :
Singleton pattern
[W9.1c] Design → Design Patterns → Singleton → What :
[W9.1d] Design → Design Patterns → Singleton → Implementation :
[W9.1e] Design → Design Patterns → Singleton → Evaluation
Facade pattern
Admin:
tP: v1.0
Topics:
[W10.1] Types of Testing
[W10.2] Test Cases: Intro
[W10.3] Equivalence Partitioning
[W10.4] Boundary Value Analysis
Full ToC
Unit Testing: continued
[W10.1a] Quality Assurance → Testing → Unit Testing → Stubs
[W10.1b] Quality Assurance → Testing → Dependency Injection → What : OPTIONAL
[W10.1c] Quality Assurance → Testing → Dependency Injection → How : OPTIONAL
Integration Testing
[W10.1d] Quality Assurance → Testing → Integration Testing → What :
[W10.1e] Quality Assurance → Testing → Integration Testing → How
System Testing
[W10.1f] Quality Assurance → Testing → System Testing → What :
[W10.1g] Quality Assurance → Testing → Test Automation → Automated testing of GUIs : OPTIONAL
Acceptance Testing
[W10.1h] Quality Assurance → Testing → Acceptance Testing → What :
[W10.1i] Quality Assurance → Testing → Acceptance Testing → Acceptance versus system testing :
Alpha/Beta Testing
[W10.2a] Quality Assurance → Test Case Design → Introduction → What
[W10.2b] Quality Assurance → Testing → Exploratory and Scripted Testing → What :
[W10.2c] Quality Assurance → Testing → Exploratory and Scripted Testing → When :
[W10.2d] Quality Assurance → Test Case Design → Introduction → Positive versus negative test cases
[W10.2e] Quality Assurance → Test Case Design → Introduction → Black box versus glass box
Admin:
tP:
Topics:
[W11.2] Design: Models
[W11.3] Class/Object Diagrams: Basics
[W11.4] Class/Object Diagrams: Intermediate
Full ToC
[W11.3a] Design → Modelling → Modelling Structure → OO structures :
[W11.3b] Design → Modelling → Modelling Structure → Class diagrams - basic :
[W11.3c] Design → Modelling → Modelling Structure → Object diagrams :
[W11.3d] Tools → UML → Object versus class diagrams :
[W11.3e] Tools → UML → Class Diagrams → Associations as attributes :
[W11.3f] Tools → UML → Notes :
Admin:
tP: v2.0
Topics:
Full ToC
Admin:
tP:
Topics:
No topic allocated to this week.
Admin:
tP: v3.0