computer science columbia phd application

MASTER OF SCIENCE PROGRAM

The Master of Science (MS) program is intended for people who wish to broaden and deepen their understanding of Computer Science. Columbia University and the New York City environment provide excellent career opportunities in multiple industries.

The program provides a unique opportunity to develop leading-edge in-depth knowledge of specific computer science disciplines. The department currently offers concentration tracks covering eight such disciplines. MS students are encouraged to participate in state-of-the-art research with our research groups and labs.

REQUIREMENTS

  • Complete a total of 30 points (Courses must be at the 4000 level or above)
  • Maintain at least a 2.7 overall GPA. (No more than 1 D is permitted). The full Academic Standing Policy can be found here .
  • Complete the Columbia Engineering Professional Development & Leadership (PDL) requirement (Not applicable to CVN students)
  • Satisfy breadth requirements
  • Take at least 6 points of technical courses at the 6000 level
  • At most, up to 3 points of your degree can be Non-CS/Non-track If they are deemed relevant to your track and sufficiently technical in nature. Please submit the course syllabus to your CS Faculty Advisor for review, and then forward the approval confirmation email to [email protected]

TRACK OPTIONS

Choose one of the tracks below, view each track webpage for details on requirements.

Columbia Video Network (CVN) students should also choose from one of the above tracks. For faculty advisement, please contact the assigned track advisors .

Cs ms faculty track advisors.

CS Faculty Advisors will be assigned after you select a track in Mice. If you do not yet have a Mice account but are a CS MS student, please contact [email protected] . Contact your Track Advisor to get special permission for any course not specifically approved on your CS track websites .

DEGREE PROGRESS CHECKLIST

Students should keep an updated copy of their Degree Progress Checklist on hand for any academic progress reviews with their Faculty and/or Admin advisor. This form will also be requested a few weeks before graduation to verify your program requirements are met.

HOW TO FILL OUT YOUR CHECKLIST:

  • List all coursework that should be used to meet your CS MS program requirements.
  • For all topics courses (COMS 4995 & COMS 6998 courses), remember to include the actual course title (for example, use “COMS 4995 Hacking for Defense” NOT “COMS 4995”).
  • For all Projects courses (COMS 6901), include the name of the instructor and how many points the course was worth.
  • For all Thesis courses (COMS 6902), include the name of the instructor and how many points the course was worth.
  • For all Personalized Track students, include the name of your track advisor on your checklist.
  • For Advanced standing – mark which courses are approved by SEAS Academics.
  • For waived Required Track courses, list which course you are using to satisfy the points requirement for the waived course. 

TOPICS COURSES

If you are interested in applying a specialized Topics in Computer Science courses (COMS 4995 or COMS 6998) to your Track electives, please view Topics Courses by Track Approval . 

Students may take multiple sections of COMS 4995 and/or COMS 6998, as each topic title will vary by content each semester. If you aren’t sure if a course is the same, please email your MS Faculty Track Advisor.

No approval is required for the course to count as a General Elective.

A list of current and recent Topics Course Descriptions can be found here .

MS IN COMPUTER ENGINEERING

In addition to the Computer Science MS Program, we offer the Computer Engineering MS Program jointly with the Electrical Engineering Department. More information about the program can be found in the Computer Engineering section of the SEAS bulletin and on the Computer Engineering website .

DUAL MS IN JOURNALISM AND COMPUTER SCIENCE

Admitted students will enroll for a total of four semesters. In addition to taking classes already offered at the Journalism and Engineering schools, students will attend a seminar and workshop designed specifically for the dual degree program. The seminar will teach students about the impact of digital techniques on journalism; the emerging role of citizens in the news process; the influence of social media; and the changing business models that will support news gathering. In the workshop, students will use a hands-on approach to delve deeply into information design, focusing on how to build a site, section, or application from concept to development, ensuring the editorial goals are kept uppermost in mind. For more information, please visit the program website .

IMPORTANT AND USEFUL LINKS

  • MS TRACK ADVISORS
  • MS PROGRAM FAQ
  • FIELDWORK/CPT FAQ
  • COLUMBIA ENGINEERING RESEARCH OPPORTUNITIES
  • COLUMBIA ENGINEERING PROFESSIONAL DEVELOPMENT & LEADERSHIP (PDL) PROGRAM
  • COMPUTER SCIENCE ACADEMIC HONESTY POLICY

ADMISSIONS INFORMATION

Updated 09/04/2024

Find open faculty positions here .

Computer Science at Columbia University

Upcoming events, hybrid employer info session: fti delta.

Tuesday 1:00 pm

, CS Careers

Employer Info Session: Millennium

Friday 10:30 am

Careers Walk-In Hours

Friday 12:00 pm

Coffee and Questions

Wednesday 2:00 pm

CS Advising, CS@CU

In the News

Press mentions, dean boyce's statement on amicus brief filed by president bollinger.

President Bollinger announced that Columbia University along with many other academic institutions (sixteen, including all Ivy League universities) filed an amicus brief in the U.S. District Court for the Eastern District of New York challenging the Executive Order regarding immigrants from seven designated countries and refugees. Among other things, the brief asserts that “safety and security concerns can be addressed in a manner that is consistent with the values America has always stood for, including the free flow of ideas and people across borders and the welcoming of immigrants to our universities.”

This recent action provides a moment for us to collectively reflect on our community within Columbia Engineering and the importance of our commitment to maintaining an open and welcoming community for all students, faculty, researchers and administrative staff. As a School of Engineering and Applied Science, we are fortunate to attract students and faculty from diverse backgrounds, from across the country, and from around the world. It is a great benefit to be able to gather engineers and scientists of so many different perspectives and talents – all with a commitment to learning, a focus on pushing the frontiers of knowledge and discovery, and with a passion for translating our work to impact humanity.

I am proud of our community, and wish to take this opportunity to reinforce our collective commitment to maintaining an open and collegial environment. We are fortunate to have the privilege to learn from one another, and to study, work, and live together in such a dynamic and vibrant place as Columbia.

Mary C. Boyce Dean of Engineering Morris A. and Alma Schapiro Professor

Add Event to GMail

{{title}} {{fullname}}

computer science columbia phd application

Courses This Semester

  • {{title}} ({{dept}} {{prefix}}{{course_num}}-{{section}})

computer science columbia phd application

  • Doctor of Philosophy in Computer Science (PhD)
  • Graduate School
  • Prospective Students
  • Graduate Degree Programs

Go to programs search

PhD students in the Department of Computer Science may focus their research in the following areas:

  • Artificial Intelligence:  computer vision, decision theory/game theory, knowledge representation and reasoning, intelligent user interfaces, machine learning, natural language understanding and generation, robotics and haptics.
  • Computer Graphics:  animation, imaging, modeling, rendering, visualization.
  • Data Management and Mining:  business intelligence, data integration, genomic analysis, text mining, web databases.
  • Formal Verification and Analysis of Systems:  analog, digital and hybrid systems, VLSI, protocols, software.
  • Human Centered Technologies:  human computer interaction (HCI), visual, haptic and multimodal interfaces, computer-supported cooperative work (CSCW), visual analytics.
  • Networks, Systems, and Security:  high performance computing/parallel processing, networking, operating systems and virtualization, security.
  • Scientific Computing:  numerical methods and software, differential equations, linear algebra, optimization.
  • Software Engineering and Programming Languages:  development tools, foundations of computation, middleware, programming languages, software engineering.
  • Theory: algorithm design and analysis (including empirical), algorithmic game theory, discrete optimization, graph theory, computational geometry

For specific program requirements, please refer to the departmental program website

What makes the program unique?

The UBC Department of Computer Science has many contacts in the computing industry. A strong rapport between the industry and research communities is beneficial to both, especially in cases where the department focuses its research to developing real-world applications.

I love Vancouver! It's the greatest city in the world. I love the integration of nature into the city; it has all of the mountains, forests, and oceans. In addition, the city is a melting pot of cultures, and that's definitely reflected at UBC. It feels like there's a place for everyone at UBC.

computer science columbia phd application

Michael Yin

Quick Facts

Program enquiries, admission information & requirements, 1) check eligibility, minimum academic requirements.

The Faculty of Graduate and Postdoctoral Studies establishes the minimum admission requirements common to all applicants, usually a minimum overall average in the B+ range (76% at UBC). The graduate program that you are applying to may have additional requirements. Please review the specific requirements for applicants with credentials from institutions in:

  • Canada or the United States
  • International countries other than the United States

Each program may set higher academic minimum requirements. Please review the program website carefully to understand the program requirements. Meeting the minimum requirements does not guarantee admission as it is a competitive process.

English Language Test

Applicants from a university outside Canada in which English is not the primary language of instruction must provide results of an English language proficiency examination as part of their application. Tests must have been taken within the last 24 months at the time of submission of your application.

Minimum requirements for the two most common English language proficiency tests to apply to this program are listed below:

TOEFL: Test of English as a Foreign Language - internet-based

Overall score requirement : 100

IELTS: International English Language Testing System

Overall score requirement : 7.0

Other Test Scores

Some programs require additional test scores such as the Graduate Record Examination (GRE) or the Graduate Management Test (GMAT). The requirements for this program are:

The GRE is not required.

2) Meet Deadlines

September 2025 intake, application open date, canadian applicants, international applicants, january 2026 intake, deadline explanations.

Deadline to submit online application. No changes can be made to the application after submission.

Deadline to upload scans of official transcripts through the applicant portal in support of a submitted application. Information for accessing the applicant portal will be provided after submitting an online application for admission.

Deadline for the referees identified in the application for admission to submit references. See Letters of Reference for more information.

3) Prepare Application

Transcripts.

All applicants have to submit transcripts from all past post-secondary study. Document submission requirements depend on whether your institution of study is within Canada or outside of Canada.

Letters of Reference

A minimum of three references are required for application to graduate programs at UBC. References should be requested from individuals who are prepared to provide a report on your academic ability and qualifications.

Statement of Interest

Many programs require a statement of interest , sometimes called a "statement of intent", "description of research interests" or something similar.

  • Supervision

Students in research-based programs usually require a faculty member to function as their thesis supervisor. Please follow the instructions provided by each program whether applicants should contact faculty members.

Instructions regarding thesis supervisor contact for Doctor of Philosophy in Computer Science (PhD)

Citizenship verification.

Permanent Residents of Canada must provide a clear photocopy of both sides of the Permanent Resident card.

4) Apply Online

All applicants must complete an online application form and pay the application fee to be considered for admission to UBC.

Tuition & Financial Support

FeesCanadian Citizen / Permanent Resident / Refugee / DiplomatInternational
$114.00$168.25
Tuition *
Installments per year33
Tuition $1,838.57$3,230.06
Tuition
(plus annual increase, usually 2%-5%)
$5,515.71$9,690.18
Int. Tuition Award (ITA) per year ( ) $3,200.00 (-)
Other Fees and Costs
(yearly)$1,116.60 (approx.)
Estimate your with our interactive tool in order to start developing a financial plan for your graduate studies.

Financial Support

Applicants to UBC have access to a variety of funding options, including merit-based (i.e. based on your academic performance) and need-based (i.e. based on your financial situation) opportunities.

Program Funding Packages

All full-time PhD students will be provided with a funding package of at least $31,920 for each of the first four years of their PhD program. The funding package consists of any combination of internal or external awards, teaching-related work, research assistantships, and graduate academic assistantships. This support is contingent on full-time registration as a UBC Graduate student, satisfactory performance in assigned teaching and research assistantship duties, and good standing with satisfactory progress in your academic performance. CS students are expected to apply for fellowships or scholarship to which they are eligible.

Average Funding

  • 40 students received Teaching Assistantships. Average TA funding based on 40 students was $6,950.
  • 77 students received Research Assistantships. Average RA funding based on 77 students was $20,513.
  • 18 students received Academic Assistantships. Average AA funding based on 18 students was $6,167.
  • 81 students received internal awards. Average internal award funding based on 81 students was $11,015.
  • 8 students received external awards. Average external award funding based on 8 students was $19,625.

Scholarships & awards (merit-based funding)

All applicants are encouraged to review the awards listing to identify potential opportunities to fund their graduate education. The database lists merit-based scholarships and awards and allows for filtering by various criteria, such as domestic vs. international or degree level.

Graduate Research Assistantships (GRA)

Many professors are able to provide Research Assistantships (GRA) from their research grants to support full-time graduate students studying under their supervision. The duties constitute part of the student's graduate degree requirements. A Graduate Research Assistantship is considered a form of fellowship for a period of graduate study and is therefore not covered by a collective agreement. Stipends vary widely, and are dependent on the field of study and the type of research grant from which the assistantship is being funded.

Graduate Teaching Assistantships (GTA)

Graduate programs may have Teaching Assistantships available for registered full-time graduate students. Full teaching assistantships involve 12 hours work per week in preparation, lecturing, or laboratory instruction although many graduate programs offer partial TA appointments at less than 12 hours per week. Teaching assistantship rates are set by collective bargaining between the University and the Teaching Assistants' Union .

Graduate Academic Assistantships (GAA)

Academic Assistantships are employment opportunities to perform work that is relevant to the university or to an individual faculty member, but not to support the student’s graduate research and thesis. Wages are considered regular earnings and when paid monthly, include vacation pay.

Financial aid (need-based funding)

Canadian and US applicants may qualify for governmental loans to finance their studies. Please review eligibility and types of loans .

All students may be able to access private sector or bank loans.

Foreign government scholarships

Many foreign governments provide support to their citizens in pursuing education abroad. International applicants should check the various governmental resources in their home country, such as the Department of Education, for available scholarships.

Working while studying

The possibility to pursue work to supplement income may depend on the demands the program has on students. It should be carefully weighed if work leads to prolonged program durations or whether work placements can be meaningfully embedded into a program.

International students enrolled as full-time students with a valid study permit can work on campus for unlimited hours and work off-campus for no more than 20 hours a week.

A good starting point to explore student jobs is the UBC Work Learn program or a Co-Op placement .

Tax credits and RRSP withdrawals

Students with taxable income in Canada may be able to claim federal or provincial tax credits.

Canadian residents with RRSP accounts may be able to use the Lifelong Learning Plan (LLP) which allows students to withdraw amounts from their registered retirement savings plan (RRSPs) to finance full-time training or education for themselves or their partner.

Please review Filing taxes in Canada on the student services website for more information.

Cost Estimator

Applicants have access to the cost estimator to develop a financial plan that takes into account various income sources and expenses.

Career Outcomes

111 students graduated between 2005 and 2013. Of these, career information was obtained for 106 alumni (based on research conducted between Feb-May 2016):

computer science columbia phd application

Sample Employers in Higher Education

Sample employers outside higher education, sample job titles outside higher education, phd career outcome survey, career options.

Our faculty and students actively interact with industry in numerous fields. Via internships, consulting and the launching of new companies, they contribute to the state-of-the-art in environmental monitoring, energy prediction, software, cloud computing, search engines, social networks, advertising, e-commerce, electronic trading, entertainment games, special effects in movies, robotics, bioinformatics, biomedical engineering, and more.

Alumni on Success

computer science columbia phd application

Job Title Senior Director, Product & Business Development

Employer NGRAIN

Enrolment, Duration & Other Stats

These statistics show data for the Doctor of Philosophy in Computer Science (PhD). Data are separated for each degree program combination. You may view data for other degree options in the respective program profile.

ENROLMENT DATA

 20232022202120202019
Applications281265375299278
Offers3140414526
New Registrations1415202016
Total Enrolment1291241169881

Completion Rates & Times

Upcoming doctoral exams, monday, 9 september 2024 - 4:00pm - x836, icics building, 2366 main mall, friday, 27 september 2024 - 9:00am, friday, 4 october 2024 - 9:30am - x836, icics building, 2366 main mall.

  • Research Supervisors

Advice and insights from UBC Faculty on reaching out to supervisors

These videos contain some general advice from faculty across UBC on finding and reaching out to a supervisor. They are not program specific.

computer science columbia phd application

This list shows faculty members with full supervisory privileges who are affiliated with this program. It is not a comprehensive list of all potential supervisors as faculty from other programs or faculty members without full supervisory privileges can request approvals to supervise graduate students in this program.

  • Achermann, Reto (Computing systems; Computer systems engineering; Systems software; resilient and efficient systems; intersection of operating systems, applied formal methods and hardware models.)
  • Beschastnikh, Ivan (Computer and information sciences; software engineering; distributed systems; cloud computing; software analysis; Machine Learning)
  • Bowman, William (Computer and information sciences; Programming languages and software engineering; Programming languages; Compilers; programming languages)
  • Carenini, Giuseppe (Artificial intelligence, user modeling, decision theory, machine learning, social issues in computing, computational linguistics, information visualization)
  • Clune, Jeff
  • Conati, Cristina (artificial intelligence, human-computer interaction, affective computing, personalized interfaces, intelligent user interfaces, intelligent interface agents, virtual agent, user-adapted interaction, computer-assisted education, educational computer games, computers in education, user-adaptive interaction, Artificial intelligence, adaptive interfaces, cognitive systems, user modelling)
  • Condon, Anne (Algorithms; Molecular Programming)
  • Ding, Jiarui (Bioinformatics; Basic medicine and life sciences; Computational Biology; Machine Learning; Probabilistic Deep Learning; single-cell genomics; visualization; Cancer biology; Computational Immunology; Food Allergy; neuroscience)
  • Evans, William (Computer and information sciences; Algorithms; theoretical computer science; Computer Sciences and Mathematical Tools; computational geometry; graph drawing; program compression)
  • Feeley, Michael (Distributed systems, operating systems, workstation and pc clusters)
  • Friedlander, Michael (numerical optimization, numerical linear algebra, scientific computing, Scientific computing)
  • Friedman, Joel (Computer and information sciences; Algebraic Graph Theory; Combinatorics; Computer Science Theory)
  • Garcia, Ronald (Programming languages; programming languages)
  • Greenstreet, Mark (Dynamic systems, formal methods, hybrid systems, differential equations)
  • Greif, Chen (Numerical computation; Numerical analysis; scientific computing; numerical linear algebra; numerical solution of elliptic partial differential equations)
  • Gujarati, Arpan (Computer and information sciences; Systems)
  • Harvey, Nicholas (randomized algorithms, combinatorial optimization, graph sparsification, discrepancy theory and learning theory; algorithmic problems arising in computer networking, including cache analysis, load balancing, data replication, peer-to-peer networks, and network coding.)
  • Hoang, Nguyen Phong (networking; security & privacy; network security; online privacy; Internet measurement)
  • Holmes, Reid (Computer and information sciences; computer science; open source software; software comprehension; software development tools; software engineering; software quality; software testing; static analysis)
  • Hu, Alan (Computer and information sciences; formal methods; formal verification; model checking; nonce to detect automated mining of profiles; post-silicon validation; security; software analysis)
  • Hutchinson, Norman (Computer and information sciences; Computer Systems; distributed systems; File Systems; Virtualization)
  • Kiczales, Gregor (MOOCs, Blended Learning, Flexible Learning, University Strategy for Flexible and Blended Learning, Computer Science Education, Programming Languages, Programming languages, aspect-oriented programming, foundations, reflections and meta programming, software design)
  • Lakshmanan, Laks (data management and data cleaning; data warehousing and OLAP; data and text mining; analytics on big graphs and news; social networks and media; recommender systems)
  • Lecuyer, Mathias (Machine learning systems; Guarantees of robustness, privacy, and security)
  • Lemieux, Caroline (Programming languages and software engineering; help developers improve the correctness, security, and performance of software systems; test-input generation; specification mining; program synthesis)

Doctoral Citations

Year Citation
2024 Using artificial intelligence methods, Dr. Dirks developed machine learning models to unlock the information contained in spectral data. Demonstrated applications include grade estimation in mining and food quality assessment in agriculture.
2024 Dr. Su studied 3D computer vision for human digitalization, which converts real-world images and videos into 3D animatable avatars. His methods simplify complicated motion capture pipelines, showing a promising way for 3D avatar creations from everyday devices.
2024 Dr. Vining studied how computers operate on geometry and shapes, and how geometric problems can be solved with discrete optimization algorithms. By combining numerical optimization techniques with combinatorial search frameworks, he devised new algorithms that solve challenging problems in simulation, computer graphics, and video games.
2024 Dr. Ritschel studied the design of programming tools for end-users without previous coding experience. He investigated block-based programming languages and enriched them with visual features that help end-users write larger, more complex programs. His findings can guide the future development of more expressive end-user friendly programming tools.
2024 Dr. Jawahar explored how deep learning models in natural language processing could be more efficient. He introduced new, cutting-edge methods using neural architecture search, improving efficiency and performance tradeoffs in tasks like autocomplete, machine translation, and language modeling.
2024 Dr. Xing explored and improved the detection of topic shifts in natural language and multimedia using data-driven approaches. He proposed enhanced topic segmentation models with better coherence analysis strategies, showing potential to benefit other natural language understanding tasks like text summarization and dialogue modeling.
2024 Dr. Cang examined emotionally expressive touch behaviour for human-robot interaction. To be truly reactive, devices must address the dynamic nature of emotion. For her dissertation, she developed multi-stage machine learning protocols to train robots to respond to your evolving feelings.
2024 Dr. Newman designed tools for running and analyzing complex, electronic auctions, with applications to markets for agricultural trade in developing countries and the sale of wireless spectrum rights. His work provides a blueprint for how economists can use computer simulations to compare auction designs.
2024 Dr. Suhail has made significant strides in computer vision by pioneering diverse methodologies that elevate semantic comprehension and geometric reasoning abilities within computer vision systems. His works have received nominations for Best Paper Awards, highlighting the substantial impact of his work in the field.
2024 Dr. Banados Schwerter studied the formal requirements for detecting type inconsistencies in programming languages that combine static and dynamic type checking, and a novel reporting technique for these errors. His research will assist the design of new programming languages and help their future programmers to find and fix programming mistakes.

Sample Thesis Submissions

  • Discrete optimization problems in geometric mesh processing
  • Privacy, experts, and martingales : an investigation on the use of analytical tools
  • Utilizing short-read, long-read and single-cell RNA sequencing for isoform discovery and detection
  • AI-powered methods for academic assessment : overcoming scalability challenges in large university classrooms and conference review
  • Flexible conditioning in generative models of images and video
  • On effective learning for multimodal data
  • From devices to data and back again : a tale of computationally modelling affective touch
  • Towards alleviating human supervision for document-level relation extraction
  • Methods for design of efficient on-device natural language processing architectures
  • A formal framework for understanding run-time checking errors in gradually typed languages
  • Understanding semantics and geometry of scenes
  • Computational tools for complex electronic auctions
  • From videos to animatable 3d neural characters
  • Structured representation learning by controlling generative models
  • Versatile neural approaches to more accurate and robust topic segmentation

Related Programs

Same specialization.

  • Master of Science in Computer Science (MSc)

Same Academic Unit

  • Master of Data Science (MDS)

At the UBC Okanagan Campus

Further information, specialization.

Computer Science covers Bayesian statistics and applications, bioinformatics, computational intelligence (computational vision, automated reasoning, multi-agent systems, intelligent interfaces, and machine learning), computer communications, databases, distributed and parallel systems, empirical analysis of algorithms, computer graphics, human-computer interaction, hybrid systems, integrated systems design, networks, network security, networking and multimedia, numerical methods and geometry in computer graphics, operating systems, programming languages, robotics, scientific computation, software engineering, visualization, and theoretical aspects of computer science (computational complexity, computational geometry, analysis of complex graphs, and parallel processing).

UBC Calendar

Program website, faculty overview, academic unit, program identifier, classification, social media channels, supervisor search.

Departments/Programs may update graduate degree program details through the Faculty & Staff portal. To update contact details for application inquiries, please use this form .

computer science columbia phd application

Geoffrey Woollard

I applied to UBC in 2020, during the pandemic. It was a close call between working with Marcus Brubaker, who co-founded my former employer Structura Biotechnology, before becoming an Assistant Professor at York University, and working with Khanh Dao Duc at UBC. Khanh introduced me to his...

computer science columbia phd application

My experience as a non-degree student was really positive. I loved the way lectures, tutorials, labs, assignments and projects all complemented each other. I found the lectures stimulating and the professors and TAs encouraging. I also loved just being on the UBC campus. I'm surrounded by nature (...

computer science columbia phd application

Baraa Orabi

I think three factors had a differentiating effect on this decision: UBC's unique multidisciplinary environment which is key to my research as a computer scientist and bioinformatician. UBC being on the West Coast generally and Vancouver specifically and the amazing weather and nature that comes...

computer science columbia phd application

Considering UBC for your graduate studies?

Here, you can choose from more than 300 graduate degree program options and 2000+ research supervisors. You can even design your own program.

  • Why Grad School at UBC?
  • Application & Admission
  • Info Sessions
  • Research Projects
  • Indigenous Students
  • International Students
  • Tuition, Fees & Cost of Living
  • Newly Admitted
  • Student Status & Classification
  • Student Responsibilities
  • Managing your Program
  • Health, Wellbeing and Safety
  • Professional Development
  • Dissertation & Thesis Preparation
  • Final Doctoral Exam
  • Final Dissertation & Thesis Submission
  • Life in Vancouver
  • Vancouver Campus
  • Graduate Student Spaces
  • Graduate Life Centre
  • Life as a Grad Student
  • Graduate Student Ambassadors
  • Meet our Students
  • Award Opportunities
  • Award Guidelines
  • Minimum Funding Policy for PhD Students
  • Killam Awards & Fellowships
  • Dean's Message
  • Leadership Team
  • Strategic Plan & Priorities
  • Vision & Mission
  • Equity, Diversity & Inclusion
  • Initiatives, Plans & Reports
  • Graduate Education Analysis & Research
  • Media Enquiries
  • Newsletters
  • Giving to Graduate Studies

Strategic Priorities

  • Strategic Plan 2019-2024
  • Improving Student Funding
  • Promoting Excellence in Graduate Programs
  • Enhancing Graduate Supervision
  • Advancing Indigenous Inclusion
  • Supporting Student Development and Success
  • Reimagining Graduate Education
  • Enriching the Student Experience

Initiatives

  • Public Scholars Initiative
  • 3 Minute Thesis (3MT)
  • PhD Career Outcomes

Columbia | Engineering

Graduate Engineering

Application management.

to continue an application. to start a new application.

Ph.D. Specialization in Data Science

The ph.d. specialization in data science is an option within the applied mathematics, computer science, electrical engineering, industrial engineering and operations research, and statistics departments..

Only students already enrolled in one of these doctoral programs at Columbia are eligible to participate in this specialization. Students should fulfill the requirements below in addition to those of their respective department's Ph.D. program. Students should discuss this specialization option with their Ph.D. advisor and their department's director for graduate studies.

Applied Mathematics Doctoral Program

Computer Science Doctoral Program

Decision, Risk, and Operations (DRO) Program

Electrical Engineering Doctoral Program

Industrial Engineering and Operations Research Doctoral Program

Statistics Doctoral Program

The specialization consists of either five (5) courses from the lists below, or four (4) courses plus one (1) additional course approved by the curriculum committee. All courses must be taken for a letter grade and students must pass with a B+ or above. At least three (3) of the courses should come from outside the student’s home department. At least one (1) course has to come from each of the three (3) thematic areas listed below.

Specialization Requirements

  • COMS 4231 Analysis of Algorithms I
  • COMS 6232 Analysis of Algorithms II
  • COMS 4111 Introduction to Databases
  • COMS 4113 Distributed Systems Fundamentals
  • EECS 6720 Bayesian Models for Machine Learning
  • COMS 4771 Machine Learning
  • COMS 4772 Advanced Machine Learning
  • IEOR E6613 Optimization I
  • IEOR E6614 Optimization II
  • IEOR E6711 Stochastic Modeling I
  • EEOR E6616 Convex Optimization
  • STAT 6301 Probability Theory I
  • STAT 6201 Theoretical Statistics I
  • STAT 6101 Applied Statistics I
  • STAT 6104 Computational Statistics
  • STAT 5224 Bayesian Statistics
  • STCS 6701 Foundations of Graphical Models (joint with Computer Science) 

Information Request Form

Ph.d. specialization committee.

  • View All People
  • Faculty of Arts and Sciences Professor of Statistics
  • The Fu Foundation School of Engineering and Applied Science Professor of Computer Science

Richard A. Davis

  • Faculty of Arts and Sciences Howard Levene Professor of Statistics

Vineet Goyal

  • The Fu Foundation School of Engineering and Applied Science Associate Professor of Industrial Engineering and Operations Research

Garud N. Iyengar

  • Data Science Institute Avanessians Director of the Data Science Institute
  • The Fu Foundation School of Engineering and Applied Science Professor of Industrial Engineering and Operations Research

Gail Kaiser

Rocco a. servedio, clifford stein.

  • The Fu Foundation School of Engineering and Applied Science Wai T. Chang Professor of Industrial Engineering and Operations Research and Professor of Computer Science

John Wright

  • The Fu Foundation School of Engineering and Applied Science Associate Professor of Electrical Engineering
  • Data Science Institute Associate Director for Research
  • Skip to Content
  • Bulletin Home
  • Institution Home
  • News and Updates
  • Strategic Plan
  • Annual Report
  • Columbia to the Core
  • Dean of the College
  • Visit Columbia College
  • Staff & Administration
  • Contemporary Civilization
  • Literature Humanities
  • Art Humanities
  • Music Humanities
  • University Writing
  • Frontiers of Science
  • Global Core Requirement
  • Center for the Core Curriculum
  • Current Bulletin
  • Archived Bulletins
  • Majors, Concentrations, and Programs of Study
  • Departments, Institutes and Centers
  • Academic Advising Resources
  • Fellowships
  • Study Abroad
  • Undergraduate Research
  • Academic Honors, Awards, and Prizes
  • Policies and Procedures
  • Academic Integrity
  • Academic Planning and Administration
  • Financial Aid
  • Learn About Columbia
  • Visit Columbia
  • Apply to Columbia
  • Undergraduate Student Life
  • Student Resources
  • Supporting the College
  • Columbia College Bulletin /
  • Departments, Programs, and Courses /

Computer Science

Print Options

  • The Administration and Faculty of Columbia College
  • Academic Requirements
  • Core Curriculum
  • Search the Course Listings
  • African American and African Diaspora Studies
  • American Studies
  • Ancient Studies
  • Anthropology
  • Archaeology
  • Architecture
  • Art History and Archaeology
  • Biological Sciences
  • Cognitive Science
  • Comparative Literature and Society
  • Creative Writing
  • Drama and Theatre Arts
  • Earth and Environmental Sciences
  • East Asian Languages and Cultures
  • Ecology, Evolution, and Environmental Biology
  • English and Comparative Literature
  • Ethnicity and Race Studies
  • Film and Media Studies
  • Germanic Languages
  • History and Philosophy of Science
  • Human Rights
  • Jazz Studies
  • Jewish Studies
  • Language Resource Center
  • Latin American and Caribbean Studies
  • Latin American and Iberian Cultures
  • Linguistics
  • Mathematics
  • Medieval and Renaissance Studies
  • Middle Eastern, South Asian, and African Studies
  • Physical Education and Intercollegiate Athletics
  • Political Science
  • Public Health
  • Regional Studies
  • Slavic Languages
  • Sustainable Development
  • Urban Studies
  • Visual Arts
  • Women's and Gender Studies
  • Academic Calendar
  • Registration
  • Academic Regulations
  • Special Programs
  • Academic Honors, Prizes, and Fellowships
  • Standards and Discipline
  • Columbia University Policies
  • Fees, Expenses, and Financial Aid

The Computer Science Department:  

Department website: http://www.cs.columbia.edu

Office location: 450 Mudd

Office contact: [email protected]

Director of Undergraduate Studies:  Dr. Jae Woo Lee, 715 CEPSR; 212-939-7066; [email protected]

Undergraduate Administrator:  CS Advising, [email protected]  

The Computer Science Major 

Students study a common core of fundamental topics, supplemented by a program of six electives that provides a high degree of flexibility. Three of the electives are chosen from a list of upper-level courses that represent area foundations within computer science. The remaining electives are selected from the complete list of upper-level computer science courses. Students are encouraged to work with their faculty advisor to create a plan tailored to fit their goals and interests. The department webpage provides several example programs for students interested in a variety of specific areas in computer science.

Our website is always the most current in terms of information and has many FAQs for students. Please view this here: cs.columbia.edu and contact [email protected] with any questions.

Student Advising  

Consulting advisers.

Undergraduate students will be assigned a CS Faculty Advisor from the list on the CS website - https://www.cs.columbia.edu/education/undergraduate/advisors/. Students will typically have the same advisor throughout their time in the program. However, students are encouraged to check this list at the start of every term to ensure their advisor remains the same. To reach out to your CS Faculty Advisor, please email first or visit during office hours. 

Enrolling in Classes  

Computer Science Department courses are needed by many student populations and are in high demand. To facilitate all COMS students getting the courses they need and distribute seats fairly, please refer to our policy - https://www.cs.columbia.edu/cs-course-registration-policy/ 

Preparing for Graduate Study

The department offers a number of options at the graduate level, including the MS Express. Please refer to our FAQs - https://www.cs.columbia.edu/education/admissions8/ - or email [email protected] with any questions.

Coursework Taken Outside of Columbia  

Advanced placement  .

The department grants 3 points for a score of 4 or 5 on the AP Computer Science A exam, along with an exemption from COMS W1004 Introduction to Computer Science and Programming in Java. However, we recommend that you take COMS W1004 before taking COMS W3134/W3137 Data Structures if you received a score of 4 or have not programmed in Java recently.

Barnard College Courses

Any course offered by the Computer Science @Barnard department can count towards degree requirements. Please refer to the major and minor program information pages for specific information.

Transfer Courses  

Up to four transfer courses are accepted toward the major. Up to two transfer courses are accepted toward the minor. Calculus, linear algebra, and probability/statistics courses can be transferred in addition to the four/two-course limits. Each course must be approved as equivalent by the faculty who teaches it at Columbia. Please refer to the guide here - https://www.cs.columbia.edu/education/undergraduate/#sec8

Study Abroad Courses

If you are considering studying abroad, please consult with the CS Advisor as soon as possible. Each course for potential incorporation into your CS major or minor must be approved as equivalent by the faculty who teaches it at Columbia.

Summer Courses  

Any Computer Science or approved cognate course offered during the summer session will count towards the degree, with the exception of online-only courses, which do not count towards degree requirements.

Undergraduate Research and Senior Thesis  

Undergraduate research in courses  .

COMS W3998 UNDERGRAD PROJECTS IN COMPUTER SCIENCE. 1.00-3.00 points .

Prerequisites: Approval by a faculty member who agrees to supervise the work.

Independent project involving laboratory work, computer programming, analytical investigation, or engineering design. May be repeated for credit. Consult the department for section assignment.

COMS W4901 Projects in Computer Science. 1-3 points .

A second-level independent project involving laboratory work, computer programming, analytical investigation, or engineering design. May be repeated for credit, but not for a total of more than 3 points of degree credit. Consult the department for section assignment.

Senior Thesis Coursework and Requirements  

A thesis is not a requirement for the major or minor.

COMS W3902 UNDERGRADUATE THESIS. 0.00-6.00 points.

Prerequisites: Agreement by a faculty member to serve as thesis adviser. An independent theoretical or experimental investigation by an undergraduate major of an appropriate problem in computer science carried out under the supervision of a faculty member. A formal written report is mandatory and an oral presentation may also be required. May be taken over more than one term, in which case the grade is deferred until all 6 points have been completed. Consult the department for section assignment

Undergraduate Research Outside of Courses

Laboratory Facilities

The department has well-equipped lab areas for research in computer graphics, computer-aided digital design, computer vision, databases and digital libraries, data mining and knowledge discovery, distributed systems, mobile and wearable computing, natural language processing, networking, operating systems, programming systems, robotics, user interfaces, and real-time multimedia.

Research labs contain several large Linux and Solaris clusters; Puma 500 and IBM robotic arms; a UTAH-MIT dexterous hand; an Adept-1 robot; three mobile research robots; a real-time defocus range sensor; interactive 3-D graphics workstations with 3-D position and orientation trackers; prototype wearable computers, wall-sized stereo projection systems; see-through head-mounted displays; a networking testbed with three Cisco 7500 backbone routers, traffic generators; an IDS testbed with secured LAN, Cisco routers, EMC storage, and Linux servers; and a simulation testbed with several Sun servers and Cisco Catalyst routers.  The department uses a SIP IP phone system. The protocol was developed in the department.

The department's computers are connected via a switched 1Gb/s Ethernet network, which has direct connectivity to the campus OC-3 Internet and internet 2 gateways. The campus has 802.11b/g wireless LAN coverage.

The research facility is supported by a full-time staff of professional system administrators and programmers.

Participating in Research Projects

Students can reach out to professors whose research areas are of interest to them. Professors will typically require that students have completed the relevant coursework covering the background knowledge and skills. 

Once a faculty member agrees to supervise the student’s research work, the student will register for the professor’s section of COMS W3998 or W4901.

Independent project involving laboratory work, computer programming, analytical investigation, or engineering design. May be repeated for credit. Consult the department for section assignment

Department Honors and Prizes  

Department honors.

The Computer Science Department does not award departmental honors.

Academic Prizes  

Jonathan L. Gross Award for Academic Excellence: This award was established in 2017 in honor of the much loved Professor Emeritus Jonathan Gross. Each year a cash gift is awarded to one graduating masters student and to one graduating senior from each of the four undergraduate schools served by the Department of Computer Science. 

Theodore R. Bashkow Award: Presented to a computer science senior who has excelled in independent projects. This is awarded in honor of Professor Theodore R. Bashkow, whose contributions as a researcher, teacher, and consultant have significantly advanced the state of the art of computer science.

Andrew P. Kosoresow Memorial Award for Excellence in Teaching and Service: Awarded for outstanding contributions to teaching in the Department of Computer Science and exemplary service to the Department and its mission.

Computer Science Scholarship Award : A cash prize awarded to two B.A. and two B.S. degree candidates for outstanding academic achievement in computer science.

Russell C. Mills Award : This annual award, established by the computer science department in 1992 in memory of Russell C. Mills, is a cash prize given to a computer science major who has exhibited excellence in the area of computer science.

Other Important Information  

See the Requirements section for the policies on double counting and D grades.

Peter N. Belhumeur Steven M. Bellovin Luca Carloni Xi Chen Steven K. Feiner Luis Gravano Julia B. Hirschberg Gail E. Kaiser John R. Kender Tal Malkin Kathleen R. McKeown Vishal Misra Shree Kumar Nayar Jason Nieh Christos Papadimitriou Itsik Pe'er Toniann Pitassi Kenneth A. Ross Tim Roughgarden Daniel S. Rubenstein Henning G. Schulzrinne Rocco A. Servedio Simha Sethumadhavan Salvatore J. Stolfo Bjarne Stroustrup Vladimir Vapnik Jeannette Wing Junfeng Yang Mihalis Yannakakis Richard Zemei

Associate Professors

Alexandr Andoni Elias Bareinboim Augustin Chaintreau Stephen A. Edwards Roxana Geambasu Daniel Hsu Suman Jana Martha Allen Kim Baishakhi Ray Carl Vondrick Eugene Wu Zhou Yu Changxi Zheng Xia Zhou

Assistant Professors

Josh Alman Lydia Chilton Ronghui Gu Kostis Kaffes David Knowles Brian Smith Henry Yuen

Senior Lecturer in Discipline

  • Adam Cannon
  • Jae Woo Lee

Lecturer in Discipline

Daniel Bauer Brian Borowski Tony Dear

Associated Faculty Joint

Andrew Blumberg Shih-Fu Chang Feniosky Peña-Mora Clifford Stein

Shipra Agrawal Mohammed AlQuraishi Elham Azizi Paolo Blikstein Asaf Cidon Matei Ciocarlie Rachel Cummings Noemie Elhadad Javad Ghaderi Gamze Gursoy Xiaofan Jiang Ethan Katz-Bassett Hod Lipson Smaranda Muresan Liam Paninski Brian Plancher Mark Santolucito Lisa Soros Barbara Tversky Venkat Venkatasubramanian Rebecca Wright Gil Zussman

Senior Research Scientists

Gaston Ormazabal Moti Yung

Alfred V. Aho Peter K. Allen Edward G. Coffman Jr. Zvi Galil Jonathan L. Gross Steven M. Nowick Stephen H. Unger Henryk Wozniakowski Yechiam Yemini

Guidance for Undergraduate Students in the Department  

Program planning for all students.

The following requirements are new as of the academic year 2023-2024. Students who declared a CS major in the academic year 2022-2023 or earlier have the option to follow the old requirements. The old requirements are noted on the Undergraduate Programs pages of the Computer Science Department website ( https://www.cs.columbia.edu/education/undergraduate/ ). 

Please note that the information on the department website is more up-to-date than the information in the archived Bulletins. Students with questions about which requirements to follow are advised to talk with [email protected].

Restrictions on overlapping courses

Students may receive credit for only one of the following two courses:

COMS W1004 Introduction to Computer Science and Programming in Java

COMS W1005 Introduction to Computer Science and Programming in MATLAB.

Students may receive credit for only one of the following three courses:

COMS W3134 Data Structures in Java

COMS W3136 ESSENTIAL DATA STRUCTURES

COMS W3137 HONORS DATA STRUCTURES & ALGOL

COMS W1005 and COMS W3136 cannot be counted towards the Computer Science major, minor, and concentration.

No more than 6 points of project/thesis courses (COMS W3902, W3998, W4901) can count toward the major. COMS W3999 Fieldwork cannot be used as a CS Elective.

No more than one course from each set below may be applied towards the computer science major:

 IEOR E3658, STAT UN1201, MATH UN2015

 MATH UN2015, MATH UN2010, APAM E3101, COMS W3251

 COMS W4771, COMS W4721

Double Counting

Double-counting policies are to be construed within the larger double-counting policy of the student's home school. Double-counting policies are detailed on each School's Bulletin and/or Catalog.

The CS department allows the following courses in the CS Core and Mathematics requirement to be double-counted with another major, minor, or concentration. No other courses can be double-counted with another program.

Any calculus courses (including Honors Math A and B)

One Linear Algebra course

One Probability/Statistics course

A maximum of one course worth no more than 4 points passed with a grade of D may be counted toward the major or minor.

Course Numbering Structure

The first digit indicates the level of the course, as follows: 

0 Course that cannot be credited toward any degree

1 Undergraduate course

2 Undergraduate course, intermediate

3 Undergraduate course, advanced

4 Graduate course that is open to qualified undergraduates

6 Graduate course

8 Graduate course, advanced

9 Graduate research course or seminar

Guidance for First-Year Students  

Pre-introductory courses.

COMS W1004 is the first course in the Computer Science major curriculum, and it does not require any previous computing experience.  Before taking COMS W1004, however, students have an option to start with one of the pre-introductory courses: ENGI E1006 or COMS W1002.

ENGI E1006 Introduction to Computing for Engineers and Applied Scientists is a general introduction to computing for STEM students.  ENGI E1006 is in fact a required course for all engineering students.  COMS W1002 Computing in Context is a course primarily intended for humanities majors, but it also serves as a pre-introductory course for CS majors.  ENGI E1006 and COMS W1002 do not count towards Computer Science major.

Guidance for Transfer Students  

Up to four transfer courses are accepted toward the major. Up to two transfer courses are accepted toward the minor or concentration. Calculus, linear algebra, and probability/statistics courses can be transferred in addition to the four/two-course limits.

Undergraduate Programs of Study

Major in computer science.

All majors should confer with their program adviser each term to plan their programs of study. Students considering a major in computer science are encouraged to talk to a program adviser during their first or second year. The Computer Science major is composed of four basic components: The Mathematics Requirement, the Computer Science Core, the Area Foundation Courses, and the Computer Science Electives.

Mathematics Requirement (6-11 points)

Course List
Code Title Points
Calculus Requirement: Select one of the following courses:
CALCULUS III
ACCELERATED MULTIVARIABLE CALC
MULTV. CALC. FOR ENGI & APP SCI
Note that (Calculus III) requires Calculus I as a prerequisite but does NOT require Calculus II. and , however, require both Calculus I and Calculus II as prerequisites.
Course List
Code Title Points
Linear Algebra Requirement: Select one of the following courses:
COMPUTATIONAL LINEAR ALGEBRA (recommended)
LINEAR ALGEBRA
Linear Algebra and Probability
Honors Linear Algebra
INTRO TO APPLIED MATHEMATICS
APPLIED MATH I: LINEAR ALGEBRA
Course List
Code Title Points
Probability / Statistics Requirement: Select one of the following courses:
Linear Algebra and Probability
PROBABILITY FOR ENGINEERS
CALC-BASED INTRO TO STATISTICS
INTRODUCTION TO PROBABILITY AND STATISTICS
NOTE: Math 2015 Linear Algebra and Probability may simultaneously satisfy both linear algebra and probability requirements without the need to take additional classes thus reducing the total number of points required.

  Pre-intro course (Optional, 3-4 points)

Course List
Code Title Points
INTRO TO COMP FOR ENG/APP SCI (recommended but not required)
or  COMPUTING IN CONTEXT

Computer Science Core (20-21 points):

Course List
Code Title Points
First Year
Introduction to Computer Science and Programming in Java
or COMS W1007
Sophomore Year
Data Structures in Java
or  HONORS DATA STRUCTURES & ALGOL
ADVANCED PROGRAMMING
DISCRETE MATHEMATICS
Junior and Senior Year
Complete the remaining required core courses:
COMPUTER SCIENCE THEORY
FUNDAMENTALS OF COMPUTER SYSTS

Area Foundation Courses (9 to 12 points):

Select three from the following list:

Course List
Code Title Points
INTRODUCTION TO DATABASES
FUND-LARGE-SCALE DIST SYSTEMS
PROGRAMMING LANG & TRANSLATORS
OPERATING SYSTEMS I
COMPUTER NETWORKS
Engineering Software-as-a-Service
ADVANCED SOFTWARE ENGINEERING
COMPUTER GRAPHICS
COMPUTER ANIMATION
USER INTERFACE DESIGN
SECURITY I
ANALYSIS OF ALGORITHMS I
INTRO-COMPUTATIONAL COMPLEXITY
ARTIFICIAL INTELLIGENCE
NATURAL LANGUAGE PROCESSING
Computer Vision I: First Principles
COMPUTATIONAL ASPECTS OF ROBOTICS
COMPUTATIONAL GENOMICS
MACHINE LEARNING
COMPUTER ARCHITECTURE
SYSTEM-ON-CHIP PLATFORMS

Computer Science Electives (9 to 12 points)

Any three COMS courses or jointly offered computer science courses such as CSXX or XXCS course that are worth at least 3 points and are at the 3000 level or above. This includes 3000-level courses offered by Barnard CS.

Restrictions

Major in computational biology.

For a description of the joint major in computer science—Biology, see the Biological Sciences section in this bulletin.

Major in Computer Science - Mathematics

For a description of the joint major in computer science—mathematics, see the Mathematics section in this bulletin.

Major in Information Science

The major in information science requires a minimum of 33 points, including a core requirement of five courses. Adjustments were made to the course lists below in March 2022.

The elective courses must be chosen with a faculty adviser to focus on the modeling and use of information within the context of a disciplinary theme. After discussing potential selections, students prepare a proposal of study that must be approved by the faculty adviser. In all cases, the six courses must be at the 3000 level or above, with at least three courses chosen from computer science. Following are some example programs. For more examples or templates for the program proposal, see a faculty adviser.

Note: In most cases, additional courses will be necessary as prerequisites in order to take some of the elective courses. This will depend on the student's proposed program of study.

Core Requirement

Course List
Code Title Points
Introduction to Information Science
Computing in Context
Introduction to Computer Science and Programming in Java
Clean Object-Oriented Design
Data Structures in Java
INTRODUCTION TO PROBABILITY AND STATISTICS

Following are some suggested programs of instruction:

Information Science and Contemporary Society

Students may focus on how humans use technology and how technology has changed society.

The requirements include:

Course List
Code Title Points
INTRODUCTION TO DATABASES
USER INTERFACE DESIGN
ARTIFICIAL INTELLIGENCE
COMPUTERS AND SOCIETY
METHODS FOR SOCIAL RESEARCH
SEMINAR - PROBLEMS OF LAW & SOCIETY

Information Science and the Economy

Students may focus on understanding information modeling together with existing and emerging needs in economics and finance as well as algorithms and systems to address those needs.

Course List
Code Title Points
INTRODUCTION TO DATABASES
ARTIFICIAL INTELLIGENCE
MACHINE LEARNING
INTRODUCTION TO ECONOMETRICS
FINANCIAL ECONOMICS
MONEY AND BANKING

Information Science and Health Sciences

Students may focus on understanding information modeling together with existing and emerging needs in health sciences, as well as algorithms and systems to address those needs.

Course List
Code Title Points
INTRODUCTION TO DATABASES
USER INTERFACE DESIGN
ARTIFICIAL INTELLIGENCE
BINF G4001
Bioinformatics of Gene Expression
ECBM E3060/E4060

Major in Data Science

In response to the ever-growing importance of "big data" in scientific and policy endeavors, the last few years have seen explosive growth in theory, methods, and applications at the interface between computer science and statistics. The statistics and computer science departments have responded with a joint major that emphasizes the interface between the disciplines.

Course List
Code Title Points
Prerequisites (15 points)
CALCULUS I
CALCULUS II
CALCULUS III
LINEAR ALGEBRA
This introductory Statistics course:
CALC-BASED INTRO TO STATISTICS
Statistics (12 points)
PROBABILITY THEORY
STATISTICAL INFERENCE
LINEAR REGRESSION MODELS
STATISTICAL MACHINE LEARNING
Machine Learning
Computer Science (12 points)
Select one of the following courses:
Introduction to Computer Science and Programming in Java
Introduction to Computer Science and Programming in MATLAB
COMS W1007
INTRO TO COMP FOR ENG/APP SCI
Select one of the following courses:
Data Structures in Java
ESSENTIAL DATA STRUCTURES
HONORS DATA STRUCTURES & ALGOL
Two required courses:
DISCRETE MATHEMATICS
ANALYSIS OF ALGORITHMS I
Electives (15 points)
Select two of the following courses:
APPLIED MACHINE LEARNING
STAT COMP & INTRO DATA SCIENCE
BAYESIAN STATISTICS
APPLIED DATA SCIENCE
Advanced Machine Learning
Select three of the following courses:
COMPUTER SCIENCE THEORY
INTRODUCTION TO DATABASES
COMS W4130
INTRO-COMPUTATIONAL COMPLEXITY
INTRO-COMPUTATIONAL LEARN THRY
Any COMS W47xx course EXCEPT W4771

Minor in Computer Science 

Students who pass the Computer Science Advanced Placement Exam A with a 4 or 5 will receive 3 points and an exemption from COMS W1004.

The Computer Science Minor consists of 6 courses as follows:

1. COMS W1004: Intro to computer science and programming in Java (3) or COMS W1007: Honors intro to comp sci (3)

2. COMS W3134: Data structures in Java (3) or COMS W3137: Honors data structures and algorithms (4)

3. COMS W3203: Discrete mathematics (4)

4. One course of the following:

COMS W3157: Advanced programming (4)

COMS W3261: Comp science theory (3)

CSEE W3827: Fundamentals of computer systems (3)

5. Any 3000-level or 4000-level COMS/CSXX/XXCS course of at least 3 points

6. Any 3000-level or 4000-level COMS/CSXX/XXCS course of at least 3 points OR one linear algebra or probability/statistics course from the following : APMA E3101, APMA E2101, MATH UN2010, MATH UN2015, IEOR E3658, STAT UN1201, STAT GU4001 or STAT GU4203 .

For students who entered Columbia in or before the 2023-24 academic year  

Concentration in computer science.

The concentration in computer science requires a minimum of 22-24 points, as follows:

Course List
Code Title Points
Introduction to Computer Science and Programming in Java
or COMS W1007
Data Structures in Java
or  HONORS DATA STRUCTURES & ALGOL
ADVANCED PROGRAMMING
DISCRETE MATHEMATICS
COMPUTER SCIENCE THEORY
FUNDAMENTALS OF COMPUTER SYSTS (or any 3 point 4000-level computer science course)
Select one of the following courses:
COMPUTATIONAL LINEAR ALGEBRA
LINEAR ALGEBRA
Linear Algebra and Probability
Honors Linear Algebra
INTRO TO APPLIED MATHEMATICS
APPLIED MATH I: LINEAR ALGEBRA
PROBABILITY FOR ENGINEERS
CALC-BASED INTRO TO STATISTICS
INTRODUCTION TO PROBABILITY AND STATISTICS

COMS W1001 Introduction to Information Science. 3 points .

Basic introduction to concepts and skills in Information Sciences: human-computer interfaces, representing information digitally, organizing and searching information on the internet, principles of algorithmic problem solving, introduction to database concepts, and introduction to programming in Python.

COMS W1002 COMPUTING IN CONTEXT. 4.00 points .

CC/GS: Partial Fulfillment of Science Requirement

Introduction to elementary computing concepts and Python programming with domain-specific applications. Shared CS concepts and Python programming lectures with track-specific sections. Track themes will vary but may include computing for the social sciences, computing for economics and finance, digital humanities, and more. Intended for nonmajors. Students may only receive credit for one of ENGI E1006 or COMS W1002

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1002 001/11915 T Th 1:10pm - 2:25pm
417 International Affairs Bldg
Adam Cannon 4.00 73/160
COMS 1002 002/11916 T Th 1:10pm - 2:25pm
330 Uris Hall
Adam Cannon, Eugenia Antic 4.00 19/60
COMS 1002 003/11917 T Th 2:40pm - 3:55pm
417 International Affairs Bldg
Adam Cannon 4.00 147/300
COMS 1002 004/11918 T Th 2:40pm - 3:55pm
415 Schapiro Cepser
Adam Cannon, Philippe Chlenski 4.00 27/40

COMS W1003 INTRO-COMPUT SCI/PROGRAM IN C. 3.00 points .

COMS W1004 Introduction to Computer Science and Programming in Java. 3 points .

A general introduction to computer science for science and engineering students interested in majoring in computer science or engineering. Covers fundamental concepts of computer science, algorithmic problem-solving capabilities, and introductory Java programming skills. Assumes no prior programming background. Columbia University students may receive credit for only one of the following two courses: 1004  or  1005 .

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1004 001/11451 T Th 11:40am - 12:55pm
417 International Affairs Bldg
Adam Cannon 3 123/398
COMS 1004 002/12052 T Th 1:10pm - 2:25pm
417 International Affairs Bldg
Adam Cannon 3 116/398
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1004 001/11919 M W 2:40pm - 3:55pm
309 Havemeyer Hall
Paul Blaer 3 158/320
COMS 1004 002/11920 M W 5:40pm - 6:55pm
417 International Affairs Bldg
Paul Blaer 3 107/320

COMS W1005 Introduction to Computer Science and Programming in MATLAB. 3 points .

A general introduction to computer science concepts, algorithmic problem-solving capabilities, and programming skills in MATLAB. Assumes no prior programming background. Columbia University students may receive credit for only one of the following two courses: W1004  or  W1005 .

COMS W1011 INTERMED COMPUTER PROGRAMMING. 3.00 points .

COMS W1012 COMPUTING IN CONTEXT REC. 0.00 points .

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1012 001/11921 Th 7:10pm - 8:00pm
227 Seeley W. Mudd Building
Adam Cannon 0.00 0/40
COMS 1012 002/11922 Th 7:10pm - 8:00pm
644 Seeley W. Mudd Building
Adam Cannon 0.00 0/40
COMS 1012 003/11923 F 10:10am - 11:00am
307 Uris Hall
Adam Cannon 0.00 0/40
COMS 1012 004/11924 F 2:00pm - 2:50pm
307 Uris Hall
Adam Cannon 0.00 0/40
COMS 1012 005/11925 Th 7:10pm - 8:00pm
415 Schapiro Cepser
Adam Cannon 0.00 0/40
COMS 1012 006/11926 Th 7:10pm - 8:00pm
825 Seeley W. Mudd Building
Adam Cannon 0.00 0/40
COMS 1012 007/11927 F 9:00am - 9:50am
307 Uris Hall
Adam Cannon 0.00 0/40
COMS 1012 008/11928 Th 7:10pm - 8:00pm
401 Chandler
Adam Cannon 0.00 0/30
COMS 1012 009/11929 F 10:10am - 11:00am
608 Schermerhorn Hall
Adam Cannon 0.00 0/30
COMS 1012 010/11930 Th 7:10pm - 8:00pm
233 Seeley W. Mudd Building
Adam Cannon 0.00 0/30
COMS 1012 011/11931 F 11:00am - 11:50am
307 Uris Hall
Adam Cannon 0.00 0/30

COMS W1103 HONORS INTRO COMPUTER SCIENCE. 3.00 points .

COMS W1404 EMERGING SCHOLARS PROG SEMINAR. 1.00 point .

Pass/Fail only.

Prerequisites: the instructor's permission. Corequisites: COMS W1002 or COMS W1004 or COMS W1007 Corequisites: COMS W1004 ,COMS W1007, COMS W1002 Peer-led weekly seminar intended for first and second year undergraduates considering a major in Computer Science. Pass/fail only. May not be used towards satisfying the major or SEAS credit requirements

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1404 001/12053 F 8:40am - 9:55am
502 Northwest Corner
Adam Cannon 1.00 6/16
COMS 1404 002/12054 F 10:10am - 11:25am
502 Northwest Corner
Adam Cannon 1.00 3/16
COMS 1404 003/12055 F 11:40am - 12:55pm
502 Northwest Corner
Adam Cannon 1.00 0/16
COMS 1404 004/12056 F 1:10pm - 2:25pm
502 Northwest Corner
Adam Cannon 1.00 4/16
COMS 1404 005/12057 F 2:40pm - 3:55pm
502 Northwest Corner
Adam Cannon 1.00 6/16
COMS 1404 006/12058 F 4:10pm - 5:25pm
502 Northwest Corner
Adam Cannon 1.00 3/16
COMS 1404 007/12059 F 9:30am - 10:45am
253 Engineering Terrace
Adam Cannon 1.00 0/16
COMS 1404 008/12061 F 11:00am - 12:15pm
253 Engineering Terrace
Adam Cannon 1.00 5/16
COMS 1404 009/12063 F 12:30pm - 1:45pm
253 Engineering Terrace
Adam Cannon 1.00 9/16
COMS 1404 010/12064 F 2:00pm - 3:15pm
253 Engineering Terrace
Adam Cannon 1.00 3/16
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1404 001/11996 F 8:40am - 9:55am
253 Engineering Terrace
Adam Cannon 1.00 0/16
COMS 1404 002/11997 F 10:10am - 11:25am
253 Engineering Terrace
Adam Cannon 1.00 0/16
COMS 1404 003/11998 F 11:40am - 12:55pm
253 Engineering Terrace
Adam Cannon 1.00 0/16
COMS 1404 004/11999 F 1:10pm - 2:25pm
253 Engineering Terrace
Adam Cannon 1.00 0/16
COMS 1404 005/12000 F 2:40pm - 3:55pm
253 Engineering Terrace
Adam Cannon 1.00 0/16
COMS 1404 006/12001 F 4:10pm - 5:25pm
337 Seeley W. Mudd Building
Adam Cannon 1.00 0/16
COMS 1404 007/12002 F 9:30am - 10:45am
337 Seeley W. Mudd Building
Adam Cannon 1.00 0/16
COMS 1404 008/12003 F 11:00am - 12:15pm
337 Seeley W. Mudd Building
Adam Cannon 1.00 0/16
COMS 1404 009/12004 F 12:30pm - 1:45pm
337 Seeley W. Mudd Building
Adam Cannon 1.00 0/16
COMS 1404 010/12005 F 2:00pm - 3:15pm
337 Seeley W. Mudd Building
Adam Cannon 1.00 0/16

COMS W2702 AI in Context. 3.00 points .

An interdisciplinary introduction to the history, development and modern application of artificial intelligence in a variety of contexts. Context subjects and teaching staff will vary by semester

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 2702 001/20900 M W 10:10am - 11:25am
833 Seeley W. Mudd Building
Chris Wiggins, Vishal Misra, Katja Vogt, Adam Cannon, Dennis Tenen, Seth Cluett 3.00 1/120

COMS W3011 INTERMED COMPUTER PROGRAMMING. 3.00 points .

COMS W3101 PROGRAMMING LANGUAGES. 1.00 point .

Prerequisites: Fluency in at least one programming language. Introduction to a programming language. Each section is devoted to a specific language. Intended only for those who are already fluent in at least one programming language. Sections may meet for one hour per week for the whole term, for three hours per week for the first third of the term, or for two hours per week for the first six weeks. May be repeated for credit if different languages are involved

COMS W3102 DEVELOPMENT TECHNOLOGY. 1.00-2.00 points .

Lect: 2. Lab: 0-2.

Prerequisites: Fluency in at least one programming language. Introduction to software development tools and environments. Each section devoted to a specific tool or environment. One-point sections meet for two hours each week for half a semester, and two point sections include an additional two-hour lab

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3102 001/12065 F 6:10pm - 8:00pm
451 Computer Science Bldg
Shoaib Ahamed 1.00-2.00 62/70

COMS W3107 Clean Object-Oriented Design. 3.00 points .

Prerequisites: Intro to Computer Science/Programming in Java (COMS W1004) or instructor’s permission. May not take for credit if already received credit for COMS W1007.

Prerequisites: see notes re: points A course in designing, documenting, coding, and testing robust computer software, according to object-oriented design patterns and clean coding practices. Taught in Java.Object-oriented design principles include: use cases; CRC; UML; javadoc; patterns (adapter, builder, command, composite, decorator, facade, factory, iterator, lazy evaluation, observer, singleton, strategy, template, visitor); design by contract; loop invariants; interfaces and inheritance hierarchies; anonymous classes and null objects; graphical widgets; events and listeners; Java's Object class; generic types; reflection; timers, threads, and locks

COMS W3123 ASSEMBLY LANG AND COMPUT LOGIC. 3.00 points .

COMS W3132 Intermediate Computing in Python. 4.00 points .

Essential data structures and algorithms in Python with practical software development skills, applications in a variety of areas including biology, natural language processing, data science and others

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3132 001/15110 F 1:10pm - 3:40pm
413 Kent Hall
Jan Janak 4.00 60/60

COMS W3134 Data Structures in Java. 3 points .

Prerequisites: ( COMS W1004 ) or knowledge of Java.

Data types and structures: arrays, stacks, singly and doubly linked lists, queues, trees, sets, and graphs. Programming techniques for processing such structures: sorting and searching, hashing, garbage collection. Storage management. Rudiments of the analysis of algorithms. Taught in Java. Note: Due to significant overlap, students may receive credit for only one of the following three courses: COMS W3134 , COMS W3136 , COMS W3137 .

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3134 001/12067 M W 4:10pm - 5:25pm
301 Uris Hall
Brian Borowski 3 227/250
COMS 3134 002/12068 M W 5:40pm - 6:55pm
301 Uris Hall
Brian Borowski 3 144/250
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3134 001/11932 M W 4:10pm - 5:25pm
301 Uris Hall
Brian Borowski 3 172/200
COMS 3134 002/11933 M W 5:40pm - 6:55pm
301 Uris Hall
Brian Borowski 3 119/200

COMS W3136 ESSENTIAL DATA STRUCTURES. 4.00 points .

Prerequisites: ( COMS W1004 ) or ( COMS W1005 ) or (COMS W1007) or ( ENGI E1006 ) A second programming course intended for nonmajors with at least one semester of introductory programming experience. Basic elements of programming in C and C , arraybased data structures, heaps, linked lists, C programming in UNIX environment, object-oriented programming in C , trees, graphs, generic programming, hash tables. Due to significant overlap, students may only receive credit for either COMS W3134 , W3136 , or W3137

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3136 001/15424 T Th 5:40pm - 6:55pm
141 Uris Hall
Timothy Paine 4.00 35/65

COMS W3137 HONORS DATA STRUCTURES & ALGOL. 4.00 points .

Prerequisites: ( COMS W1004 ) or (COMS W1007) Corequisites: COMS W3203 An honors introduction to data types and structures: arrays, stacks, singly and doubly linked lists, queues, trees, sets, and graphs. Programming techniques for processing such structures: sorting and searching, hashing, garbage collection. Storage management. Design and analysis of algorithms. Taught in Java. Note: Due to significant overlap, students may receive credit for only one of the following three courses: COMS W3134 , W3136 , or W3137

COMS W3157 ADVANCED PROGRAMMING. 4.00 points .

Prerequisites: ( COMS W3134 ) or ( COMS W3137 ) C programming language and Unix systems programming. Also covers Git, Make, TCP/IP networking basics, C fundamentals

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3157 001/12069 T Th 4:10pm - 5:25pm
417 International Affairs Bldg
Jae Lee 4.00 295/398
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3157 001/11934 T Th 4:10pm - 5:25pm
417 International Affairs Bldg
Jae Lee 4.00 396/398

COMS W3202 FINITE MATHEMATICS. 3.00 points .

COMS W3203 DISCRETE MATHEMATICS. 4.00 points .

Prerequisites: Any introductory course in computer programming. Logic and formal proofs, sequences and summation, mathematical induction, binomial coefficients, elements of finite probability, recurrence relations, equivalence relations and partial orderings, and topics in graph theory (including isomorphism, traversability, planarity, and colorings)

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3203 001/12070 T Th 10:10am - 11:25am
301 Uris Hall
Ansaf Salleb-Aouissi 4.00 215/200
COMS 3203 002/12071 T Th 11:40am - 12:55pm
301 Uris Hall
Ansaf Salleb-Aouissi 4.00 207/200
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3203 001/11935 M W 4:10pm - 5:25pm
301 Pupin Laboratories
Tony Dear 4.00 188/270

COMS W3210 Scientific Computation. 3 points .

Prerequisites: two terms of calculus.

Introduction to computation on digital computers. Design and analysis of numerical algorithms. Numerical solution of equations, integration, recurrences, chaos, differential equations. Introduction to Monte Carlo methods. Properties of floating point arithmetic. Applications to weather prediction, computational finance, computational science, and computational engineering.

COMS W3251 COMPUTATIONAL LINEAR ALGEBRA. 4.00 points .

COMS W3261 COMPUTER SCIENCE THEORY. 3.00 points .

Prerequisites: ( COMS W3203 ) Corequisites: COMS W3134 , COMS W3136 , COMS W3137 Regular languages: deterministic and non-deterministic finite automata, regular expressions. Context-free languages: context-free grammars, push-down automata. Turing machines, the Chomsky hierarchy, and the Church-Turing thesis. Introduction to Complexity Theory and NP-Completeness

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3261 001/12072 M W 2:40pm - 3:55pm
417 International Affairs Bldg
Josh Alman 3.00 130/150
COMS 3261 022/12073 T Th 11:40am - 12:55pm
501 Northwest Corner
Mihalis Yannakakis 3.00 152/160
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3261 001/11936 T Th 8:40am - 9:55am
451 Computer Science Bldg
Tal Malkin 3.00 107/105
COMS 3261 002/11937 T Th 10:10am - 11:25am
451 Computer Science Bldg
Tal Malkin 3.00 105/105

COMS W3410 COMPUTERS AND SOCIETY. 3.00 points .

Broader impact of computers. Social networks and privacy. Employment, intellectual property, and the media. Science and engineering ethics. Suitable for nonmajors

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3410 001/11938 W 4:10pm - 6:40pm
303 Uris Hall
Ronald Baecker 3.00 60/60

COMS E3899 Research Training. 0.00 points .

Research training course. Recommended in preparation for laboratory related research

COMS W3902 UNDERGRADUATE THESIS. 0.00-6.00 points .

COMS W3995 Special Topics in Computer Science. 3 points .

Prerequisites: the instructor's permission.

Consult the department for section assignment. Special topics arranged as the need and availability arise. Topics are usually offered on a one-time basis. Since the content of this course changes each time it is offered, it may be repeated for credit.

Prerequisites: Approval by a faculty member who agrees to supervise the work. Independent project involving laboratory work, computer programming, analytical investigation, or engineering design. May be repeated for credit. Consult the department for section assignment

COMS W3999 FIELDWORK. 1.00-2.00 points .

May be repeated for credit, but no more than 3 total points may be used toward the 128-credit degree requirement. Only for SEAS computer science undergraduate students who include relevant off campus work experience as part of their approved program of study. Final report and letter of evaluation may be required. May not be used as a technical or nontechnical elective or as a GTE (general technical elective). May not be taken for pass/fail credit or audited

COMS E3999 Fieldwork. 1 point .

Prerequisites: Obtained internship and approval from faculty advisor.

May be repeated for credit, but no more than 3 total points may be used toward the 128-credit degree requirement. Only for SEAS computer science undergraduate students who include relevant off-campus work experience as part of their approved program of study. Final report and letter of evaluation required. May not be used as a technical or non-technical elective. May not be taken for pass/fail credit or audited.

COMS W4111 INTRODUCTION TO DATABASES. 3.00 points .

CC/GS: Partial Fulfillment of Science Requirement Prerequisites: COMS W3134, COMS W3136, or COMS W3137; or the instructor's permission.

Prerequisites: ( COMS W3134 ) or ( COMS W3136 ) or ( COMS W3137 ) or The fundamentals of database design and application development using databases: entity-relationship modeling, logical design of relational databases, relational data definition and manipulation languages, SQL, XML, query processing, physical database tuning, transaction processing, security. Programming projects are required

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4111 001/12074 M W 2:40pm - 3:55pm
309 Havemeyer Hall
Kenneth Ross 3.00 126/200
COMS 4111 002/12075 F 10:10am - 12:40pm
417 International Affairs Bldg
Donald Ferguson 3.00 398/398
COMS 4111 V02/20370  
Donald Ferguson 3.00 18/99
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4111 001/11939 T Th 10:10am - 11:25am
207 Mathematics Building
Luis Gravano 3.00 165/150
COMS 4111 002/11940 T Th 8:40am - 9:55am
301 Uris Hall
Eugene Wu 3.00 47/150
COMS 4111 003/11941 F 10:10am - 12:40pm
309 Havemeyer Hall
Donald Ferguson 3.00 219/200
COMS 4111 V03/18703  
Donald Ferguson 3.00 18/99

COMS W4112 DATABASE SYSTEM IMPLEMENTATION. 3.00 points .

Prerequisites: ( COMS W4111 ) and fluency in Java or C++. CSEE W3827 is recommended. The principles and practice of building large-scale database management systems. Storage methods and indexing, query processing and optimization, materialized views, transaction processing and recovery, object-relational databases, parallel and distributed databases, performance considerations. Programming projects are required

COMS W4113 FUND-LARGE-SCALE DIST SYSTEMS. 3.00 points .

Prerequisites: ( COMS W3134 or COMS W3136 or COMS W3137 ) and ( COMS W3157 or COMS W4118 or CSEE W4119 ) Prerequisites: ( COMS W3134 or COMS W3136 or COMS W3137 ) and ( COMS W3157 or COMS W4118 or CSEE W4119 ) Design and implementation of large-scale distributed and cloud systems. Teaches abstractions, design and implementation techniques that enable the building of fast, scalable, fault-tolerant distributed systems. Topics include distributed communication models (e.g. sockets, remote procedure calls, distributed shared memory), distributed synchronization (clock synchronization, logical clocks, distributed mutex), distributed file systems, replication, consistency models, fault tolerance, distributed transactions, agreement and commitment, Paxos-based consensus, MapReduce infrastructures, scalable distributed databases. Combines concepts and algorithms with descriptions of real-world implementations at Google, Facebook, Yahoo, Microsoft, LinkedIn, etc

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4113 001/11942 F 10:10am - 12:40pm
451 Computer Science Bldg
Roxana Geambasu 3.00 117/110
COMS 4113 V01/17521  
Roxana Geambasu 3.00 10/99

COMS E4115 PROGRAMMING LANG & TRANSL. 3.00 points .

COMS W4115 PROGRAMMING LANG & TRANSLATORS. 3.00 points .

Prerequisites: ( COMS W3134 or COMS W3136 or COMS W3137 ) and ( COMS W3261 ) and ( CSEE W3827 ) or equivalent, or the instructor's permission. Modern programming languages and compiler design. Imperative, object-oriented, declarative, functional, and scripting languages. Language syntax, control structures, data types, procedures and parameters, binding, scope, run-time organization, and exception handling. Implementation of language translation tools including compilers and interpreters. Lexical, syntactic and semantic analysis; code generation; introduction to code optimization. Teams implement a language and its compiler

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4115 001/12077 M W 4:10pm - 5:25pm
501 Schermerhorn Hall
Ronghui Gu 3.00 72/120
COMS 4115 V01/15375  
Ronghui Gu 3.00 11/99
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4115 001/11943 T Th 11:40am - 12:55pm
451 Computer Science Bldg
Baishakhi Ray 3.00 84/100
COMS 4115 V01/18705  
Baishakhi Ray 3.00 5/99

COMS W4118 OPERATING SYSTEMS I. 3.00 points .

Prerequisites: ( CSEE W3827 ) and knowledge of C and programming tools as covered in COMS W3136 , W3157 , or W3101, or the instructor's permission. Design and implementation of operating systems. Topics include process management, process synchronization and interprocess communication, memory management, virtual memory, interrupt handling, processor scheduling, device management, I/O, and file systems. Case study of the UNIX operating system. A programming project is required

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4118 001/12079 T Th 4:10pm - 5:25pm
501 Northwest Corner
Kostis Kaffes 3.00 88/160
COMS 4118 V01/18798  
Kostis Kaffes 3.00 4/99
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4118 001/11944 T Th 4:10pm - 5:25pm
501 Northwest Corner
Jason Nieh 3.00 122/160
COMS 4118 V01/17522  
Jason Nieh 3.00 5/99

COMS W4119 COMPUTER NETWORKS. 3.00 points .

Introduction to computer networks and the technical foundations of the internet, including applications, protocols, local area networks, algorithms for routing and congestion control, security, elementary performance evaluation. Several written and programming assignments required

COMS W4121 COMPUTER SYSTEMS FOR DATA SCIENCE. 3.00 points .

Prerequisites: background in Computer System Organization and good working knowledge of C/C++ Corequisites: CSOR W4246 , STAT GU4203 An introduction to computer architecture and distributed systems with an emphasis on warehouse scale computing systems. Topics will include fundamental tradeoffs in computer systems, hardware and software techniques for exploiting instruction-level parallelism, data-level parallelism and task level parallelism, scheduling, caching, prefetching, network and memory architecture, latency and throughput optimizations, specialization, and an introduction to programming data center computers

COMS W4137 From Algorithmic Thinking to Development. 3.00 points .

Algorithmic problem-solving and coding skills needed to devise solutions to interview questions for software engineering positions. Solutions are implemented in Python, Java, C, and C . Approaches include brute-force, hashing, sorting, transform-and-conquer, greedy, and dynamic programming. Focus on experimentation and team work

COMS W4152 Engineering Software-as-a-Service. 3.00 points .

Modern software engineering concepts and practices including topics such as Software-as-a-Service, Service-oriented Architecture, Agile Development, Behavior-driven Development, Ruby on Rails, and Dev/ops

COMS W4153 Cloud Computing. 3.00 points .

Software engineering skills necessary for developing cloud computing and software-as-a-service applications, covering topics such as service-oriented architectures, message-driven applications, and platform integration. Includes theoretical study, practical application, and collaborative project work

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4153 001/14010 F 1:10pm - 3:40pm
309 Havemeyer Hall
Donald Ferguson 3.00 218/200
COMS 4153 V01/18778  
Donald Ferguson 3.00 17/99

COMS W4156 ADVANCED SOFTWARE ENGINEERING. 3.00 points .

Prerequisites: ( COMS W3157 ) or equivalent. Software lifecycle using frameworks, libraries and services. Major emphasis on software testing. Centers on a team project

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4156 001/11945 T Th 10:10am - 11:25am
833 Seeley W. Mudd Building
Gail Kaiser 3.00 130/120
COMS 4156 V01/17608  
Gail Kaiser 3.00 6/99

COMS W4160 COMPUTER GRAPHICS. 3.00 points .

Prerequisites: ( COMS W3134 ) or ( COMS W3136 ) or ( COMS W3137 ) COMS W4156 is recommended. Strong programming background and some mathematical familiarity including linear algebra is required. Introduction to computer graphics. Topics include 3D viewing and projections, geometric modeling using spline curves, graphics systems such as OpenGL, lighting and shading, and global illumination. Significant implementation is required: the final project involves writing an interactive 3D video game in OpenGL

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4160 001/13865 T Th 7:10pm - 8:25pm
451 Computer Science Bldg
Hadi Fadaifard 3.00 64/75

COMS W4162 Advanced Computer Graphics. 3 points .

Prerequisites: ( COMS W4160 ) or equivalent, or the instructor's permission.

A second course in computer graphics covering more advanced topics including image and signal processing, geometric modeling with meshes, advanced image synthesis including ray tracing and global illumination, and other topics as time permits. Emphasis will be placed both on implementation of systems and important mathematical and geometric concepts such as Fourier analysis, mesh algorithms and subdivision, and Monte Carlo sampling for rendering. Note: Course will be taught every two years.

COMS W4165 COMPUT TECHNIQUES-PIXEL PROCSS. 3.00 points .

An intensive introduction to image processing - digital filtering theory, image enhancement, image reconstruction, antialiasing, warping, and the state of the art in special effects. Topics from the basis of high-quality rendering in computer graphics and of low-level processing for computer vision, remote sensing, and medical imaging. Emphasizes computational techniques for implementing useful image-processing functions

COMS W4167 COMPUTER ANIMATION. 3.00 points .

Prerequisites: Multivariable calculus, linear algebra, C++ programming proficiency. COMS W4156 recommended.

Theory and practice of physics-based animation algorithms, including animated clothing, hair, smoke, water, collisions, impact, and kitchen sinks. Topics covered: Integration of ordinary differential equations, formulation of physical models, treatment of discontinuities including collisions/contact, animation control, constrained Lagrangian Mechanics, friction/dissipation, continuum mechanics, finite elements, rigid bodies, thin shells, discretization of Navier-Stokes equations. General education requirement: quantitative and deductive reasoning (QUA). 

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4167 001/12080 T Th 4:10pm - 5:25pm
451 Computer Science Bldg
Changxi Zheng 3.00 46/75

COMS W4170 USER INTERFACE DESIGN. 3.00 points .

Prerequisites: ( COMS W3134 or COMS W3136 or COMS W3137 ) Introduction to the theory and practice of computer user interface design, emphasizing the software design of graphical user interfaces. Topics include basic interaction devices and techniques, human factors, interaction styles, dialogue design, and software infrastructure. Design and programming projects are required

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4170 001/12081 M W 1:10pm - 2:25pm
417 International Affairs Bldg
Lydia Chilton 3.00 412/398
COMS 4170 V01/15381  
Lydia Chilton 3.00 20/20
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4170 001/11946 T Th 1:10pm - 2:25pm
833 Seeley W. Mudd Building
Brian Smith 3.00 0/120
COMS 4170 V01/17523  
Brian Smith 3.00 0/99

COMS W4172 3D UI AND AUGMENTED REALITY. 3.00 points .

Prerequisites: ( COMS W4160 ) or ( COMS W4170 ) or the instructor's permission. Design, development, and evaluation of 3D user interfaces. Interaction techniques and metaphors, from desktop to immersive. Selection and manipulation. Travel and navigation. Symbolic, menu, gestural, and multimodal interaction. Dialogue design. 3D software support. 3D interaction devices and displays. Virtual and augmented reality. Tangible user interfaces. Review of relevant 3D math

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4172 001/12082 T Th 1:10pm - 2:25pm
227 Seeley W. Mudd Building
Steven Feiner 3.00 35/45

COMS W4181 SECURITY I. 3.00 points .

Not offered during 2023-2024 academic year.

Prerequisites: COMS W3157 or equivalent. Introduction to security. Threat models. Operating system security features. Vulnerabilities and tools. Firewalls, virtual private networks, viruses. Mobile and app security. Usable security. Note: May not earn credit for both W4181 and W4180 or W4187

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4181 001/11947 M W 1:10pm - 2:25pm
1127 Seeley W. Mudd Building
Suman Jana 3.00 63/60
COMS 4181 V01/17631  
Suman Jana 3.00 5/5

COMS W4182 SECURITY II. 3.00 points .

Prerequisites: COMS W4181 , COMS W4118 , COMS W4119 Advanced security. Centralized, distributed, and cloud system security. Cryptographic protocol design choices. Hardware and software security techniques. Security testing and fuzzing. Blockchain. Human security issues. Note: May not earn credit for both W4182 and W4180 or W4187

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4182 001/12083 F 1:10pm - 3:40pm
1127 Seeley W. Mudd Building
John Koh 3.00 21/40
COMS 4182 V01/15421  
John Koh 3.00 2/99

COMS W4186 MALWARE ANALYSIS&REVERSE ENGINEERING. 3.00 points .

Prerequisites: COMS W3157 or equivalent. COMS W3827 Hands-on analysis of malware. How hackers package and hide malware and viruses to evade analysis. Disassemblers, debuggers, and other tools for reverse engineering. Deep study of Windows Internals and x86 assembly

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4186 001/12324 Th 4:10pm - 6:40pm
545 Seeley W. Mudd Building
Michael Sikorski 3.00 38/40
COMS 4186 V01/18706  
Michael Sikorski 3.00 8/99

COMS W4203 Graph Theory. 3 points .

Prerequisites: ( COMS W3203 )

General introduction to graph theory. Isomorphism testing, algebraic specification, symmetries, spanning trees, traversability, planarity, drawings on higher-order surfaces, colorings, extremal graphs, random graphs, graphical measurement, directed graphs, Burnside-Polya counting, voltage graph theory.

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4203 001/20497 W 7:00pm - 9:30pm
451 Computer Science Bldg
Yihao Zhang 3 24/60

COMS W4205 Combinatorial Theory. 3 points .

Lect: 3. Not offered during 2023-2024 academic year.

Prerequisites: ( COMS W3203 ) and course in calculus.

Sequences and recursions, calculus of finite differences and sums, elementary number theory, permutation group structures, binomial coefficients, Stilling numbers, harmonic numbers, generating functions. 

COMS W4223 Networks, Crowds, and the Web. 3.00 points .

Introduces fundamental ideas and algorithms on networks of information collected by online services. It covers properties pervasive in large networks, dynamics of individuals that lead to large collective phenomena, mechanisms underlying the web economy, and results and tools informing societal impact of algorithms on privacy, polarization and discrimination

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4223 001/15083 T Th 4:10pm - 5:25pm
833 Seeley W. Mudd Building
Augustin Chaintreau 3.00 69/110
COMS 4223 V01/18856  
Augustin Chaintreau 3.00 14/99

COMS W4231 ANALYSIS OF ALGORITHMS I. 3.00 points .

COMS W4232 Advanced Algorithms. 3.00 points .

Prerequisite: Analysis of Algorithms (COMS W4231).

Prerequisites: see notes re: points Introduces classic and modern algorithmic ideas that are central to many areas of Computer Science. The focus is on most powerful paradigms and techniques of how to design algorithms, and how to measure their efficiency. The intent is to be broad, covering a diversity of algorithmic techniques, rather than be deep. The covered topics have all been implemented and are widely used in industry. Topics include: hashing, sketching/streaming, nearest neighbor search, graph algorithms, spectral graph theory, linear programming, models for large-scale computation, and other related topics

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4232 001/12084 M W 2:40pm - 3:55pm
633 Seeley W. Mudd Building
Alexandr Andoni 3.00 43/100
COMS 4232 V01/15422  
Alexandr Andoni 3.00 2/99

COMS W4236 INTRO-COMPUTATIONAL COMPLEXITY. 3.00 points .

Prerequisites: ( COMS W3261 ) Develops a quantitative theory of the computational difficulty of problems in terms of the resources (e.g. time, space) needed to solve them. Classification of problems into complexity classes, reductions, and completeness. Power and limitations of different modes of computation such as nondeterminism, randomization, interaction, and parallelism

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4236 001/11948 M W 8:40am - 9:55am
451 Computer Science Bldg
Xi Chen 3.00 55/50
COMS 4236 V01/17552  
Xi Chen 3.00 5/99

COMS W4241 Numerical Algorithms and Complexity. 3 points .

Prerequisites: Knowledge of a programming language. Some knowledge of scientific computation is desirable.

Modern theory and practice of computation on digital computers. Introduction to concepts of computational complexity. Design and analysis of numerical algorithms. Applications to computational finance, computational science, and computational engineering.

COMS W4242 NUMRCL ALGORTHMS-COMPLEXITY II. 3.00 points .

COMS W4252 INTRO-COMPUTATIONAL LEARN THRY. 3.00 points .

Prerequisites: ( CSOR W4231 ) or ( COMS W4236 ) or COMS W3203 and the instructor's permission, or COMS W3261 and the instructor's permission.

Possibilities and limitations of performing learning by computational agents. Topics include computational models of learning, polynomial time learnability, learning from examples and learning from queries to oracles. Computational and statistical limitations of learning. Applications to Boolean functions, geometric functions, automata.

COMS W4261 INTRO TO CRYPTOGRAPHY. 3.00 points .

Prerequisites: Comfort with basic discrete math and probability. Recommended: COMS W3261 or CSOR W4231 . An introduction to modern cryptography, focusing on the complexity-theoretic foundations of secure computation and communication in adversarial environments; a rigorous approach, based on precise definitions and provably secure protocols. Topics include private and public key encryption schemes, digital signatures, authentication, pseudorandom generators and functions, one-way functions, trapdoor functions, number theory and computational hardness, identification and zero knowledge protocols

COMS W4281 INTRO TO QUANTUM COMPUTING. 3.00 points .

Prerequisites: Knowledge of linear algebra. Prior knowledge of quantum mechanics is not required although helpful.

Introduction to quantum computing. Shor's factoring algorithm, Grover's database search algorithm, the quantum summation algorithm. Relationship between classical and quantum computing. Potential power of quantum computers.

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4281 001/11949 M W 10:10am - 11:25am
209 Havemeyer Hall
Henry Yuen 3.00 11/90

COMS W4419 INTERNET TECHNOLOGY,ECONOMICS,AND POLICY. 3.00 points .

Technology, economic and policy aspects of the Internet. Summarizes how the Internet works technically, including protocols, standards, radio spectrum, global infrastructure and interconnection. Micro-economics with a focus on media and telecommunication economic concerns, including competition and monopolies, platforms, and behavioral economics. US constitution, freedom of speech, administrative procedures act and regulatory process, universal service, role of FCC. Not a substitute for CSEE4119. Suitable for non-majors. May not be used as a track elective for the computer science major.

COMS W4444 PROGRAMMING & PROBLEM SOLVING. 3.00 points .

Prerequisites: ( COMS W3134 or COMS W3136 or COMS W3137 ) and ( CSEE W3827 ) Hands-on introduction to solving open-ended computational problems. Emphasis on creativity, cooperation, and collaboration. Projects spanning a variety of areas within computer science, typically requiring the development of computer programs. Generalization of solutions to broader problems, and specialization of complex problems to make them manageable. Team-oriented projects, student presentations, and in-class participation required

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4444 001/11950 M W 1:10pm - 2:25pm
337 Seeley W. Mudd Building
Kenneth Ross 3.00 0/33

COMS W4460 PRIN-INNOVATN/ENTREPRENEURSHIP. 3.00 points .

Prerequisites: ( COMS W3134 or COMS W3136 or COMS W3137 ) or the instructor's permission. Team project centered course focused on principles of planning, creating, and growing a technology venture. Topics include: identifying and analyzing opportunities created by technology paradigm shifts, designing innovative products, protecting intellectual property, engineering innovative business models

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4460 001/12085 M W 8:40am - 9:55am
415 Schapiro Cepser
William Reinisch 3.00 34/40
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4460 001/13626 F 10:10am - 12:40pm
829 Seeley W. Mudd Building
William Reinisch 3.00 39/40

COMS W4701 ARTIFICIAL INTELLIGENCE. 3.00 points .

Prerequisites: ( COMS W3134 or COMS W3136 or COMS W3137 ) and any course on probability. Prior knowledge of Python is recommended. Prior knowledge of Python is recommended. Provides a broad understanding of the basic techniques for building intelligent computer systems. Topics include state-space problem representations, problem reduction and and-or graphs, game playing and heuristic search, predicate calculus, and resolution theorem proving, AI systems and languages for knowledge representation, machine learning and concept formation and other topics such as natural language processing may be included as time permits

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4701 001/12086 M W 2:40pm - 3:55pm
501 Northwest Corner
Tony Dear 3.00 90/164
COMS 4701 002/12087 M W 4:10pm - 5:25pm
501 Northwest Corner
Tony Dear 3.00 102/164
COMS 4701 V01/17158  
Tony Dear 3.00 8/99
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4701 001/11951 T Th 10:10am - 11:25am
501 Schermerhorn Hall
Ansaf Salleb-Aouissi 3.00 197/180
COMS 4701 002/11952 T Th 11:40am - 12:55pm
501 Schermerhorn Hall
Ansaf Salleb-Aouissi 3.00 196/180
COMS 4701 V01/17524  
Ansaf Salleb-Aouissi 3.00 20/99

COMS W4705 NATURAL LANGUAGE PROCESSING. 3.00 points .

Prerequisites: ( COMS W3134 or COMS W3136 or COMS W3137 ) or the instructor's permission. Computational approaches to natural language generation and understanding. Recommended preparation: some previous or concurrent exposure to AI or Machine Learning. Topics include information extraction, summarization, machine translation, dialogue systems, and emotional speech. Particular attention is given to robust techniques that can handle understanding and generation for the large amounts of text on the Web or in other large corpora. Programming exercises in several of these areas

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4705 001/12088 M W 2:40pm - 3:55pm
451 Computer Science Bldg
Daniel Bauer 3.00 110/110
COMS 4705 002/12090 F 10:10am - 12:40pm
301 Pupin Laboratories
Daniel Bauer 3.00 205/272
COMS 4705 V02/15423  
Daniel Bauer 3.00 18/99
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4705 001/11953 F 10:10am - 12:40pm
417 International Affairs Bldg
Daniel Bauer 3.00 223/240
COMS 4705 002/11954 M W 4:10pm - 5:25pm
451 Computer Science Bldg
Zhou Yu 3.00 45/100
COMS 4705 V01/17525  
Daniel Bauer 3.00 21/99

COMS W4706 Spoken Language Processing. 3 points .

Prerequisites: ( COMS W3134 or COMS W3136 or COMS W3137 ) or the instructor's permission.

Computational approaches to speech generation and understanding. Topics include speech recognition and understanding, speech analysis for computational linguistics research, and speech synthesis. Speech applications including dialogue systems, data mining, summarization, and translation. Exercises involve data analysis and building a small text-to-speech system.

COMS W4721 MACHINE LEARNING FOR DATA SCI. 3.00 points .

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4721 001/12843 F 1:10pm - 3:40pm
501 Schermerhorn Hall
Robert Kramer, Nakul Verma 3.00 171/189
COMS 4721 V01/16718  
Nakul Verma 3.00 2/99

COMS W4725 Knowledge representation and reasoning. 3 points .

Prerequisites: ( COMS W4701 )

General aspects of knowledge representation (KR). The two fundamental paradigms (semantic networks and frames) and illustrative systems. Topics include hybrid systems, time, action/plans, defaults, abduction, and case-based reasoning. Throughout the course particular attention is paid to design trade-offs between language expressiveness and reasoning complexity, and issues relating to the use of KR systems in larger applications. 

COMS W4731 Computer Vision I: First Principles. 3.00 points .

Prerequisites: Fundamentals of calculus, linear algebra, and C programming. Students without any of these prerequisites are advised to contact the instructor prior to taking the course. Introductory course in computer vision. Topics include image formation and optics, image sensing, binary images, image processing and filtering, edge extraction and boundary detection, region growing and segmentation, pattern classification methods, brightness and reflectance, shape from shading and photometric stereo, texture, binocular stereo, optical flow and motion, 2D and 3D object representation, object recognition, vision systems and applications

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4731 001/11955 M W 10:10am - 11:25am
451 Computer Science Bldg
Shree Nayar 3.00 110/100

COMS W4732 Computer Vision II: Learning. 3.00 points .

Advanced course in computer vision. Topics include convolutional networks and back-propagation, object and action recognition, self-supervised and few-shot learning, image synthesis and generative models, object tracking, vision and language, vision and audio, 3D representations, interpretability, and bias, ethics, and media deception

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4732 001/12091 F 10:10am - 12:40pm
451 Computer Science Bldg
Carl Vondrick 3.00 109/100
COMS 4732 V01/15424  
Carl Vondrick 3.00 46/99

COMS W4733 COMPUTATIONAL ASPECTS OF ROBOTICS. 3.00 points .

Prerequisites: ( COMS W3134 or COMS W3136COMS W3137) Introduction to fundamental problems and algorithms in robotics. Topics include configuration spaces, motion and sensor models, search and sampling-based planning, state estimation, localization and mapping, perception, and learning

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4733 001/14014 F 1:10pm - 3:40pm
501 Northwest Corner
Tony Dear 3.00 95/164
COMS 4733 V01/18546  
Tony Dear 3.00 5/99

COMS W4735 VISUAL INTERFACES TO COMPUTERS. 3.00 points .

Prerequisites: ( COMS W3134 or COMS W3136 or COMS W3137 ) Visual input as data and for control of computer systems. Survey and analysis of architecture, algorithms, and underlying assumptions of commercial and research systems that recognize and interpret human gestures, analyze imagery such as fingerprint or iris patterns, generate natural language descriptions of medical or map imagery. Explores foundations in human psychophysics, cognitive science, and artificial intelligence

COMS W4737 Biometrics. 3 points .

Prerequisites: a background at the sophomore level in computer science, engineering, or like discipline.

In this course. we will explore the latest advances in biometrics as well as the machine learning techniques behind them. Students will learn how these technologies work and how they are sometimes defeated. Grading will be based on homework assignments and a final project. There will be no midterm or final exam. This course shares lectures with COMS E6737 . Students taking COMS E6737 are required to complete additional homework problems and undertake a more rigorous final project. Students will only be allowed to earn credit for COMS W4737 or COMS E6737 and not both.

COMS W4762 Machine Learning for Functional Genomics. 3 points .

Prerequisites: Proficiency in a high-level programming language (Python/R/Julia). An introductory machine learning class (such as COMS 4771 Machine Learning) will be helpful but is not required.

Prerequisites: see notes re: points

This course will introduce modern probabilistic machine learning methods using applications in data analysis tasks from functional genomics, where massively-parallel sequencing is used to measure the state of cells: e.g. what genes are being expressed, what regions of DNA (“chromatin”) are active (“open”) or bound by specific proteins.

COMS E4762 Machine Learning for Functional Genomics. 3.00 points .

This course will introduce modern probabilistic machine learning methods using applications in data analysis tasks from functional genomics, where massively-parallel sequencing is used to measure the state of cells: e.g. what genes are being expressed, what regions of DNA (“chromatin”) are active (“open”) or bound by specific proteins

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4762 001/11956 F 1:10pm - 3:40pm
451 Computer Science Bldg
David Knowles 3.00 8/100

COMS W4771 MACHINE LEARNING. 3.00 points .

Prerequisites: Any introductory course in linear algebra and any introductory course in statistics are both required. Highly recommended: COMS W4701 or knowledge of Artificial Intelligence. Topics from generative and discriminative machine learning including least squares methods, support vector machines, kernel methods, neural networks, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models and hidden Markov models. Algorithms implemented in MATLAB

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4771 001/12092 T Th 1:10pm - 2:25pm
451 Computer Science Bldg
Nakul Verma 3.00 73/110
COMS 4771 002/12093 T Th 2:40pm - 3:55pm
451 Computer Science Bldg
Nakul Verma 3.00 78/110
COMS 4771 V01/16720  
Nakul Verma 3.00 5/99
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4771 001/11957 T Th 2:40pm - 3:55pm
451 Computer Science Bldg
Nakul Verma 3.00 0/110
COMS 4771 V01/17526  
Nakul Verma 3.00 0/99

COMS W4772 ADVANCED MACHINE LEARNING. 3.00 points .

Prerequisites: ( COMS W4771 ) or instructor's permission; knowledge of linear algebra & introductory probability or statistics is required. An exploration of advanced machine learning tools for perception and behavior learning. How can machines perceive, learn from, and classify human activity computationally? Topics include appearance-based models, principal and independent components analysis, dimensionality reduction, kernel methods, manifold learning, latent models, regression, classification, Bayesian methods, maximum entropy methods, real-time tracking, extended Kalman filters, time series prediction, hidden Markov models, factorial HMMS, input-output HMMs, Markov random fields, variational methods, dynamic Bayesian networks, and Gaussian/Dirichlet processes. Links to cognitive science

COMS W4773 Machine Learning Theory. 3 points .

Prerequisites: Machine Learning (COMS W4771). Background in probability and statistics, linear algebra, and multivariate calculus. Ability to program in a high-level language, and familiarity with basic algorithm design and coding principles.

Core topics from unsupervised learning such as clustering, dimensionality reduction and density estimation will be studied in detail. Topics in clustering: k-means clustering, hierarchical clustering, spectral clustering, clustering with various forms of feedback, good initialization techniques and convergence analysis of various clustering procedures. Topics in dimensionality reduction: linear techniques such as PCA, ICA, Factor Analysis, Random Projections, non-linear techniques such as LLE, IsoMap, Laplacian Eigenmaps, tSNE, and study of embeddings of general metric spaces, what sorts of theoretical guarantees can one provide about such techniques. Miscellaneous topics: design and analysis of data structures for fast Nearest Neighbor search such as Cover Trees and LSH. Algorithms will be implemented in either Matlab or Python.

COMS E4773 Machine Learning Theory. 3.00 points .

Theoretical study of algorithms for machine learning and high-dimensional data analysis. Topics include high-dimensional probability, theory of generalization and statistical learning, online learning and optimization, spectral analysis

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4773 001/12094 T Th 8:40am - 9:55am
451 Computer Science Bldg
Daniel Hsu 3.00 34/60

COMS W4774 Unsupervised Learning. 3.00 points .

Prerequisites: Solid background in multivariate calculus, linear algebra, basic probability, and algorithms.

Prerequisites: see notes re: points Core topics from unsupervised learning such as clustering, dimensionality reduction and density estimation will be studied in detail. Topics in clustering: k-means clustering, hierarchical clustering, spectral clustering, clustering with various forms of feedback, good initialization techniques and convergence analysis of various clustering procedures. Topics in dimensionality reduction: linear techniques such as PCA, ICA, Factor Analysis, Random Projections, non-linear techniques such as LLE, IsoMap, Laplacian Eigenmaps, tSNE, and study of embeddings of general metric spaces, what sorts of theoretical guarantees can one provide about such techniques. Miscellaneous topics: design and analysis of datastructures for fast Nearest Neighbor search such as Cover Trees and LSH. Algorithms will be implemented in either Matlab or Python

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4774 001/11958 T Th 1:10pm - 2:25pm
451 Computer Science Bldg
Nakul Verma 3.00 0/50

COMS W4775 Causal Inference. 3.00 points .

Prerequisites: Discrete Math, Calculus, Statistics (basic probability, modeling, experimental design), some programming experience.

Prerequisites: see notes re: points Causal Inference theory and applications. The theoretical topics include the 3-layer causal hierarchy, causal bayesian networks, structural learning, the identification problem and the do-calculus, linear identifiability, bounding, and counterfactual analysis. The applied part includes intersection with statistics, the empirical-data sciences (social and health), and AI and ML

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4775 001/11959 M W 4:10pm - 5:25pm
616 Martin Luther King Building
Elias Bareinboim 3.00 33/50

COMS E4775 Causal Inference. 3 points .

Prerequisites: (COMS4711W) and Discrete Math, Calculus, Statistics (basic probability, modeling, experimental design), Some programming experience

Causal Inference theory and applications. The theoretical topics include the 3-layer causal hierarchy,  causal bayesian networks, structural learning, the identification problem and the do-calculus, linear identifiability, bounding, and counterfactual analysis. The applied part includes intersection with statistics, the empirical-data sciences (social and health), and AI and ML.

COMS W4776 Machine Learning for Data Science. 3 points .

Prerequisites: ( STAT GU4001 or IEOR E4150 ) and linear algebra.

Introduction to machine learning, emphasis on data science. Topics include least square methods, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, hidden Markov models, support vector machines kernel methods. Emphasizes methods and problems relevant to big data. Students may not receive credit for both COMS W4771 and W4776.

COMS W4824 COMPUTER ARCHITECTURE. 3.00 points .

COMS W4835 COMPUTER ORGANIZATION II. 3.00 points .

COMS E4899 Research Training. 0.00 points .

COMS W4910 CURRICULAR PRACTICAL TRAINING. 1.00 point .

COMS E4995 COMPUTER ARTS/VIDEO GAMES. 3.00 points .

Special topics arranged as the need and availability arises. Topics are usually offered on a one-time basis. Since the content of this course changes each time it is offered, it may be repeated for credit. Consult the department for section assignment

COMS W4995 TOPICS IN COMPUTER SCIENCE. 3.00 points .

Prerequisites: Instructor's permission. Selected topics in computer science. Content and prerequisites vary between sections and semesters. May be repeated for credit. Check “topics course” webpage on the department website for more information on each section

Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4995 001/12095 T Th 8:40am - 9:55am
1024 Seeley W. Mudd Building
Andrew Blumberg 3.00 26/40
COMS 4995 002/12096 M W 5:40pm - 6:55pm
1024 Seeley W. Mudd Building
Yongwhan Lim 3.00 11/50
COMS 4995 003/12098 Th 4:10pm - 6:40pm
1127 Seeley W. Mudd Building
Christian Swinehart 3.00 33/40
COMS 4995 004/12099 T Th 5:40pm - 6:55pm
451 Computer Science Bldg
Austin Reiter 3.00 95/110
COMS 4995 005/12101 F 10:10am - 12:40pm
1127 Seeley W. Mudd Building
Michelle Levine 3.00 24/40
COMS 4995 006/12102 T 1:10pm - 3:40pm
1127 Seeley W. Mudd Building
Gary Zamchick 3.00 39/40
COMS 4995 008/12104 W 4:10pm - 6:40pm
451 Computer Science Bldg
Jae Lee, Hans Montero 3.00 74/110
COMS 4995 030/12956 T 7:00pm - 9:30pm
413 Kent Hall
Adam Kelleher 3.00 63/70
COMS 4995 032/12965 W 4:10pm - 6:40pm
329 Pupin Laboratories
Vijay Pappu 3.00 101/100
COMS 4995 V01/18718  
Andrew Blumberg 3.00 0/99
COMS 4995 V02/15425  
Yongwhan Lim 3.00 0/99
COMS 4995 V08/16721  
Jae Lee, Hans Montero 3.00 2/99
COMS 4995 V32/20861  
Vijay Pappu 3.00 20/99
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4995 001/11960 T 4:10pm - 6:40pm
829 Seeley W. Mudd Building
Paul Blaer, Jason Cahill 3.00 0/40
COMS 4995 002/11961 F 10:10am - 12:40pm
644 Seeley W. Mudd Building
Bjarne Stroustrup 3.00 26/33
COMS 4995 003/11962 M W 1:10pm - 2:25pm
633 Seeley W. Mudd Building
Stephen Edwards 3.00 41/70
COMS 4995 004/11963 W 4:10pm - 6:40pm
833 Seeley W. Mudd Building
Jae Lee, Hans Montero 3.00 39/110
COMS 4995 005/11964 T Th 2:40pm - 3:55pm
428 Pupin Laboratories
Peter Belhumeur 3.00 138/125
COMS 4995 006/11965 T Th 5:40pm - 6:55pm
644 Seeley W. Mudd Building
Itsik Pe'er 3.00 7/40
COMS 4995 007/11966 T Th 5:40pm - 6:55pm
451 Computer Science Bldg
Yongwhan Lim 3.00 4/100
COMS 4995 008/11967 T 1:10pm - 3:40pm
829 Seeley W. Mudd Building
Gary Zamchick 3.00 44/40
COMS 4995 009/11968 W 10:10am - 12:40pm
415 Schapiro Cepser
Michelle Levine 3.00 9/40
COMS 4995 010/11969 Th 4:10pm - 6:40pm
633 Seeley W. Mudd Building
Homayoon Beigi 3.00 25/60
COMS 4995 011/13628 T Th 4:10pm - 5:25pm
451 Computer Science Bldg
Hugh Thomas 3.00 100/100
COMS 4995 012/15929 W 7:00pm - 9:30pm
451 Computer Science Bldg
Yihao Zhang 3.00 18/50
COMS 4995 030/13530 M 7:00pm - 9:30pm
833 Seeley W. Mudd Building
Andi Cupallari 3.00 45/120
COMS 4995 031/13532 W 7:00pm - 9:30pm
501 Schermerhorn Hall
Andrei Simion 3.00 144/170
COMS 4995 032/13534 T 4:10pm - 6:40pm
402 Chandler
Vijay Pappu 3.00 116/120
COMS 4995 033/13533 Th 7:00pm - 9:30pm
402 Chandler
Vijay Pappu 3.00 78/135
COMS 4995 V03/17527  
Stephen Edwards 3.00 6/99
COMS 4995 V10/17528  
Homayoon Beigi 3.00 2/99
COMS 4995 V32/17555  
Vijay Pappu 3.00 19/99

COMS W4996 Special topics in computer science, II. 3 points .

Prerequisites: Instructor's permission.

A continuation of COMS W4995 when the special topic extends over two terms.

Computer Science - Electrical Engineering

CSEE W3826 FUNDAMENTALS OF COMPUTER ORG. 3.00 points .

CSEE W3827 FUNDAMENTALS OF COMPUTER SYSTS. 3.00 points .

Prerequisites: an introductory programming course. Fundamentals of computer organization and digital logic. Boolean algebra, Karnaugh maps, basic gates and components, flipflops and latches, counters and state machines, basics of combinational and sequential digital design. Assembly language, instruction sets, ALU’s, single-cycle and multi-cycle processor design, introduction to pipelined processors, caches, and virtual memory

Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 3827 001/12121 T Th 10:10am - 11:25am
207 Mathematics Building
Daniel Rubenstein 3.00 134/152
CSEE 3827 002/12122 T Th 11:40am - 12:55pm
428 Pupin Laboratories
Daniel Rubenstein 3.00 136/147
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 3827 001/11985 T Th 11:40am - 12:55pm
301 Pupin Laboratories
Martha Kim, Martha Barker 3.00 164/164
CSEE 3827 002/11986 T Th 1:10pm - 2:25pm
301 Pupin Laboratories
Martha Kim, Martha Barker 3.00 164/164

CSEE W4119 COMPUTER NETWORKS. 3.00 points .

Introduction to computer networks and the technical foundations of the Internet, including applications, protocols, local area networks, algorithms for routing and congestion control, security, elementary performance evaluation. Several written and programming assignments required

Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4119 002/12160 T Th 11:40am - 12:55pm
451 Computer Science Bldg
Xia Zhou 3.00 101/110
CSEE 4119 V02/15427  
Xia Zhou 3.00 6/99
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4119 001/14071 T Th 4:10pm - 5:25pm
614 Schermerhorn Hall
Ethan Katz-Bassett, Thomas Koch 3.00 92/120
CSEE 4119 002/14070 T Th 5:40pm - 6:55pm
614 Schermerhorn Hall
Ethan Katz-Bassett, Thomas Koch 3.00 47/120
CSEE 4119 V01/19321  
Ethan Katz-Bassett 3.00 0/99

CSEE W4121 COMPUTER SYSTEMS FOR DATA SCIENCE. 3.00 points .

Prerequisites: Background in Computer System Organization and good working knowledge of C/C++. Corequisites: CSOR W4246 Algorithms for Data Science, STAT W4203 Probability Theory, or equivalent as approved by faculty advisor. An introduction to computer architecture and distributed systems with an emphasis on warehouse scale computing systems. Topics will include fundamental tradeoffs in computer systems, hardware and software techniques for exploiting instruction-level parallelism, data-level parallelism and task level parallelism, scheduling, caching, prefetching, network and memory architecture, latency and throughput optimizations, specialization, and an introduction to programming data center computers

Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4121 002/12974 Th 7:00pm - 9:30pm
417 International Affairs Bldg
Sambit Sahu, Robert Kramer 3.00 178/175

CSEE W4140 NETWORKING LABORATORY. 3.00 points .

Prerequisites: ( CSEE W4119 ) or equivalent. In this course, students will learn how to put principles into practice, in a hands-on-networking lab course. The course will cover the technologies and protocols of the Internet using equipment currently available to large internet service providers such as CISCO routers and end systems. A set of laboratory experiments will provide hands-on experience with engineering wide-area networks and will familiarize students with the Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), User Datagram Protocol (UDP) and Transmission Control Protocol (TCP), the Domain Name System (DNS), routing protocols (RIP, OSPF, BGP), network management protocols (SNMP, and application-level protocols (FTP, TELNET, SMTP)

CSEE W4823 Advanced Logic Design. 3 points .

Prerequisites: ( CSEE W3827 ) or a half semester introduction to digital logic, or the equivalent.

An introduction to modern digital system design. Advanced topics in digital logic: controller synthesis (Mealy and Moore machines); adders and multipliers; structured logic blocks (PLDs, PALs, ROMs); iterative circuits. Modern design methodology: register transfer level modelling (RTL); algorithmic state machines (ASMs); introduction to hardware description languages (VHDL or Verilog); system-level modelling and simulation; design examples.

Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4823 001/11307 T Th 2:40pm - 3:55pm
Room TBA
Mingoo Seok 3 117/110

CSEE W4824 COMPUTER ARCHITECTURE. 3.00 points .

Prerequisites: ( CSEE W3827 ) or equivalent. Focuses on advanced topics in computer architecture, illustrated by case studies from classic and modern processors. Fundamentals of quantitative analysis. Pipelining. Memory hierarchy design. Instruction-level and thread-level parallelism. Data-level parallelism and graphics processing units. Multiprocessors. Cache coherence. Interconnection networks. Multi-core processors and systems-on-chip. Platform architectures for embedded, mobile, and cloud computing

Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4824 001/11987 M W 10:10am - 11:25am
214 Pupin Laboratories
Simha Sethumadhavan 3.00 61/55

CSEE W4840 EMBEDDED SYSTEMS. 3.00 points .

Prerequisites: ( CSEE W4823 ) Embedded system design and implementation combining hardware and software. I/O, interfacing, and peripherals. Weekly laboratory sessions and term project on design of a microprocessor-based embedded system including at least one custom peripheral. Knowledge of C programming and digital logic required

Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4840 001/12033 M W 1:10pm - 2:25pm
451 Computer Science Bldg
Stephen Edwards 3.00 97/110

CSEE W4868 SYSTEM-ON-CHIP PLATFORMS. 3.00 points .

Prerequisites: ( COMS W3157 ) and ( CSEE W3827 ) Design and programming of System-on-Chip (SoC) platforms. Topics include: overview of technology and economic trends, methodologies and supporting CAD tools for system-level design, models of computation, the SystemC language, transaction-level modeling, software simulation and virtual platforms, hardware-software partitioning, high-level synthesis, system programming and device drivers, on-chip communication, memory organization, power management and optimization, integration of programmable processor cores and specialized accelerators. Case studies of modern SoC platforms for various classes of applications

Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4868 001/11988 T Th 11:40am - 12:55pm
141 Uris Hall
Luca Carloni 3.00 60/60

Computer Science - Biomedical Engineering

CBMF W4761 COMPUTATIONAL GENOMICS. 3.00 points .

Prerequisites: Working knowledge of at least one programming language, and some background in probability and statistics. Computational techniques for analyzing genomic data including DNA, RNA, protein and gene expression data. Basic concepts in molecular biology relevant to these analyses. Emphasis on techniques from artificial intelligence and machine learning. String-matching algorithms, dynamic programming, hidden Markov models, expectation-maximization, neural networks, clustering algorithms, support vector machines. Students with life sciences backgrounds who satisfy the prerequisites are encouraged to enroll

Course Number Section/Call Number Times/Location Instructor Points Enrollment
CBMF 4761 001/12050 M W 5:40pm - 6:55pm
1127 Seeley W. Mudd Building
Itsik Pe'er 3.00 32/60
CBMF 4761 V01/15241  
Itsik Pe'er 3.00 1/99

Columbia College

Columbia University in the City of New York 208 Hamilton Hall , Mail Code 2805 1130 Amsterdam Avenue New York, NY 10027

[email protected] Phone: 212-854-2441

College Offices

  • Alumni Affairs and Development
  • Berick Center for Student Advising
  • Center for Career Education
  • Center for Undergraduate Global Engagement
  • Double Discovery Center
  • Eric H. Holder Jr. Initiative for Civil and Political Rights
  • Financial Aid & Educational Financing
  • Undergraduate Admissions
  • Undergraduate Research and Fellowships
  • Columbia College on Facebook
  • Columbia College on Twitter
  • Columbia College on Instagram

© 2024-2025 Columbia University   |   Privacy Policy   |   Notice of Non-Discrimination   |   Terms of Use   |   Accessibility   |   University Home Page

Print this page including tabs.

Application & Supporting Documents Deadline: December 15, 2024 (for September 2025 / January 2026)

Steps to Application

  • Check out our graduate programs .
  • Visit Faculty of Graduate and Postdoctoral Studies  for information and overviews of our programs.
  • Read through the eligibility criteria before submitting an application.

Read our application components for detailed information about how to submit an online application, deadlines and a list of required documents to provide. 

Online application will be available in late September/early October. Apply early so that your referees can submit their references by the deadline.

  • Complete and submit your application with supporting documents.  We strongly recommend that you upload them online to avoid delays.   
  • Wait for the decision.  

Tuition fees, enrollment numbers and more for each program:

MSc program

PhD program

USC Viterbi School of Engineering Logo – Viterbi School website

  • B.S. Students
  • M.S. Students
  • Ph.D. Students
  • D-Clearance
  • Directed Research
  • Information for Graders and Course Producers
  • Microsoft Imagine
  • CS Student Organizations
  • CS Library Guide
  • CS Job Announcements

PhD Program - Application Information:

Application deadline:.

Fall Semester - December 15th.

*Please note: The Computer Science Department does not accept applications for the Spring semester.

How to Apply:

Complete and submit the electronic USC Graduate Admission Application .

Required Documents:

Required documents to be submitted with the online application:

  • Statement of Purpose
  • Minimum of Three Letters of Recommendation
  • Any published papers, research reports, etc.

Please note: The Department of Computer Science does not accept hard copies of recommendation letters, personal statements, resumes or any other supporting documents. We will not be able to upload documents to your application.

Required documents to be submitted directly to the USC Office of Admission:

  • Official Transcripts from all colleges and universities attended.
  • TOEFL scores, If applicable : Institution Code: 4852
  • USC has issued a temporary waiver of the GRE score requirement for students applying to graduate programs in Fall 2024.
  • Chair’s Welcome
  • Awards and Honors
  • CS@SC Institutes
  • Media Coverage
  • Newsletters and Fact Sheets
  • CS Industry Affiliate Program
  • Bekey Lecture
  • Driving Directions
  • Open Staff Positions
  • Open Faculty Positions
  • Centers and Institutes
  • Research Areas and Labs
  • Technical Reports
  • Annual Research Review
  • Undergraduate Research Experiences
  • Faculty Directory
  • Staff Directory
  • Getting Started with CS@USC
  • B.S. Program
  • M.S. Program
  • Ph.D. Program
  • Data Science Program
  • Graduate Certificate
  • Distance Education
  • K-12 Outreach
  • Academic Advisement
  • B.S. Application Information
  • M.S. Application Information
  • Ph.D. Application Information
  • Menu  Close 
  • Search 

PhD Program Admissions

Chien-Ming Huang and a student work in a robotics lab.

Applying to our PhD Program

We’re thrilled that you are interested in our PhD program in computer science! This page provides an overview of the application process, some guidelines, and answers to specific questions. Please check our FAQ before emailing [email protected] with any questions not answered here.

Our program accepts a large number of applicants each year from a diverse range of backgrounds. Our applicants come directly from undergraduate or master’s programs, as well as industry positions, and from within United States and numerous countries around the world.

Visit the interactive PhD program statistics page   to view historical program data pertaining to admissions, enrollment, retention/attrition/completion, and time to degree conferral. (Select “ Computer Science” from the “Choose Program” drop-down menu.)

Ready to start your PhD application?

We’re ready for you. Click on the link below to start your application to become a PhD student at Johns Hopkins University

The Application: General Advice

The most important question we ask when reviewing applications is "Will this individual excel at research?" Every part of your application is helpful insofar as it answers this question. The three major components of an application are the statement, letters of recommendation, and grades.

This is one of the most important parts of your application; it lets us get to know you and creates a narrative of your academic career and future plans. Before you write your statement, start by thinking about what you want us to learn about you. Make a list of important achievements, perspectives, and goals. Build your statement around this list. We are looking for students who have made the most of the opportunities they have been presented with and who are smart, creative, and motivated. Keep in mind that we also have your CV and letters of recommendation, so we don’t necessarily need a list of all your accomplishments. However, your statement can fill in the narrative around what you did and, more specifically, why you did it. What motivates you? What are your research interests and why? These details aren’t found elsewhere in your application, so focus on them in your statement.

There are a few things we suggest not including in your statement. While it’s tempting to give a rationale for why you are applying to our program, don’t include it if it’s uninformed. Consider: “I want to apply to Johns Hopkins because it’s one of the premiere academic programs.” We know that already! If you do have specific reasons to be interested in our program (e.g. location, a specific project, a faculty member, etc.), be sure to mention them.

In terms of your motivation, be specific! Don’t write: “I’ve wanted to do a PhD in CS since I was six years old.” We don’t trust that six-year-olds make good career decisions. If you write “I have always found AREA X fascinating,” explain why.

Letters of Recommendation

The two most important factors of a recommendation letter are: 1) select someone who knows you well, and 2) select someone who knows how to write a letter.

First, it’s tempting to ask Professor X. to write a letter for you because they are a well-known person in the field. While we can better contextualize letters from people we know, it’s only helpful if the letter contains meaningful information. If Professor X. writes, “I’ve met the applicant a few times and they seem sharp,” that’s not useful information. It’s more important to select someone who knows you well and can discuss your achievements in detail.

Second, your letter writer should know how to write a letter. Academic research programs look for different things than a company. We often read letters from work supervisors that say nice things, but don’t speak to the qualities we find most important.

Of course, it’s a balance. You want someone who knows you well, but they still need to know how to write a good letter of recommendation.

We understand that three letters are a lot, especially for an undergraduate applying directly to a PhD program. We don’t expect each candidate to have three amazing letters. Your choices should be about balance: you want people who know you well, can write good academic letters, and know the research field. Use your choice of your three letter-writers to create this balance.

There isn’t much you can do about your grades—you have the grades you have. However, we do not use any grade cutoffs or thresholds in admissions. We want to see that you did well and excelled in whatever program you were in. Did you push yourself to take upper-level classes? Did you do well in the classes most directly related to your research area? If you have special circumstances that explain some of your grades, please include a description of them in your statement.

The Whiting School of Engineering does not require GRE General Test scores for applications to our PhD programs.

TOEFL or IELTS

Non-native English speakers must take the TOEFL or IELTS exams. Details on accepted exams, scores, and exceptions to this requirement can be found here .

Application Tips

There are many helpful guides for PhD applications. Here are a few we recommend:

  • How to be a Successful PhD Student (co-authored by our own Mark Dredze )
  • What Readers Look for in a Statement of Purpose
  • Student Perspectives on Applying to NLP PhD Programs
  • A Survival Guide to a PhD

Application Deadlines

Application Deadline:

The deadline for fall is December 15th. (No recruiting for spring admissions.)

The application will be available for submission on or around August 15.

A painting of Vivien Thomas.

Vivien Thomas Scholars

The Vivien Thomas Scholars Initiative (VTSI) is an endowed fellowship program at Johns Hopkins for PhD students in STEM fields. It provides full tuition, stipend, and benefits while also providing targeted mentoring, networking, community, and professional development opportunities. Students who have attended a historically black college and university or other minority serving institution for undergraduate study are eligible to apply. To be considered for the VTSI, all application and supplementary materials must be received by December 1, 2021.

Engineering

Computer science, master of science in computer science.

Accelerate your upward career mobility with a master’s degree in computer science from the Virginia Commonwealth University (VCU) College of Engineering. We are among the best graduate programs in the nation as ranked by U.S. News and World Report . Combined with our industry connections and access to Richmond-area businesses, VCU Engineering is a solid choice for your continuing education.

More technology focused than traditional engineering tracks, the VCU Engineering master’s degree in computer science emphasizes self development of individuals currently engaged in science-, technology- and engineering-related fields. Both the theoretical and applied aspects of computer science are emphasized in this program, which encompasses the design, development and utilization of computers and software.

What you’ll learn

Our 30-credit program can be completed in about two years by full time students and allows students to specialize in areas of computer science like:

  • Artificial intelligence
  • Bioinformatics
  • Cloud computing
  • Cybersecurity, robotics
  • Data mining
  • Data science
  • High performance
  • Machine learning
  • Natural language processing
  • Software engineering
  • Virtual reality

You will develop the advanced software design and problem solving skills sought by many employers. By applying creativity to form innovative solutions, master’s program students will use their knowledge to solve technological problems to meet the needs of our changing society and advance the quality of human life.

The VCU College of Engineering is etched into the landscape of Richmond, giving students access to a culturally vibrant and diverse city full of potential. We focus on developing close partnerships with public institutions and private businesses in order to give you unique learning and job opportunities.

Master’s program students also have access to benefits like:

  • Faculty who are industry experts , finding innovative solutions in their fields with well-funded labs and industry partnerships
  • Design your own path to education with flexible electives and focus on computer science and engineering topics you are passionate about
  • Dedicated Career Services department that provides internship and employment opportunities
  • Industry connections through college partnerships with public and private industry
  • Interdisciplinary education to teach collaboration with engineering practitioners outside your field of stud

Reference the VCU Bulletin for a full list of computer science classes. Master’s program courses are 500 level and above (for example, EGMN 605). Below are a few signature courses from the program:

  • Advanced Algorithms (CMSC501): Dive into advanced graph algorithms, advanced data structures, applied numerical algorithms, optimization methods, approximation methods for hard graph and string problems and computational geometry algorithms.
  • High Performance Distributed Systems (CMSC603): Understand the concepts underlying distributed systems and analyze problems to identify performance bottlenecks, parallelization opportunities and concurrency issues in a distributed environment. Create distributed and scalable implementations using multiple hosts/GPUs while designing and implementing algorithms using Hadoop, Spark and CUDA.
  • Knowledge Discovery and Data Mining (CMSC635): Learn knowledge discovery and data mining concepts, tools and methods with hands-on projects involving analysis of large, real-life data. Topics include the knowledge discovery process; data storage and representation; preprocessing algorithms for missing data imputation; feature selection and discretization; unsupervised learning algorithms for clustering and association mining; supervised learning algorithms including decision trees; Bayesian models and introduction to support vector machines and neural networks; ensemble learning; protocols and measures for validation of predictive models; and data security and privacy issues.
  • Artificial Neural Networks and Deep Learning (CMSC636): Become familiar in a range of topics like fundamental learning rules; functional, cascade correlational, recurrent and gradient descent networks; neocognition, softmax, deep convolutional networks; autoencoders; and pre-trained deep learning (restricted Boltzmann machines).

A graduate degree in computer science can facilitate career advancement in a number of industries like:

  • Commercial banking and credit
  • Information technology
  • Internet and telecommunications
  • Investment banking

Consider possibilities like:

  • Computer systems analyst: Computer systems analysts, or systems analysts, help organizations use computer technology efficiently and effectively. They analyze present systems or processes to identify areas of improvement, make recommendations and provide cost-benefit analyses to determine whether to upgrade or replace systems.
  • Cyber security engineering director: A cyber security engineer develops and implements an organization's security protocols and systems. They often identify security solutions, develop and implement defense layers, respond to attempts at network intrusion, configure and install detection systems and firewalls. Security engineers often also test system defenses, software and hardware.
  • Senior software developer: A senior software developer designs applications or software a user may use to perform a specific task. This may be a specific application or software or it may be a larger system or network related to control or device networks. Senior software developers often assess and improve systems, write new code, develop operational manuals and submit progress reports for the project.

With the help of our Career Services team, VCU College of Engineering graduates have many opportunities to network with alumni and industry professionals. Our students work at companies like:

  • Black Knight Technology Inc.
  • Blue River Technology
  • Capital One
  • CoStar Group
  • Federal Reserve Bank of Richmond
  • Micron Technology Inc.
  • MITRE Corporation
  • NT Concepts

How to apply

VCU offers an online, self-managed application process. See what’s needed to apply for an engineering graduate program and reference our list of Frequently Asked Questions (FAQ) .

Start your application

  • Skip to Content
  • Catalog Home

UW-Milwaukee Academic Catalog

Computer science.

Computer-Science-PhD-1500-x-400

Computer Science, PhD

The Doctor of Philosophy, the highest degree offered by the University, is conferred in recognition of marked scholarship in a broad field of knowledge as well as distinguished critical or creative achievement within a special area of the general field (the special area being the subject of the doctoral dissertation). The Doctor of Philosophy (PhD) in Computer Science program in the College of Engineering and Applied Science (CEAS) is designed to meet the traditional high standards for such programs. The PhD in Computer Science is administered by the division of Computer Science in the department of Electrical Engineering and Computer Science. Some aspects of the program are delegated to the CEAS Graduate Office.

The program is flexible, allowing the student to develop a plan of studies tailored to meet individual needs. Evaluation of the study plan is based on its appropriateness as a computer science program, the availability within the University of appropriate course offerings, and the availability within the division of Computer Science of a faculty member who is qualified to serve as the student’s major professor.

The PhD degree requires a minimum of 66 credits beyond the baccalaureate, including a dissertation. The student must also satisfy a residence requirement.

Many of the courses leading toward graduate degrees in CEAS are offered in the late afternoon or evening. So, students can complete much of their coursework on a part-time basis.

Admission Requirements

Credits and courses, additional requirements, application deadlines.

Application deadlines vary by program, please review the application deadline chart for specific programs. Other important dates and deadlines can be found by using the One Stop calendars .

An applicant must meet  Graduate School requirements  plus these program requirements to be considered for admission to the program:

  • Applicants holding a MS degree in computer science will generally be admitted without deficiencies. Applicants holding a BS degree in computer science may be admitted only if they are exceptionally strong, such as with a record including successful completion of courses normally taken at the graduate level in computer science.
  • Applicants holding MS degrees from domains outside of computer science may be admitted with specific program-defined course deficiencies, provided that the deficiencies amount to no more than two courses. The student is expected to satisfy deficiency requirements within three enrolled semesters. The deficiencies are monitored by the Graduate School and the division of Computer Science. No course credits earned in making up deficiencies may be counted as program credits required for the degree. The mathematics preparation must generally include mathematics equivalent to MATH 231 . Otherwise, the made-up deficiencies must be sufficient to assure that the applicant is able to proceed with advanced work directed toward the doctoral degree.
  • A minimum grade point average of 3.0 on the basis of 4.0, in the highest degree granted. An applicant with a master’s degree in engineering or computer science having a GPA of less than 3.0, but at least equal to 2.75, may be admitted if substantial evidence can be submitted demonstrating that the applicant has the capacity to perform satisfactory doctoral work.
  • All applicants are required to submit a brief (1 or 2 page) statement describing their professional goals and at least two letters of reference.
  • The Graduate Record Examination (GRE) is required for all international and domestic applicants.
  • International students require proof of English language proficiency. Complete information is available at the  UWM Center for International Education .
  • Applicants with a relevant master’s degree who intend to complete an additional master’s in Computer Science at UWM should announce their plans at the time of admission, and not later than the start of their second year into the PhD program.

Reapplication

A student who receives a master’s degree at UWM must formally apply for admission to the Graduate School as a doctoral student before continuing studies that will be credited toward the Doctor of Philosophy in Computer Science.

The minimum degree requirement is 66 graduate credits beyond the bachelor’s degree. The minimum credit  distribution of coursework to be undertaken must be as follows depending on the option selected.

Course List
Code Title Credits
Select 21 credits in the major area of concentration21
Select 9 credits in an approved minor area9
Select 6 credits in mathematics and/or quantitative methods6
Take for total of 18 credits:18
Doctoral Thesis
Select 9 credits of electives9
Effective Academic Writing1
Preparing Future Engineering Faculty & Professionals2
Total Credits66

The 6-credit requirement in mathematics and/or quantitative methods may be met by satisfactorily completing certain courses specified by the Department or by taking the minor in mathematics. When such courses also count for either the major or the minor area, the remaining credits may be taken as approved electives.

The student must achieve a 3.0 GPA separately in each of the following areas: the major area, the minor area, and the quantitative methods area.

The minor is normally in another area offered in the College or in the physical sciences or mathematics or in management sciences. Consideration of any other area as a minor requires the prior approval of the Department.

A minimum of 26 credits, excluding doctoral thesis, must be at the 700 level or higher.

Major Professor as Advisor

The Graduate School requires that the student must have a major professor to advise, supervise, and approve the program of study before registering for courses. The incoming student will be assigned to an initial Program Advisor at the time of admission. Prior to the completion of 12 credits (9 credits for part-time students), the student must select a major professor who will be the student’s thesis advisor. The student, in consultation with the major professor, develops a proposed program of studies which is submitted for approval. For subsequent changes, the student must file a revised program of study for approval.

Foreign Language

There is no foreign language requirement for the degree.

The program residence requirement is satisfied either by completing 8 or more graduate credits in two consecutive semesters, exclusive of summer sessions, or by completing 6 or more graduate credits in each of three consecutive semesters, exclusive of summer sessions.

Qualifying Examination

Each student in the program must take and pass a Qualifying Examination to demonstrate that the student is qualified for doctoral-level work. The Qualifying Examination is a written exam and is structured in two parts: Part 1 and Part 2. The examination is offered twice a year during the regular academic year. 

Students entering with only a bachelor’s degree or with a master’s degree in an area unrelated to their major may take the Qualifying Examination for the first time after earning 12 credits of graduate work at UWM and must successfully pass the exam before earning 30 credits of graduate work at UWM.

Students admitted after completing an appropriate master’s degree must take this examination no later than the semester immediately after 18 credits of graduate work have been earned at UWM.

A student may take the Qualifying Examination twice. On the first attempt, the student must attempt both Part 1 and Part 2 of the examination.

  • If the student passes both parts, then the student has passed the entire examination and will be permitted to proceed toward the Doctor of Philosophy degree.
  • If the student fails both parts, then the student must take the entire exam again at its next offering.
  • If a student passes only one of the two parts, then the student must take the examination again at its next offering, but may choose to take only the part of the examination that was not passed on the first attempt.
  • If a passing grade is not obtained on the second attempt of the Qualifying Examination, the student will not be permitted to proceed toward the Doctor of Philosophy degree.

A student who fails the qualifying exam twice is subject to dismissal from the PhD in Computer Science program. A student may appeal the failure and dismissal within 30 days of being notified of the failure. If the student does not appeal or the appeal is not granted, the College will recommend to the Graduate School that the student be dismissed. A student who is dismissed from the PhD in Computer Science program because of failing the qualifying exam may not be enrolled in the PhD in Computer Science program for a complete calendar year. This does not preclude the student from being enrolled in any other degree program offered by the University. A student who wishes to re-enroll in the program after a calendar year has passed must apply as any other student would, including payment of fees. A student readmitted after having failed the qualifying exam twice must take the qualifying exam in the first semester of matriculation and this will count as the student’s first attempt at the exam. The student may appeal this requirement prior to the first scheduled day of classes. If the student fails the qualifying exam on this first attempt, the student is permitted the customary second attempt as described above. All appeals must be in writing and directed to the CEAS Associate Dean for Academic Affairs.

Doctoral Program Committee

The Doctoral Program Committee is proposed by the major professor in consultation with the student and the department. The Committee must include at least five graduate faculty (three from major area, one from minor area, and one from any area, including the major and minor areas). The last member may be a person from outside the University (such as another university, a research laboratory, or a relevant industrial partner), provided that person meets Graduate School requirements. The Committee may have more than five members, provided that the majority of the Committee members are from the student’s major field.

Doctoral Preliminary Examination

A student is admitted to candidacy only after successful completion of the doctoral preliminary examination conducted by the Doctoral Program Committee. This examination, which normally is oral, must be taken before the completion of 48 credits of graduate work toward the Doctor of Philosophy degree in Computer Science and should be taken within the first seven years in the program. Prior to the examination, the student must present a proposal for a doctoral dissertation project. The examination may cover both graduate course material and items related to the proposed dissertation project.

Dissertation and Dissertator Status

The student must carry out a creative effort in the major area under the supervision of the major professor and report the results in an acceptable dissertation. The effort of the student and the major professor to produce the dissertation is reflected in the PhD in Computer Science program requirement that the student complete at least 18 credits of doctoral thesis. 

After the student has successfully completed all degree requirements except the dissertation, the student may enter Dissertator Status. Achieving Dissertator Status requires successful completion of the Doctoral Preliminary Examination and prior approval of the student’s advisor, the Doctoral Program Committee, and the Computer Science GPR of a dissertation proposal that outlines the scope of the project, the research method, and the goals to be achieved. Any proposal that may involve a financial commitment by the University also must be approved by the Office of the Dean. After having achieved Dissertator Status, the student must continue to register for 3 credits of doctoral thesis per semester during the academic year until the dissertation is completed.

Dissertation Defense

The final examination, which is oral, consists of a defense of the dissertation project. The doctoral defense examination may only be taken after all coursework and other requirements have been completed. The student must have Dissertator Status at the time of the defense.

All degree requirements must be completed within ten years from the date of initial enrollment in the doctoral program.

Print Options

Print this page.

The PDF will include all information unique to this page.

All pages in the 2024-2025 Catalog.

An official website of the United States government

Here's how you know

Official websites use .gov A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS. A lock ( Lock Locked padlock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.

Abstract collage of science-related imagery

NSF Graduate Research Fellowship Program (GRFP)

View guidelines, important information about nsf’s implementation of the revised 2 cfr.

NSF Financial Assistance awards (grants and cooperative agreements) made on or after October 1, 2024, will be subject to the applicable set of award conditions, dated October 1, 2024, available on the NSF website . These terms and conditions are consistent with the revised guidance specified in the OMB Guidance for Federal Financial Assistance published in the Federal Register on April 22, 2024.

Important information for proposers

All proposals must be submitted in accordance with the requirements specified in this funding opportunity and in the NSF Proposal & Award Policies & Procedures Guide (PAPPG) that is in effect for the relevant due date to which the proposal is being submitted. It is the responsibility of the proposer to ensure that the proposal meets these requirements. Submitting a proposal prior to a specified deadline does not negate this requirement.

Supports fellowships for outstanding graduate students who are pursuing full-time, research-based masters and doctoral degrees in science, technology, engineering or math or STEM education.

The purpose of the NSF Graduate Research Fellowship Program (GRFP) is to help ensure the quality, vitality, and diversity of the scientific and engineering workforce of the United States. The program recognizes and supports outstanding graduate students who are pursuing full-time research-based master's and doctoral degrees in science, technology, engineering, and mathematics (STEM) or in STEM education. The GRFP provides three years of support over a five-year fellowship period for the graduate education of individuals who have demonstrated their potential for significant research achievements in STEM or STEM education.  NSF actively encourages submission of applications from the full spectrum of diverse talent that society has to offer which includes underrepresented and underserved communities.

NSF GRFP was established to recruit and support individuals who demonstrate the potential to make significant contributions in STEM. NSF especially encourages applications from undergraduate seniors and Bachelor's degree-holders interested in pursuing research-based graduate study in STEM.  First- and second-year graduate students in eligible STEM fields and degree programs are also encouraged to apply.

Program contacts

The Graduate Research Fellowship Operations Center is responsible for processing applications and responding to requests for information.  General inquiries regarding the Graduate Research Fellowship Program should be made to:

Graduate Research Fellowship Operations Center, telephone: 866-NSF-GRFP, 866-673-4737 (toll-free from the US and Canada) or 202-331-3542 (international). email: [email protected]

(866) 673-4737

Program events

  • August 15, 2024 - Information and Intelligent Systems (IIS) Office Hours
  • August 12, 2024 - DEB Virtual Office Hour: Graduate Research Fellowship Program
  • July 18, 2024 - IOS Virtual Office Hour: Graduate Research Fellowship Program
  • August 15, 2023 - Division of Biological Infrastructure (DBI) Virtual Office…
  • August 9, 2023 - MCB Virtual Office Hour: Graduate Research Fellowship Program

Additional program resources

  • Non-NSF website with comprehensive information on how to apply, eligibility, phone numbers and email addresses
  • Frequently Asked Questions (FAQs) for the Graduate Research Fellowship Program
  • Administrative Guide for Fellows and Coordinating Officials
  • List of Fellows and Honorable Mentions

Awards made through this program

Organization(s).

  • Directorate for Biological Sciences (BIO)
  • Directorate for Computer and Information Science and Engineering (CISE)
  • Directorate for STEM Education (EDU)
  • Division of Graduate Education (EDU/DGE)
  • Directorate for Engineering (ENG)
  • Directorate for Geosciences (GEO)
  • Directorate for Mathematical and Physical Sciences (MPS)
  • Directorate for Social, Behavioral and Economic Sciences (SBE)
  • Directorate for Technology, Innovation and Partnerships (TIP)
  • Office of Integrative Activities (OD/OIA)
  • Office of International Science and Engineering (OD/OISE)

Skip to Content

Current Students

Current Students

Alumni

Interested in more? Search Courses

  • Search Input Submit Search

Admission Steps

Computer science - phd, admission requirements.

Terms and Deadlines

Degree and GPA Requirements

Prerequisites

Additional standards for non-native english speakers, additional standards for international applicants.

For the 2025-2026 academic year

See 2024-2025 requirements instead

Fall 2025 quarter (beginning in September)

Priority deadline: February 14, 2025

Final submission deadline: June 16, 2025

International submission deadline: May 5, 2025

Winter 2026 quarter (beginning in January)

Final submission deadline: November 4, 2025

International submission deadline: September 8, 2025

Spring 2026 quarter (beginning in March)

Final submission deadline: February 3, 2026

International submission deadline: December 8, 2025

Summer 2026 quarter (beginning in June)

Final submission deadline: May 4, 2026

International submission deadline: February 23, 2026

Priority deadline: Applications will be considered after the Priority deadline provided space is available.

Final submission deadline: Applicants cannot submit applications after the final submission deadline.

Degrees and GPA Requirements

Bachelors degree: All graduate applicants must hold an earned baccalaureate from a regionally accredited college or university or the recognized equivalent from an international institution.

University GPA requirement: The minimum grade point average for admission consideration for graduate study at the University of Denver must meet one of the following criteria:

A cumulative 2.5 on a 4.0 scale for the baccalaureate degree.

A cumulative 2.5 on a 4.0 scale for the last 60 semester credits or 90 quarter credits (approximately two years of work) for the baccalaureate degree.

An earned master’s degree or higher from a regionally accredited institution or the recognized equivalent from an international institution supersedes the minimum GPA requirement for the baccalaureate.

A cumulative GPA of 3.0 on a 4.0 scale for all graduate coursework completed for applicants who have not earned a master’s degree or higher.

Prerequisite courses for the PhD include: COMP 1671 Introduction to Computer Science I, COMP 1672 Introduction to Computer Science II, COMP 2673 Introduction to Computer Science III, COMP 2300 Discrete Structures in Computer Science, COMP 2370 Introduction to Algorithms & Data Structures, and COMP 2691 Introduction to Computer Organization (or equivalent).

Official scores from the Test of English as a Foreign Language (TOEFL), International English Language Testing System (IELTS), C1 Advanced or Duolingo English Test are required of all graduate applicants, regardless of citizenship status, whose native language is not English or who have been educated in countries where English is not the native language. Your TOEFL/IELTS/C1 Advanced/Duolingo English Test scores are valid for two years from the test date.

The minimum TOEFL/IELTS/C1 Advanced/Duolingo English Test score requirements for this degree program are:

Minimum TOEFL Score (Internet-based test): 80

Minimum IELTS Score: 6.5

Minimum C1 Advanced Score: 176

Minimum Duolingo English Test Score: 115

Additional Information:

Read the English Language Proficiency policy for more details.

Read the Required Tests for GTA Eligibility policy for more details.

Per Student & Exchange Visitor Program (SEVP) regulation, international applicants must meet all standards for admission before an I-20 or DS-2019 is issued, [per U.S. Federal Register: 8 CFR § 214.3(k)] or is academically eligible for admission and is admitted [per 22 C.F.R. §62]. Read the Additional Standards For International Applicants policy for more details.

Application Materials

Transcripts, letters of recommendation.

Required Essays and Statements

We require a scanned copy of your transcripts from every college or university you have attended. Scanned copies must be clearly legible and sized to print on standard 8½-by-11-inch paper. Transcripts that do not show degrees awarded must also be accompanied by a scanned copy of the diploma or degree certificate. If your academic transcripts were issued in a language other than English, both the original documents and certified English translations are required.

Transcripts and proof of degree documents for postsecondary degrees earned from institutions outside of the United States will be released to a third-party international credential evaluator to assess U.S. education system equivalencies. Beginning July 2023, a non-refundable fee for this service will be required before the application is processed.

Upon admission to the University of Denver, official transcripts will be required from each institution attended.

Three (3) letters of recommendation are required.  Letters should be submitted by recommenders through the online application.

Essays and Statements

Personal statement instructions.

A personal statement of at least 300 words is required. Your statement should include information concerning your life, education, experiences, interests and reason for applying to DU.

Résumé Instructions

The résumé (or C.V.) should include work experience, research, and/or volunteer work.

Start the Application

Online Application

Financial Aid Information

Start your application.

Your submitted materials will be reviewed once all materials and application fees have been received.

Our program can only consider your application for admission if our Office of Graduate Education has received all your online materials and supplemental materials by our application deadline.

Application Fee: $65.00 Application Fee

International Degree Evaluation Fee: $50.00 Evaluation Fee for degrees (bachelor's or higher) earned from institutions outside the United States.

Applicants should complete their Free Application for Federal Student Aid (FAFSA) by February 15. Visit the Office of Financial Aid for additional information.

  • Campus Maps
  • Campus Tours
  • People Directory
  • New Students
  • Current Students
  • Faculty and Staff
  • Brightspace
  • Get help with your login
  • Faculty & Staff

Computer Science (PhD)

Empower your future with Dalhousie's PhD in Computer Science, combining groundbreaking research with real-world applications.

Why choose this program?

Choosing Dalhousie's PhD in Computer Science offers benefits such as access to world-class research facilities, collaboration with leading experts, and opportunities for interdisciplinary projects.

The program emphasizes innovation, practical experience, and strong industry connections, preparing students for advanced careers in academia, research, and industry.

By the time you've completed your degree, you will be ready for a career in industry, or within an academic setting.

Possible careers include:

Computer science professor 

Researcher in industrial or government lap

Chief Technical Officer

CEO of your own start-up 

Admission requirements

You'll need to meet the  Faculty of Graduate Studies minimum requirements  as well as any program-specific admissions requirements before you can apply.

Financial information

At Dalhousie, we want our students to focus on their studies, rather than worry about their personal finances. We offer competitive tuition rates and funding programs to support graduate students in almost all of our degree programs.

Program options

Thesis : Conduct innovative and important research supervised by an expert in your field, culminating in an original thesis.

Standard program duration:

5 years or longer

Enrolment options:

Delivery format:.

All graduate programs at Dalhousie are collaboratively delivered by a home Faculty and the  Faculty of Graduate Studies .

Contact an admissions advisor

Questions about admissions or the application process get in touch with the program..

Email:  [email protected]

I'm ready to apply!

Dalhousie Tiger mascot cheering

While every effort is made to ensure accuracy on this page, in the event of a discrepancy,  Dalhousie's Academic Calendars  are the official reference.

IMAGES

  1. Computer Science PhD Pre-Submission Application Review (PAR) Program

    computer science columbia phd application

  2. Computer Science PhD Pre-Submission Application Review (PAR) Program

    computer science columbia phd application

  3. Fillable Online cs columbia PhD (with Distinction), Computer Science

    computer science columbia phd application

  4. Computer Science PhD Pre-Submission Application Review (PAR) Program

    computer science columbia phd application

  5. Computer Science PhD Pre-Submission Application Review (PAR) Program

    computer science columbia phd application

  6. Computer Science PhD Pre-Submission Application Review (PAR) Program

    computer science columbia phd application

VIDEO

  1. Columbia Computer Science 여러분도 입학 가능합니다! #미국 #미국대입 #미국유학 #미국입시컨설팅 #미국대학컨설팅 #미국대학 #미국대학입시 #sat학원

  2. Columbia Business School

  3. Panel: Undergraduate Research Opportunities

  4. LOL: Columbia Marxist GETS OWNED By Journalist

  5. Kittu Kolluri Graduate Class Day Speaker

  6. Why Computer Science at CU?

COMMENTS

  1. Admissions

    A small number of highly qualified students are admitted each year to the PhD Program in Computer Science. Admission is very competitive, based primarily on research-oriented reference letters, academic grades, and overall experience and record. Applicants need not already hold a master's degree; bachelor's degree-level applicants are also ...

  2. Doctoral Program

    Doctoral Program | Department of Computer Science ...

  3. Doctoral Program Requirements

    Doctoral Program Requirements

  4. M.S. Leading to Ph.D.

    Every MS/PhD track student (registration status ETCOMS) must apply for MS graduation in order to receive the MS degree from Columbia University and be awarded advanced standing (two RUs) towards the PhD. The faculty will approve the MS degree application following successful completion of six (6) areas completed in the Computer Science ...

  5. M.S. Program Application FAQ

    STEP 1: Complete and submit an online application: Refer to the. After you submit the application, reference requests are sent to your recommendation providers. Your application will be assigned to the faculty on the MS Admissions committee and pass through several stages of review. Official decision notifications will be sent out via email.

  6. Department of Computer Science, Columbia University

    Department of Computer Science, Columbia University. The department is thrilled to introduce a cadre of new researchers poised to join the charge in artificial intelligence (AI) …. CS researchers are among the awardees that support emerging research in the field of financial services. Steven Feiner and his former PhD students, Blair MacIntyre ...

  7. M.S.

    The Master of Science (MS) program is intended for people who wish to broaden and deepen their understanding of Computer Science. Columbia University and the New York City environment provide excellent career opportunities in multiple industries. The program provides a unique opportunity to develop leading-edge in-depth knowledge of specific ...

  8. Doctor of Philosophy in Computer Science (PhD)

    PhD students in the Department of Computer Science may focus their research in the following areas: Artificial Intelligence: computer vision, decision theory/game theory, knowledge representation and reasoning, intelligent user interfaces, machine learning, natural language understanding and generation, robotics and haptics. Computer Graphics: animation, imaging, modeling, rendering ...

  9. Computer Science (PhD) < Columbia Engineering Academic Catalog

    Ph.D. in Computer Science Program. The primary focus of the doctoral program is research, with the philosophy that students learn best by doing—beginning as apprentices and becoming junior colleagues working with faculty on scholarly research projects. The faculty in the department conduct research in all areas of computer science. The degree ...

  10. Computer Science Degrees

    Bridge to PhD Program; ... Department of Computer Science Columbia University 500 West 120 Street Room 450, Mail Code 0401 New York, NY 10027 Phone: 212-853-8400 Fax: 212-666-0140 Email - Undergrads: [email protected] Email - Grad students: [email protected] Computer Engineering Program.

  11. Admissions

    Admissions - GSAS - Columbia University

  12. Application Management

    Office of Graduate Student Affairs 500 W. 120th Street New York, NY 10027 Admissions (212) 854-4688 | [email protected]

  13. Ph.D. Specialization in Data Science

    Ph.D. Specialization in Data Science

  14. Computer Science < Columbia College

    Students considering a major in computer science are encouraged to talk to a program adviser during their first or second year. The Computer Science major is composed of four basic components: The Mathematics Requirement, the Computer Science Core, the Area Foundation Courses, and the Computer Science Electives. Mathematics Requirement (6-11 ...

  15. Application Requirements

    A student who holds an appropriate bachelor's degree in engineering may apply for admission to either the MS only or MS leading to PhD program. A student who has not already earned an MS degree and is looking to pursue a doctoral degree should apply for admission to the MS/PhD track program, with the exception of the Computer Science PhD program.

  16. Apply

    Apply - Graduate Student Affairs - Columbia University

  17. Information for International Applicants

    Information for International Applicants - GSAS

  18. Admissions

    Application & Supporting Documents Deadline: December 15, 2024 (for September 2025 / January 2026) Steps to Application. Check out our graduate programs.; Visit Faculty of Graduate and Postdoctoral Studies for information and overviews of our programs.; Read through the eligibility criteria before submitting an application.; Read our application components for detailed information about how to ...

  19. PhD Program

    PhD Program - Application Information:Application Deadline: Fall Semester - December 15th. *Please note: The Computer Science Department does not accept applications for the Spring semester. How to Apply: Complete and submit the electronic USC Graduate Admission Application. Required Documents: Required documents to be submitted with the online application: Statement of Purpose Resume Minimum ...

  20. Graduate Program

    Graduate Program. The Computer Engineering Program offers a course of study leading to the degree of Master of Science (M.S.). Details about the program requirements can be found in the Computer Engineering section of the Bulletin.

  21. Computer Science Degrees

    For those wanting to deepen and expand their computer science skills, the MS program provides advanced education in several computer science tracks while offering opportunities to participate in state-of-the-art research. Those pursuing PhD studies will work alongside world-class researchers to innovate new techniques and algorithms as they ...

  22. Doctoral Programs

    The Doctor of Science in Engineering (EngScD) program is designed for motivated professionals who want to hone the skills necessary for a career in academic research. This program is particularly appropriate for working professionals who can earn a degree part-time. Learn more about the EngScD degree program. If playback doesn't begin shortly ...

  23. PhD Program Admissions

    We're thrilled that you are interested in our PhD program in computer science! This page provides an overview of the application process, some guidelines, and answers to specific questions. Please check our FAQ before emailing [email protected] with any questions not answered here. Our program accepts a large number of applicants each ...

  24. M.S. in Computer Science

    Reference the VCU Bulletin for a full list of computer science classes. Master's program courses are 500 level and above (for example, EGMN 605). Below are a few signature courses from the program: Advanced Algorithms (CMSC501): Dive into advanced graph algorithms, advanced data structures, applied numerical algorithms, optimization methods, approximation methods for hard graph and string ...

  25. Computer Science, PhD

    The PhD in Computer Science is administered by the division of Computer Science in the department of Electrical Engineering and Computer Science. Some aspects of the program are delegated to the CEAS Graduate Office. The program is flexible, allowing the student to develop a plan of studies tailored to meet individual needs.

  26. NSF Graduate Research Fellowship Program (GRFP)

    NSF Graduate Research Fellowship Program (GRFP)

  27. Computer Science

    Degrees and GPA Requirements Bachelors degree: All graduate applicants must hold an earned baccalaureate from a regionally accredited college or university or the recognized equivalent from an international institution. University GPA requirement: The minimum grade point average for admission consideration for graduate study at the University of Denver must meet one of the following criteria:

  28. Computer Science (PhD)

    Choosing Dalhousie's PhD in Computer Science offers benefits such as access to world-class research facilities, collaboration with leading experts, and opportunities for interdisciplinary projects. The program emphasizes innovation, practical experience, and strong industry connections, preparing students for advanced careers in academia ...