Some Courses Taught by David Bernstein
Software engineering is the application of theories, methods and tools to the specification, design, creation, verification/validation, deployment, operation, and maintenance of software products. This course provides an overview of the engineering methods, processes, techniques and measurements used in the software industry. After completing this course, students will have gained some experience with these concepts should be able to explain their advantages and disadvantages, and should be able to apply them.
This course is an introduction to 2-D and 3-D computer graphics that covers the material from the bottom up. That is, it starts with the mathematical foundations, then explores the algorithmic issues that arise when implementing those mathematical concepts, and then considers the practice of developing graphical applications (using existing libraries).