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:
- JavaScript Todo App - Vanilla JavaScript with DOM manipulation
- TypeScript Todo App - Type-safe version with strict typing
- React Todo App - Component-based architecture with hooks
Presentation
- View Presentation Slides - Complete presentation covering language comparisons and benefits
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