Software Engineering OverviewCovers grading, organization, prerequisites, infrastructure, challenges, testing, developer tools, and reasons to study software engineering.
Software Engineering EssentialsCovers software engineering essentials, emphasizing requirements, modularity, and abstraction, with practical insights and examples.
Testing and DebuggingExplores the history of computing, automated testing, TDD, test coverage, bug reports, and debugging.
Good Code: Best PracticesEmphasizes good code practices, including user story specificity, problem-solving, readable code, design patterns, and defensive programming.
DebuggingCovers testing, TDD, coverage, debugging, naming conventions, comments, and solutions for coding issues.
Performance: Software EngineeringExplores software performance, covering measurement, goals, and improvement strategies, with real-world examples from Netflix and Grand Theft Auto.
Code EvolutionDelves into code evolution, bug identification, refactoring, and legacy code management.
Software PerformanceExplores software performance, covering metrics, latency, optimization techniques, and real-world examples like Grand Theft Auto.
Legacy Code EvolutionCovers benchmark design, caching, latency, bugs, Excel leap year, refactoring, and legacy code evolution.
AsynchronyCovers the purpose of services in the Android ecosystem, app permissions, Intents, designing mobile vs desktop apps, and handling synchronous and asynchronous operations.
Software Development ProcessExplores Scrum, the waterfall model, teamwork, code reviews, and asynchronous software design in software development.