Interactive graphical techniques and applications. Three dimensional graphics, perspective transformation, hidden line elimination. Data structures and languages for graphics. Interactive graphical programming. Protocols and architectures of computer networks.
Emphasis is placed on understanding protocol design principles.
Programming problems to explore design choices and actual implementation issues assigned. Introduction to Artificial Intelligence. Fundamental concepts of AI, organized around the task of building computational agents. Core topics include search, logic, representation and reasoning, automated planning, decision making under uncertainty, and machine learning. Computer Game Design and Development.