interactive programming articles