The Tulane Computer Science Coordinate Major program helps students develop into leaders who are able to solve interdisciplinary problems using the tools of computer science and computing technology.
What is a coordinate major?
A coordinate major is an additional major designed to complement the primary one. To earn a coordinate major in computer science, students must also complete a major in another discipline. Any undergraduate major at Tulane can serve as a primary major for the computer science coordinate major.
Upon successful completion of the coordinate major, the student’s transcript will reflect the fact that the student has completed the coordinate major in computer science with a focus on the area of application. The Department of Computer Science doesn’t currently offer a standalone Bachelor of Science in Computer Science degree or computer science minor. While this might change in the future, students should not count on the possibility of either when deciding on enrolling at Tulane or in computer science courses. The undergraduate degree (Bachelor of Science or Bachelor of Arts) received by the student is determined by their primary major.
Other computing courses
Students interested in computing, but not in pursuing the coordinate major, are invited to consider our foundational courses for non-majors, such as CMPS 1100 Foundations of Programming (3 c.h.) and a Maymester course, CMPS 2120 Programming and Prob Solving (3 c.h.).
About the department
More info about the Department of Computer Science and the program is available on the department webpage.
Coursework
The program comprises 10 courses:
- Five introductory core courses, CMPS 1500 Intro to Computer Science I (4 c.h.), CMPS 1600 Intro to Computer Science II (4 c.h.), CMPS 2170 Intro to Discrete Math (3 c.h.), CMPS 2200 Intro to Algorithms (3 c.h.), and CMPS 2300 Intro to Comp Sys & Networking (3 c.h.).
- At least three CMPS elective classes at the 3000-level or above.
- A two-semester interdisciplinary capstone project, CMPS 4010 Capstone Project 1 of 2 (2 c.h.) and CMPS 4020 Capstone Project Part 2 of 2 (2 c.h.).
These courses total 30 credit hours and can be completed over five or more semesters.
Two starting classes for the program are CMPS 1500 Intro to Computer Science I (4 c.h.) and CMPS 2170 Intro to Discrete Math (3 c.h.).
CMPS 1500 Intro to Computer Science I (4 c.h.), CMPS 1600 Intro to Computer Science II (4 c.h.), CMPS 2170 Intro to Discrete Math (3 c.h.), and CMPS 2200 Intro to Algorithms (3 c.h.) are currently offered twice a year, once each fall and spring. CMPS 2300 Intro to Comp Sys & Networking (3 c.h.) is currently offered once a year, in the spring. These five core courses should be completed before the student's senior/final year at Tulane.
CMPS 4010 Capstone Project I (2 c.h.) and CMPS 4020 Capstone Project II (2 c.h.) are each offered once a year, in the fall and in the spring, respectively. The capstone is usually completed in the senior year. Students continuing to 4 + 1 Master's programs in other departments are encouraged to complete the capstone in the senior year, but are allowed to complete the capstone in their final year at Tulane. Students graduating early enroll in the capstone in the junior year. A two-semester Honor’s Thesis in Computer Science can be used in place of the Capstone Project requirement.
Academic requirements
In order to enroll in the senior capstone course, the student should achieve a cumulative GPA of 2.8 or above for the five introductory core courses. In order to graduate with the coordinate major in computer science, the student should achieve a cumulative GPA of 2.8 or above in all CMPS courses.
Declaring the coordinate major
To declare the coordinate major in computer science, please complete and sign the major declaration form and email it to Ms. Debbie Ramil (dramil1@tulane.edu), who will assign you a coordinate major advisor, obtain the corresponding advisor's and the departmental chairman's signatures for your form, and return the form to you. The completed form needs to be submitted to the Advising Office. When you declare your pursuit of the coordinate major, you should have already declared your primary major. When the major declaration form is processed, you will be added to the CS students mailing list. In order to enhance your CS education, you may also wish to join computing-focused student organizations, such as Cookies and Code and Women in Technology (their info is on WaveSync).
Course ID | Title | Credits |
---|---|---|
Required Freshman & Sophomore Courses | ||
CMPS 1500 | Intro to Computer Science I | 4 |
CMPS 1600 | Intro to Computer Science II | 4 |
CMPS 2170 | Intro to Discrete Math 1 | 3 |
CMPS 2200 | Intro to Algorithms | 3 |
CMPS 2300 | Intro to Comp Sys & Networking | 3 |
Select three CMPS at or above 3000 - level 2 | 9 | |
Junior Level Courses | ||
CMPS 3130/6130 | Intro Comp Geom | 3 |
CMPS 3140/6140 | Intro Artificial Intelligence | 3 |
CMPS 3160/6160 | Introduction to Data Science | 3 |
CMPS 3210/6210 | Algs Comp Struct Bio | 3 |
CMPS 3240/6240 | Intro to Machine Learning | 3 |
CMPS/MATH 3250 | Theory of Computation | 3 |
CMPS 3260/6260 | Advanced Algorithms | 3 |
CMPS 3280/6280/MATH 3280/6280 | Information Theory | 3 |
CMPS 3300/6300 | Software Studio | 3 |
CMPS 3310/6310 | Logic in Computer Science | 3 |
CMPS 3350/6350 | Intro to Computer Graphics | 3 |
CMPS 3360/6360 | Data Visualization | 3 |
CMPS 3660/6660 | Special Topics in Computer Sci | 1-3 |
Select a capstone project | ||
Senior Level Courses | ||
CMPS 4010 | Capstone Project I | 2 |
CMPS 4020 | Capstone Project II | 2 |
CMPS 4150/6150 | Multi-agent Systems | 3 |
CMPS 4250/6250/MATH 4250/6250 | Math Found Comp Security | 3 |
CMPS 4610/6610 | Algorithms | 3 |
CMPS 4620/6620 | Artificial Intelligence | 3 |
CMPS 4630/6630 | Computational Bio & Bioinform | 3 |
CMPS 4640/6640 | Adv. Computational Geometry | 3 |
CMPS 4710/6710 | Computational Complexity | 3 |
CMPS 4720/6720 | Machine Learning | 3 |
CMPS 4730/6730 | Natural Language Processing | 3 |
CMPS 4740/6740 | Reinforcement Learning | 3 |
CMPS 4750/6750 | Computer Networks | 3 |
CMPS 4760/6760 | Distributed Systems | 3 |
CMPS 4780/6780 | Computer Architecture | 3 |
CMPS 4790/6790 | Data Science | 3 |
CMPS 4910/4920 | Independent Study | 3 |
CMPS 4990/5000 | Honors Thesis | 3 |
Capstone | ||
CMPS 4010 | Capstone Project I | 2 |
CMPS 4020 | Capstone Project II | 2 |
- 1
Same as MATH 2170 Intro To Discrete Math (3 c.h.)
- 2
Spring of Sophomore Year - In consultation with Faculty Advisor, choose three CMPS courses at or above 3000-level.
Academic prerequisites
The program is open to all students willing to put time and work into becoming computing professionals. It doesn’t assume that students have any previous computer science background. Many of our graduates have never programmed a computer before joining their first computer science class. The department holds several help sessions most days of the week to provide help to students when they have questions while working on computer science homework.
Prior computing experience
Advanced Placement (AP) computer science courses taken by a student in high school usually transfer toward overall college credit. (This is decided by the Tulane University Office of Undergraduate Admissions.) These courses do not have much overlap with our introductory courses and hence don’t count toward the coordinate major.
If a student can demonstrate solid knowledge of the material covered in one of the required courses, after consultation with their faculty advisor, they can “skip” the required course and replace it with a CMPS elective of their choice instead. The minimum total number of completed CMPS courses should remain 10.
Transfer coursework
Transfer of college-level courses follows the standard Tulane credit transfer procedure. There is no special department-level limit on the number of courses that can transfer; we adhere to the limit established by Newcomb-Tulane College. In order for a course from another university to count for the coordinate major, it should match a corresponding Tulane course in content and/or complexity; mode of delivery (online, in-person, hybrid) doesn’t affect this evaluation. Computing courses on subjects not offered by Tulane might be transferrable. Students should confirm with the Department of Computer Science whether the course would transfer as a coordinate major course before registering.
Study abroad
With advanced planning, it may be possible to study abroad and complete the coordinate major. Students should confirm with the Department of Computer Science whether and how the foreign courses would transfer before registering.
Programming languages
We often get asked what programming languages we teach. In fact, we teach principles, concepts, and problem-solving approaches rather than specific languages. CMPS 1500 is in Python. CMPS 1600 uses Java, C, C++, Haskell, and a surprise language. The elective courses use a language that’s necessary to achieve the tasks of the course (e.g. Javascript, Scala, Ruby). Our successful students get used to learning new languages and are able to study the basics of any computer language on their own.
Computer specifications
Another common area of inquiry is about buying a computer. It is helpful and convenient to have a laptop. We don’t have a computer lab, and students work on their own laptops to complete most programming assignments. Model and make don’t matter; any modern laptop with Wi-Fi and a battery works. If buying or bringing a laptop is problematic, all necessary work can be done on university stationary computers or loaner laptops. It is possible to do well in all computer science courses without owning a computer.