List of Courses Taken by VLIS Students
Students will complete 144 units. The degree is designed to be completed in 16 months on the assumption that a student completes an internship. If a student forgoes an internship, the program can be completed in 12 months.
The curriculum consists of multiple parts: the total units requirement, core requirement, the concentration requirement, the electives requirement, the VLIS seminar requirement, and the capstone project requirement.
The core requirement consist
of four courses (48 units):
The curriculum requirement requires two courses (24 units) in the student's concentration area.
One course (12 units) is elective and may be any course in the School of Computer Science. The elective requirement allows the student to focus in an additional area of expertise.
The curriculum requires the VLIS seminar (12 units). The seminar prepares the student for the capstone project.
The capstone project is a large scale project that integrates the academic work of the student into a final experience. The project is typically completed fulltime over one semester or summer (48 units). Part-time students typically split the capstone project across two semesters.
Introduction to Computer Security provides an introduction to techniques for defending against hostile adversaries in modern computer systems and computer networks. Topics include operating system security; network security-cryptography and cryptographic protocols, firewalls, and network denial-of-service attacks and defenses; user authentication technologies; security for network servers; web security; and security for mobile code technologies, such as Java and Javascript. More advanced topics will additionally be covered as time permits, such as: intrusion detection; techniques to provide privacy in Internet applications; and protecting digital content (music, video, software) from unintended use.
Privacy issues have been getting increasing attention from law makers,
regulators, and the media. As a result, businesses are under
pressure to draft privacy policies and post them on their web
sites, chief privacy officers are becoming essential members of
many enterprises, and companies are taking pro-active steps to
avoid the potential reputation damage of a privacy mistake. As new
technologies are developed, they increasingly raise privacy
concerns -- the World Wide Web, wireless location-based services,
and RFID chips are just a few examples. In addition, the recent
focus on national security and fighting terrorism has brought with
it new concerns about governmental intrusions on personal
privacy. This course provides an indepth look into privacy,
privacy laws, and privacy-related technologies and self-regulatory
efforts. Students will study privacy from philosophical,
historical, legal, policy, and technical perspectives and learn
how to engineer systems for privacy.
This course is intended primarily for graduate students and advanced
undergraduate students (juniors and seniors) studying computer
science, computer engineering, information systems, engineering
and public policy, and related fields; however, it is appropriate
for other students who have strong technical backgrounds. This
course will include a lot of reading, writing, and
class discussion. Students will be able to tailor their
assignments to their skills and interests, focusing more on
programming or writing papers as they see fit. However, all
students will be expected to do some writing and some technical
work. A large emphasis will be placed on research and
communication skills, which will be taught throughout the course.
How can you harness cross-disciplinary knowledge to improve your technology? This course teaches students how to conduct research and develop technology across disciplines, so that the resulting technology is provably appropriate for a given personal, societal, organizational, and/or legal context. Students learn to fuse scientific research methods (naturalistic observation, survey, interviews, and experimentation), which describe existing phenomena, with computer science methods and engineering approaches. Topics include formulating problem statements, modeling real-world constraints, including end-user participation, determining validity, assessing generalizability, generating guarantees, and a unifying paradigm ("Technology Dialectics") for providing provably appropriate solutions. This course is ideal for new graduate students who intend to conduct and publish graduate research across disciplines. It offers a good primer for multidisciplinary, interdisciplinary, and transdisciplinary research and development.
This course studies the theory, design, and implementation of text-based information systems. The IR core components of the course include important retrieval models, including Boolean, vector space, probabilistic, inference net, language modeling; clustering algorithms; automatic text categorization; and experimental evaluation. The course covers a variety of current research topics, including cross-lingual retrieval, document summarization, machine learning, and topic detection and tracking.
This course focuses on computer programs that automatically improve their performance through experience. This course covers the theory and practice of machine learning from a variety of perspectives. Topics include: decision trees, neural network learning, statistical learning methods, genetic algorithms, Bayesian learning methods, explanation-based learning, and reinforcement learning. We study theoretical concepts such as inductive bias, the PAC and Mistake-bound learning frameworks, minimum description length principle, and Occam’s Razor. Programming assignments include hands-on experiments with various learning algorithms.
This course covers the fundamentals of software engineering for information technology, including project management and software methodology. A basic understanding of programming is required. Students will analyze, design, and plan a specific software project. There are no programming assignments in this course, but students may implement their plan from this course in 11-792.
This course teaches principals of distributed and parallel database technology: distributed query processing, parallel query processing, distributed transaction processing, failure and recovery, federated databases, publish/subscribe, etc., and provides a forum to combine lessons learned from the core curriculum into a unified framework.
Every student is required to complete at least two courses in their selected concentration. The concentration is defined by the student. Here are some example concentrations, and example courses:
The following are permitted elective courses students might take:
For the capstone project, students will work at Carnegie Mellon on a research project, or on an industry-sponsored project, during a semester or the summer. The project, which consists of three months of full time work related to the student's concentration, must be approved by the program director. Students will record their experiences in a project report.
MSIT VLIS accepts part-time students into the program. Part-time students are expected to complete the degree in three years. Typically part-time students complete the capstone project half time during two summer semesters.