Computer Science

View courses in

  • CAS CS 533: Spectral Methods for Machine Learning and Network Analysis
    Spectral algorithms and their applications to efficiently solving fundamental computational problems in the analysis of networks and high-dimensional data. Topics include spectral graph theory, random walks over networks and their convergence, spectral clustering, subspace projections and embeddings, numerical algorithms.
  • CAS CS 535: Complexity Theory
    Covers topics of current interest in the theory of computation chosen from computational models, games and hierarchies of problems, abstract complexity theory, informational complexity theory, time-space trade-offs, probabilistic computation, and recent work on particular combinatorial problems.
  • CAS CS 537: Randomness in Computing
    Survey of probabilistic ideas of the theory of computation. Topics may include Monte Carlo and Las Vegas probabilistic computations; average case complexity and analysis; random and pseudorandom strings; games and cryptographic protocol; information; inductive inference; reliability;others. (Offered alternate years.)
  • CAS CS 538: Fundamentals of Cryptography
    Basic Algorithms to guarantee confidentiality and authenticity of data. Definitions and proofs of security for practical constructions. Topics include perfectly secure encryption, pseudorandom generators, RSA and Elgamal encryption, Diffie-Hellman key agreement, RSA signatures, secret sharing, block and stream ciphers.
  • CAS CS 542: Machine Learning
    Introduction to modern machine learning concepts, techniques, and algorithms. Topics include regression, kernels, support vector machines, feature selection, boosting, clustering, hidden Markov models, and Bayesian networks. Programming assignments emphasize taking theory into practice, through applications on real-world data sets.
  • CAS CS 548: Advanced Cryptography
    Continuation of CAS CS 538. Advanced techniques to preserve confidentiality and authenticity against active attacks, zero-knowledge proofs; Fiat-Shamir signature schemes; non-malleable public-key encryption; authenticated symmetric encryption; secure multiparty protocols for tasks ranging from Byzantine agreement to mental poker to threshold cryptography.
  • CAS CS 552: Introduction to Operating Systems
    Examines process synchronization; I/O techniques, buffering, file systems; processor scheduling; memory management; virtual memory; job scheduling, resource allocation; system modeling; and performance measurement and evaluation.
  • CAS CS 558: Computer Networks Security
    Introduces basic principles and techniques of building secure information systems. Covers network security, web security, privacy, and basic cryptographic tools (symmetric and public key cryptography, encryption, key exchange, hashing and signatures). Broader social, legal and political aspects of security addressed.
  • CAS CS 562: Advanced Database Applications
    Research issues in the design and implementation of modern database systems. Spatial, temporal, and spatiotemporal index structures. Indexing methods for image and multimedia databases and data warehouses. New data analysis techniques for large databases, clustering and rule discovery for very large datasets.
  • CAS CS 565: Algorithmic Data Mining
    Introduction to data mining concepts and techniques. Topics include association and correlation discovery, classification and clustering of large datasets, outlier detection. Emphasis on the algorithmic aspects as well as the application of mining in real-world problems.
  • CAS CS 568: Applied Cryptography
    Introduces the science and art behind the design, security analysis, and implementation of modern day cryptosystems that protect privacy and authenticity of data in transit and at rest. Demonstrates how cryptosystems evolved to withstand systems-level threats and mathematical cryptanalysis.
  • CAS CS 581: Computational Fabrication
    Introduces 3D printing technology and computational methods for creating physical prototypes from geometric models. Student-led paper presentations cover research from prominent Computer Graphics and Human Computer Interaction conferences. Culminates in a design project involving a computational component and physical prototyping.
  • CAS CS 585: Image and Video Computing
    Introduction to images and video as multimedia data types and algorithms for image and video understanding based on color, shading, stereo, and motion. Topics include face recognition, human-computer interfaces, animal and vehicle tracking, and medical image analysis.
  • CAS CS 591: Topics in Computer Science
    Various issues in computer science that vary semester to semester. Please contact the CAS Computer Science Department for detailed descriptions. Though courses are variable credit, registration for less than four credits requires instructor approval.

Back to full list of Courses