Saturday, September 15, 2007

Computer Science

Computer Science (since 1/93)

Categories within Computer Science (cs)




Architecture (cs.AR: new, recent, find)
Covers systems organization and architecture. Roughly includes material in ACM Subject Classes C.0, C.1, and C.5.
Artificial Intelligence (cs.AI: new, recent, find)
Covers all areas of AI except Vision, Robotics, Machine Learning, Multiagent Systems, and Computation and Language (Natural Language Processing), which have separate subject areas. In particular, includes Expert Systems, Theorem Proving (although this may overlap with Logic in Computer Science), Knowledge Representation, Planning, and Uncertainty in AI. Roughly includes material in ACM Subject Classes I.2.0, I.2.1, I.2.3, I.2.4, I.2.8, and I.2.11.
Computation and Language (cs.CL: new, recent, find)
Covers natural language processing. Roughly includes material in ACM Subject Class I.2.7. Note that work on artificial languages (programming languages, logics, formal systems) that does not explicitly address natural-language issues broadly construed (natural-language processing, computational linguistics, speech, text retrieval, etc.) is not appropriate for this area.
Computational Complexity (cs.CC: new, recent, find)
Covers models of computation, complexity classes, structural complexity, complexity tradeoffs, upper and lower bounds. Roughly includes material in ACM Subject Classes F.1 (computation by abstract devices), F.2.3 (tradeoffs among complexity measures), and F.4.3 (formal languages), although some material in formal languages may be more appropriate for Logic in Computer Science. Some material in F.2.1 and F.2.2, may also be appropriate here, but is more likely to have Data Structures and Algorithms as the primary subject area.
Computational Engineering, Finance, and Science (cs.CE: new, recent, find)
Covers the use of computational methods in all areas of Science (including Computational Biology and Computational Chemistry), Engineering, and Finance. Roughly includes material in ACM Subject Classes J.2, J.3, and J.4.
Computational Geometry (cs.CG: new, recent, find)
Roughly includes material in ACM Subject Classes I.3.5 and F.2.2.
Computer Science and Game Theory (cs.GT: new, recent, find)
Covers all theoretical and applied aspects at the intersection of computer science and game theory, including work in mechanism design, learning in games (which may overlap with Learning), foundations of agent modeling in games (which may overlap with Multiagent systems), coordination, specification and formal methods for non-cooperative computational environments. The area also deals with applications of game theory to areas such as electronic commerce.
Computer Vision and Pattern Recognition (cs.CV: new, recent, find)
Covers image processing, computer vision, pattern recognition, and scene understanding. Roughly includes material in ACM Subject Classes I.2.10, I.4, and I.5.
Computers and Society (cs.CY: new, recent, find)
Covers impact of computers on society, computer ethics, information technology and public policy, legal aspects of computing, computers and education. Roughly includes material in ACM Subject Classes K.0, K.2, K.3, K.4, K.5, and K.7.
Cryptography and Security (cs.CR: new, recent, find)
Covers all areas of cryptography and security including authentication, public key cryptosytems, proof-carrying code, etc. Roughly includes material in ACM Subject Classes D.4.6 and E.3.
Data Structures and Algorithms (cs.DS: new, recent, find)
Covers data structures and analysis of algorithms. Roughly includes material in ACM Subject Classes E.1, E.2, F.2.1, and F.2.2.
Databases (cs.DB: new, recent, find)
Covers database management, datamining, and data processing. Roughly includes material in ACM Subject Classes E.2, E.5, H.0, H.2, and J.1.
Digital Libraries (cs.DL: new, recent, find)
Covers all aspects of the digital library design and document and text creation. Note that there will be some overlap with Information Retrieval (which is a separate subject area). Roughly includes material in ACM Subject Classes H.3.5, H.3.6, H.3.7, I.7.
Discrete Mathematics (cs.DM: new, recent, find)
Covers combinatorics, graph theory, applications of probability. Roughly includes material in ACM Subject Classes G.2 and G.3.
Distributed, Parallel, and Cluster Computing (cs.DC: new, recent, find)
Covers fault-tolerance, distributed algorithms, stabilility, parallel computation, and cluster computing. Roughly includes material in ACM Subject Classes C.1.2, C.1.4, C.2.4, D.1.3, D.4.5, D.4.7, E.1.
General Literature (cs.GL: new, recent, find)
Covers introductory material, survey material, predictions of future trends, biographies, and miscellaneous computer-science related material. Roughly includes all of ACM Subject Class A, except it does not include conference proceedings (which will be listed in the appropriate subject area).
Graphics (cs.GR: new, recent, find)
Covers all aspects of computer graphics. Roughly includes material in all of ACM Subject Class I.3, except that I.3.5 is is likely to have Computational Geometry as the primary subject area.
Human-Computer Interaction (cs.HC: new, recent, find)
Covers human factors, user interfaces, and collaborative computing. Roughly includes material in ACM Subject Classes H.1.2 and all of H.5, except for H.5.1, which is more likely to have Multimedia as the primary subject area.
Information Retrieval (cs.IR: new, recent, find)
Covers indexing, dictionaries, retrieval, content and analysis. Roughly includes material in ACM Subject Classes H.3.0, H.3.1, H.3.2, H.3.3, and H.3.4.
Information Theory (cs.IT: new, recent, find)
Covers theoretical and experimental aspects of information theory and coding. Includes material in ACM Subject Class E.4 and intersects with H.1.1.
Learning (cs.LG: new, recent, find)
Covers machine learning and computational (PAC) learning. Roughly includes material in ACM Subject Class I.2.6.
Logic in Computer Science (cs.LO: new, recent, find)
Covers all aspects of logic in computer science, including finite model theory, logics of programs, modal logic, and program verification. Programming language semantics should have Programming Languages as the primary subject area. Roughly includes material in ACM Subject Classes D.2.4, F.3.1, F.4.0, F.4.1, and F.4.2; some material in F.4.3 (formal languages) may also be appropriate here, although Computational Complexity is typically the more appropriate subject area.
Mathematical Software (cs.MS: new, recent, find)
Roughly includes material in ACM Subject Class G.4.
Multiagent Systems (cs.MA: new, recent, find)
Covers multiagent systems, distributed artificial intelligence, intelligent agents, coordinated interactions. and practical applications. Roughly covers ACM Subject Class I.2.11.
Multimedia (cs.MM: new, recent, find)
Roughly includes material in ACM Subject Class H.5.1.
Networking and Internet Architecture (cs.NI: new, recent, find)
Covers all aspects of computer communication networks, including network architecture and design, network protocols, and internetwork standards (like TCP/IP). Also includes topics, such as web caching, that are directly relevant to Internet architecture and performance. Roughly includes all of ACM Subject Class C.2 except C.2.4, which is more likely to have Distributed, Parallel, and Cluster Computing as the primary subject area.
Neural and Evolutionary Computing (cs.NE: new, recent, find)
Covers neural networks, connectionism, genetic algorithms, artificial life, adaptive behavior. Roughly includes some material in ACM Subject Class C.1.3, I.2.6, I.5.
Numerical Analysis (cs.NA: new, recent, find)
Roughly includes material in ACM Subject Class G.1.
Operating Systems (cs.OS: new, recent, find)
Roughly includes material in ACM Subject Classes D.4.1, D.4.2., D.4.3, D.4.4, D.4.5, D.4.7, and D.4.9.
Other (cs.OH: new, recent, find)
This is the classification to use for documents that do not fit anywhere else.
Performance (cs.PF: new, recent, find)
Covers performance measurement and evaluation, queueing, and simulation. Roughly includes material in ACM Subject Classes D.4.8 and K.6.2.
Programming Languages (cs.PL: new, recent, find)
Covers programming language semantics, language features, programming approaches (such as object-oriented programming, functional programming, logic programming). Also includes material on compilers oriented towards programming languages; other material on compilers may be more appropriate in Architecture (AR). Roughly includes material in ACM Subject Classes D.1 and D.3.
Robotics (cs.RO: new, recent, find)
Roughly includes material in ACM Subject Class I.2.9.
Software Engineering (cs.SE: new, recent, find)
Covers design tools, software metrics, testing and debugging, programming environments, etc. Roughly includes material in all of ACM Subject Classes D.2, except that D.2.4 (program verification) should probably have Logics in Computer Science as the primary subject area.
Sound (cs.SD: new, recent, find)
Covers all aspects of computing with sound, and sound as an information channel. Includes models of sound, analysis and synthesis, audio user interfaces, sonification of data, computer music, and sound signal processing. Includes ACM Subject Class H.5.5, and intersects with H.1.2, H.5.1, H.5.2, I.2.7, I.5.4, I.6.3, J.5, K.4.2.
Symbolic Computation (cs.SC: new, recent, find)
Roughly includes material in ACM Subject Class I.1.
COS109 - Computers in Our World (Fall)
Computers are all around us. How does this affect the world we live in? This course is a broad introduction to computing technology for humanities and social science students. Topics will be drawn from current issues and events, and will include discussion of how computers work, what programming is and why it is hard, how the Internet and the Web work, security and privacy. Two 90-minute lectures, one three-hour laboratory.
COS126 - General Computer Science (Fall, Spring)
An introduction to computer science in the context of scientific, engineering, and commercial applications. The goal of the course is to teach basic principles and practical issues, while at the same time preparing students to use computers effectively for applications in computer science, physics, biology, chemistry, engineering, and other disciplines. Topics include: hardware and software systems; programming in Java; algorithms and data structures; fundamental principles of computation; and scientific computing, including simulation, optimization, and data analysis. No prior programming experience required. Two lectures, two classes.
COS217 - Introduction to Programming Systems (Fall, Spring)
An introduction to computer organization and system software. The former includes topics such as processor and memory organization, input/output devices, and interrupt structures. The latter includes assemblers, loaders, libraries, and compilers. Programming assignments are implemented in assembly language and C using the UNIX operating system. Three lectures.
Prerequisite(s): 126 or instructor's permission.
COS226 - Algorithms and Data Structures (Fall, Spring)
The study of fundamental data structures such as lists, queues, stacks, trees, heaps, hash tables, and their variations. The implementation and analysis of important algorithms for sorting, searching, string processing, geometric applications, and graph manipulation. Introduction to advanced algorithms and techniques. Two lectures, one preceptorial.
Prerequisite(s): 126 or instructor's permission.
COS318 - Operating Systems (Fall)
A study of the design and analysis of operating systems. Topics include: processes, mutual exclusion, synchronization, semaphores, monitors, deadlock prevention and detection, memory management, virtual memory, processor scheduling, disk management, file systems, security, protection, distributed systems. Two 90-minute lectures.
Prerequisite(s): 217 and 226 or instructor's permission.
COS323 - Computing for the Physical and Social Sciences (Fall)
Principles of scientific computation, driven by current applications in biology, physics, economics, engineering, etc. Topics include: simulation, integration of differential equations, iterative optimization algorithms, stability and accuracy issues. Students will pursue projects in a variety of fields, writing their own computer programs and also using higher-level tools such as Maple. Two 90-minute lectures.
Prerequisite(s): 126 and MAT 104, or instructor's permission.
COS340 - Reasoning About Computation (Fall)
An introduction to mathematical topics relevant to computer science. Combinatorics and probability will be covered in the context of computer science applications. The course will present a computer science approach to thinking and modeling through topics such as dealing with uncertainty in data and handling large data sets. Students will be introduced to fundamental concepts such as NP-completeness and cryptography that arise from the world view of efficient computation. Two 90 minute lectures, one preceptorial.
COS347 - Quantum Physics, Qubits and Nanoscience (Fall)
(One-time offering by visiting Distinguished Professor) An elementary introduction to Quantum Mechanics, especially aimed at students interested in interdisciplinary areas like nanoscience and quantum computing. Using "qubits" (basic building blocks of quantum computation, information and cryptography), we give simple treatments of standard QM topics such as superposition, tensor products, Bell's inequalities and Heisenberg uncertainty principle, as well as "advanced" topics like multi-particle systems and spin. We also discuss the computational power of quantum computers and cryptosystems as well as their possible lab implementations. Two lectures.
COS397 - Junior Independent Work (B.S.E. candidates only) (Fall)
Offered in the fall, juniors are provided with an opportunity to concentrate on a "state-of-the-art" project in computer science. Topics may be selected from suggestions by faculty members or proposed by the student.
Prerequisite(s): B.S.E. candidates only.
COS402 - Artificial Intelligence (Fall)
The fundamental principles, algorithms and techniques of modern artificial intelligence research and practice. Likely topics include: problem solving using search, game playing, logical inference, probabilistic reasoning in the presence of uncertainty, hidden Markov models, speech recognition, Markov decision processes, machine learning. Two 90-minute lectures.
Prerequisite(s): 217 and 226.
COS429 - Computer Vision (Fall)
An introduction to the concepts of 2D and 3D computer vision. Topics include low-level image processing methods such as filtering and edge detection; segmentation and clustering; optical flow and tracking; shape reconstruction from stereo, motion, texture, and shading. Throughout the course, there will also be examination of aspects of human vision and perception that guide and inspire computer vision techniques. Two 90-minute lectures.
Prerequisite(s): 217 and 226.
COS433 - Cryptography (Fall)
A rigorous introduction to modern cryptography. Emphasis will be placed on the fundamental cryptographic primitives of public-key encryption, digital signatures, pseudo-random number generation, and basic protocols. The course will discuss both the foundations of modern cryptography in computational complexity theory and the main conceptual applications of cryptographic primitives. Two 90-minute lectures.
Prerequisite(s): 226 and 341 recommended, but other interested students are encouraged to contact the instructor.
COS436 - Human-Computer Interface Technology (Fall)
(also ELE 469) This course covers hardware, sensors, displays, software, signal processing, pattern recognition, real-time computing, systems, and architectures for human-computer interfacing. Labs supplement lectures and readings, and final group projects are executed and tested.
Prerequisite(s): COS 217 or ELE 302.
COS441 - Programming Languages (Fall)
How to design and analyze programming languages and how to use them effectively. Functional programming languages, object-oriented languages; type systems, abstraction mechanisms, operational semantics, safety and security guarantees. Implementation techniques such as object representations and garbage collection will also be covered. Three lectures.
COS497 - Senior Independent Work (Fall)
Offered in the fall, seniors are provided with an opportunity to concentrate on a "state-of-the-art" project in computer science. Topics may be selected from suggestions by faculty members or proposed by the student.
Prerequisite(s): B.S.E. candidates only.

No comments: