Computer Science- CS
Memory-system design, pipeline structures, vector computers, scientific array processors, multi-processor architecture. Within each topic, the emphasis is on fundamental limitations: memory bandwidth, inter-processor communication, processing bandwidth and synchronization. Prerequisite: CMSC 411 or consent of instructor.
A detailed study of advanced topics in operating systems, including synchronization mechanisms, virtual memory, deadlocks, distributed resource sharing, computer security and modeling of operating systems. Prerequisite: CMSC 421 or consent of instructor.
A study of advanced topics in computer graphics emphasizing algorithms for display of 3D objects, including wireframe representation, polygon mesh models, shading algorithms, parametric representation of curves, hidden-surface elimination, fractals and ray tracing. Other topics include advanced topics from the computer graphics literature, page description languages, CORE, GKS, PHIGS, CGI, the X window system, X window intrinsics, Motif and widget programming. Prerequisite: CMSC 435 or CMSC 634 or consent of instructor.
Modern approaches to software development: requirements analysis, system design techniques, formal description techniques, implementation, testing, debugging, metrics, human factors, quality assurance, cost estimation, maintenance and tools. Prerequisite: CMSC 445 or consent of instructor.
Advanced topics in the area of database management systems: data models and their underlying mathematical foundations, database manipulation and query languages, functional dependencies, physical data organization and indexing methods, concurrency control, crash recovery, database security and distributed databases. Prerequisite: CMSC 461 or consent of instructor.
This course focuses on the use of electronic means to pursue business objectives. Special emphasis is placed on students’ ability to do research into existing and emerging technology and to summarize and present their findings clearly. The first part of the course is devoted to enabling technologies, including an introduction to business models for e-commerce and basic infrastructure, an overview of networking technologies and their impact on e-commerce and discussions on database technologies and Web-database connectivity. The second part of the course concentrates on the issues that are not solely technical, such as trust management, privacy and personalization, selling information products, copy protection and the digital divide.
A study of topics central to artificial intelligence, including logic for problem-solving, intelligent search techniques, knowledge representation, inference mechanisms, expert systems and AI programming. Prerequisite: CMSC 471 or consent of instructor.
In-depth coverage of fundamental and advanced concepts in computer networking: protocol design, verification and testing; medium access protocols for next-generation networks; error detection and correction schemes; distributed routing algorithms concepts and mathematical analysis; switching architectures, quality-of-service architectures; admission control and scheduling algorithms; flow and congestion control; multi-cast architectures and protocols; network security; and data compression. Prerequisite: CMSC 481 or approval of instructor.