Course Calendar & Materials

All available resources for this course will be added to the following table.

SessionDateSubjectsSlidesCodes & CommandsAdditional Links
1January 6, 2019What is Version Control, Centralized & Distributed Version Control Systems, Most Preferred Version Control Systems, Online VCS Hostings, What is Git, What Makes GIT Different (Snapshot vs. Difference, Local vs Online), States (Modified, Staged, Committed), SHA-1 Checksum, Addition & Deletion in Git, Basic Git Commands, Make Changes On A Specific Commit, HEAD Pointer, Git History Graph, The Anatomy of a GIT Commit, Git Branching, Merge Methods (Fast-forward, Recursive), Automatic Merging, Resolving a Merge Conflict Using the Command Line, Working with Remotes, SSH and HTTPS Protocols for Clone URLs, Creating Remote Branches on Local, Multi-line Commit Messagesgit-version-control-system--
2January 13, 2019Use GIT in IDE, Merging & Resolving Conflicts in IDE, Squash Merge, Git Rebase, Rebasing Public Branches, When to Delete Branches, Basic Workflow, Feature Branching Workflow, Git-Flow, Git-Flow Principles (Always Recursive Merging, Same Remote and Local Branches, Long-running Branches), Git-Flow Initialization, Git Tags, Git-Flow Branching Model (Release Branches, Feature Branches, Develop Branch, Hotfix Branches), A successful Git branching model considered harmful, Git History in a Long Run, Git Hooks, Git Webhooks, Git Auto-Deploy, Good Commit Messagesgit-version-control-system-part2-A successful Git branching model considered harmful, 5 types of Git workflows that will help you deliver better code
3January 20, 2019Semantic Versioning, Customizing Git Environment, Configuration Levels (System, Global, Local), Git Configuration Variables (User Identity, Editor), Checking GIT Configurations, Tracked (Unmodified, Modified, Staged) and Untracked Files, Lifecycle of the status of the files, The Example of Having Modified and Staging Area in a File, Staging Modified Files, Short Status, Ignoring Files and when to use them, Rules for patterns in .gitignore files, Additional .gitignore files in subdirectories, Viewing Staged and Unstaged Changes, Viewing diffs with diff viewing programs, Put Git Status and Git Diff to the editor when writing Commit Messages, Staging every file that is already tracked when creating a new commit, Removing Files in Git, Force Removal of Files in Git, Remove a File from The Tracked Area, Showing the difference in Git Log, Limiting log to only the last commits, Abbreviated Stats in Git Log, Pretty Printing Git Log, Print Git Log as an ASCII Graph, Find commits which changed the number of occurences of the string, Seperate path from commands options, Preventing the Display of Merge Commits, Redo the Last Commit or Edit its Commit Message, Unstaging a Staged File, Safe Undoing Commands vs. Dangerous Ones, Unmodifying a Modified Files, Showing Remotes, Removing Remotes, Listing Git Tags, Search for a Tag, Lightweight vs. Annotated Tags, Creating Tags, Tagging Later, Sharing Tagsgit-version-control-system-part2--
4January 27, 2019Some Basic Terms in Software Engineering, Methodology Engineering, System Engineering, Requirements Engineering, Functional Requirements, Non-functional Requirement, Need of Software Engineering, Software Development Life Cycle (SDLC), Requirement Gathering Techniques, Feasibility Study and Software Development Risks, Verification & Validation, Software Maintenance Types, Software Development Paradigms, Computer-aided, Computer-centric, Hardware wear out, Software Deteriorationsoftware_testing.html-Hardware Wear Out, Software Deterioration
5February 3, 2019Software Testing Definition, Who does Testing, When to Start Testing, When to Stop Testing, Software Testing Myths, Write Tests to Enable Evolutionsoftware_testing.html--
6February 10, 2019Software Testing Types, Manual Testing, Automation Testing, What to Automate?, When to Automate?, How to Automate?, Software Testing Methods, Black-Box Testing, White-Box Testing, Grey-Box Testing, Software Testing Levels, Functional Testing, Non-functional Testing, Smoke Testing, Unit Testing, Limitations of Unit Testing, Integration Testing, System Testing, Regression Testing, Acceptance Testing, Alpha Testing, Beta Testing, Performance Testing, Load Testing, Stress Testing, Five-Second Testing (First Impression Testing)software_testing.html-Root Cause Analysis
7February 24, 2019Fitment of testing levels in the SDLC, Soak testing, Usability Testing, A/B Testing, Accessibility Testing, UI Testing, Security Testing, Portability Testing, Compliance Testing, Recovery Testing, Volume Testing, Scalability Testing, Increment Loads in Scalability Testing, Scalability Testing Outcome, Documentation Testing, Testing Documentation, Test Plan, Test Scenario, Test Case, Traceability Matrixsoftware_testing.html--
8March 3, 2019Software Testing Terminology, Test Pyramid, Ice-Cream Cones Anti-pattern, Test Coveragesoftware_testing.html--
9March 9, 2019Test Double, Mocks, Stubs, Software Testing Patterns, QA in Production, Software Testing Anti-Patternssoftware_testing.html--