Introduction to ethics, computer reliability and safety, privacy, computer crime, intellectual property, impact of computers on work and society....
Topics include operating system services, file systems, CPU scheduling, memory management, virtual memory, disk scheduling, deadlocks, concurrent...
A detailed study of an aspect of computer science or computer electronics not available through the regular program. Prerequisites...
A detailed examination of a field or topic of interest not covered by the regular program. Prerequisites Permission of the department....
The principles, algorithms and techniques of computer graphics. Topics include introduction to graphics hardware, output primitives, two- and...
A continuation of the study of computer algorithms. Amortized analysis, on-line and off-line algorithms, randomized algorithms, dynamic programming. ...
Deterministic and nondeterministic finite automata (DFAs and NFAs), regular expressions, context-free grammars, relationship of push-down automata and...
Algorithms and issues in applied cryptography. Topics include history of cryptography, block ciphers, stream ciphers, public-key encryption, digital...
Introduction to the basic computational problems arising in molecular biology. Emphasis is on the development of efficient algorithms. Topics include...
Discrete and continuous simulations, queuing theory. Prerequisites MA240 (or equivalent), CP213.
Topics may include computer classes and evolution, instruction set design, hardwired sequencer design, microprogramming, memory hierarchies,...
This course covers advanced database management system design principles and techniques. Possible topics include access methods, query processing and...
Introduction to vision systems for image acquisition and display. Comprehensive coverage of image enhancement, segmentation, feature extraction and...
Examination of current concepts and techniques in artificial intelligence and machine learning. Topics include knowledge representation, automated...
Programming applications for the iPhone, iPad and iPod platforms, using the Cocoa Touch framework on Mac OSX. Introduction to the programming language...
Principles and design techniques for compilers. Compiler organization, compiler writing tools, scanning, parsing, semantic analysis, run-time storage...
Overview of programming languages, virtual machines, history of programming languages, programming language semantics, programming language design,...
The architecture of the Internet. Client-server programming, technologies of the web (URLs, HTML, HTTP, applets, etc.) Introduction to building web...
An in-depth investigation of a computer science subject under faculty supervision, including the submission of a formal report. Prerequisites...