Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Emphasis is on good programming style. This course covers foundational programming concepts using JavaScript, the most common language for implementing interactive web pages. No prior programming experience required.