This project is establishing a new visual programming computer lab to support the teaching of software engineering and user-interface design. The visual programming lab is equipped with five multimedia microcomputers, a file and application server, a printer, a scanner, and the visual programming language "Microsoft Visual Basic." The lab provides upper-division computer science majors with hands-on experience designing, building, and evaluating event-driven programs with graphical and multimedia user interfaces. Requirements analysis, rapid prototyping, user testing, and design iteration are emphasized. Two courses that benefit directly from the lab are CS 480 Software Engineering and CS 481 Software Engineering Project. A special topics course, CS 498 User-Interface Design, is offered as a test bed for the new hardware, software, and teaching materials. Students apply what they learn in class to their programming projects in the visual programming lab.