Homework 3: High-Level Programming Languages#

Building Todo Apps in JavaScript, TypeScript, and React to demonstrate the evolution and benefits of high-level programming languages.

Overview#

This homework explores how high-level languages and frameworks help create high-quality software effectively by building three implementations of the same Todo application:

  1. JavaScript Todo App - Vanilla JavaScript with DOM manipulation
  2. TypeScript Todo App - Type-safe version with strict typing
  3. React Todo App - Component-based architecture with hooks

Presentation#

Key Topics Covered#

  • Abstraction - Focus on “what” not “how”
  • Type Safety - Catching errors at compile time vs runtime
  • Component Reusability - Self-contained, reusable units
  • State Management - Manual vs automatic UI updates
  • Maintainability & Scalability - Code organization comparison

Course Principles Applied#

APIEC Framework#

  • Abstraction, Polymorphism, Inheritance, Encapsulation, Composition

SOLID Principles#

  • Single Responsibility, Open/Closed, Dependency Inversion