app

Skip to main content Skip to search
""

Computer Science

The computer science program at app College provides students with the theoretical foundations and practical skills required for long term success in industry and in graduate school. For data about our results and student feedback, see the following:

Our Faculty has:

  • 153+ years of full-time corporate experience across Amazon, Citi, Goldman Sachs, Google, IBM, Intel, and others
  • 69 issued patents
  • 200+ publications
  • Student success as its #1 priority

Degrees Offered

Students earn a Bachelor of Science (BS) in Computer Science upon completing either of our four year tracks, and a Bachelor of the Arts (BA) for completing our three year track. Please see the requirements dropdown for details about the different tracks.

Interested in Getting Involved?

Please . We have a long "wish list" of enhancements we'd love to make to the program to serve our students even better. You can !

If you are an industry professional and want to mentor C.S. students or give a guest lecture, or would like to get involved in any other way, please contact Judah Diament at diament@yu.edu.

Program Information

Careers

Recent graduates work in top companies across many industries, including:

  • Amazon
  • Facebook
  • Google
  • IBM
  • Intel
  • Accenture
  • Blackrock
  • Bloomberg
  • BNY Mellon
  • Citi
  • Deloitte
  • Goldman Sachs
  • Prudential
  • TD Securities

Graduate School

Our students gain acceptance to top graduate schools such as Carnegie Mellon, Georgia Tech, Columbia, NYU, & Wharton.

Computer Science Major

For complete information regarding the tracks in the major, requirements, and prerequisites, please see The Guide to the Computer Science Major at app College (v.3.0, October 2024) (previous version: Spring 2023, v.2.6.2).

After you have read the guide, feel free to contact Professor Diament or Academic Advising with any further questions.

Computer Science Minor

  • Introduction to Computer Science (COM 1300)
  • Data Structures (COM 1320)
  • Math for Computer Science (COM 1310)
  • Introduction to Algorithms (COM 2545)
  • One additional course in Computer Science of your choosing
  • Calculus 1 (MAT 1412)
  • Linear Algebra (MAT 2105)

Requirements Beyond the C.S. Major

  • Students in the B.A. track have the same non-C.S. requirements as all other B.A. students in app College
  • Students in either B.S. track have the general education requirements show in the table below.
  • All students need a total of 128 credits in order to graduate
  • IBC and JSS courses transfer to YC for the BS in the same exact way they transfer for a BA (this is relevant to the second and last lines below.)

General Education Requirements

RequirementsCreditsNumber of Courses
First Year Writing31
BIB, JHI, JST, or JTP42
Choose from Contemporary World Cultures (COWC) or Cultures Over Time (CUOT)31
Interpreting the Creative (INTC)31
Human Behavior and Social Institutions (HBSI)31
Electives: choose from any of the following Y.C. departments: ART, BIO, BIB, CHE, ECO, ENG, HEB, HIS, JHI, JST, JTP, MUS, PHI, PHY, POL, PSY, SOC, SPA62
TOTALS228

For more details regarding what the various categories (COWC, HBSI, etc.) mean, what Y.C. courses count towards them, etc. please consult Y.C.’s web site or academic advising. Since B.S. students must be on campus for 8 semesters and there are 8 non-C.S. requirements, B.S. students can take one non-C.S. requirement each semester to pace themselves and evenly distribute their workload.

Judah Diament

Judah Diament   ()
Department Chair, Professor of Computer Science

  • IBM T.J. Watson Research Center: 2000-2014
    - Patents: 14 U.S. patents issued
    - Publications: 6 conference papers & journal articles
    - Impacted multiple IBM software products, including shipping code
  • Goldman Sachs: 2014-2016, Vice President, Finance Engineering
  • Alumnus of Y.U., R.I.E.T.S.

Dave Feltenberger

   ()
Adjunct Professor of Computer Science

  • Google: 2012-Present: Principal Engineer, Technical lead for Semantic Location. Previously - Senior Staff Software Engineer, Quality & ML in Google Maps; founder of Corp Eng ML team
  • Goldman Sachs: 2010-2012 Senior Software Engineer, post-execution trading platform

Peter Grabowski

   ()
Adjunct Professor of Computer Science

  • Google: 2017-Present: leads the Core ML's Gemini applied research team. He previously lead Google’s Enterprise ML team.
  • Nest: 2014-2017 founded data integration and ML team

Avraham Leff

Avraham Leff   (, , )
Professor of Computer Science

  • IBM T.J. Watson Research Center: 1991-2017
    - Patents: 18 U.S. patents issued, more pending
    - Publications: 44 conference papers & journal article
    - Impacted multiple IBM software products, including shipping code

Dr. Ramesh Natarajan

Ramesh Natarajan   (, )
Adjunct Research Professor of Computer Science

  • Google, 2020-2023: Google Cloud, Software Engineer and Tech Lead
  • Amazon, 2014-2020: Research Scientist
  • IBM, 1988-2014: Research Staff Member
  • Patents: 25 granted (at IBM, Amazon and Google). IBM High-Value Patent Award.

Dr. Avi Rosenfeld

   (, )
Adjunct Professor of Computer Science

  • Lev Academic Center (Machon Lev) 2007-present
    - Publications: 23 journal articles, 8 book chapters, 39 conference articles, and 9 posters.
    - Patents: 1 U.S. patent issued, 2 pending
    - Head of Data Science Program of Machon Lev
  • One of four member of Israel’s Education Counsel responsible for judging all academic degrees in Data Science
  • Alumnus of M.T.A., Y.U., Azrieli, R.I.E.T.S.

Akiva Sacknovitz

   ()
Associate Professor of Computer Science

  • Citigroup: 2010-2022: SVP, Global Spread Products, Securitized Markets IT
  • Credit Suisse: 2004-2010: Credit Derivatives, pricing and risk applications
  • Shopping.com (eBay): 2003-2004 Research engineer, deal discovery and classification
  • Network Analysis Center: 1996-2003: Wide-area network analysis software development
  • Alumnus of Y.U., N.Y.U. (M.S. in C.S.), R.I.E.T.S.

Prof. Ben Wymore

Ben Wymore   ()
Assistant Professor of Computer Science

  • Patents: 9 U.S. patents issued
  • Intel
    - Application Services and Research Laboratoryspeech recognition and natural grammars for residential productivity applications
    - Intel Tablet Organization
  • Crestron Electronics
    - Software for touchpanels, audio servers, and other products
    - Team lead for Crestron's iOS and Android applications

A number of courses in the Computer Science major are taught by the app of the Department of Mathematics.

The department employs advanced undergraduate students as tutors and teaching assistants. Students who are interested in such activities should contact Professor Diament.

Computer Science Orientation

Torah Wisdom & Guidance Specifically for C.S. Majors from R' Mayer Twersky

General Guidance on the Tech Interview Process

Your preparation for getting a job starts from day #1 in your C.S. classes, and also begins your first year in YU with various other activities. Please ask your professor for our complete C.S. internship & job search guide for details. In addition, the following resources are worthwhile:

  • is an extraordinarily good video from an accomplished Googler - , Google - on the dos and don'ts of interviewing - this is a must watch!
  • Web sites
  • Books
    • (the problems in this book are not at all contrived, but it is known to be a great resource for practical applications of algorithms and thus a good preparation for interviews)

app College Department of Computer Science Academic Integrity Policy

Resources & Collaboration

The allowed resources for Computer Science assignments will vary from course to course, and even from assignment to assignment, including:

  • what sources of information, printed or online, may be accessed and used,
  • the level of collaboration and discussion which is permitted among students,
  • whether someone else's previous work may be incorporated, as-is or with changes

The rules may be communicated to the students in several forms, including:

  • assignment instructions
  • lecture slides
  • course syllabi
  • class emails
  • online class forums (e.g., Canvas, Piazza, GitHub)

Students are responsible to know and follow both the general rules for each course as well as the specific provisions for each assignment. If there is ambiguity about a particular resource, they should assume that its use is not permitted, pending any further clarification by the professor.

Citing Sources

When submitting work for any assignment for which use or adaptation of code (or other work) written by others has been allowed by the professor, the student is required to follow the citation practices outlined by the professor in the specific course or assignment. If the professor does not outline a specific citation practice, students must do the following:

  • Insert the URL of the code and the date of retrieval. Add more details if it will help the reader get a clearer understanding of the source.
  • If you adapted the code, you should indicate “Adapted from:” or “Based on” so it is understood that you modified the code.

If you are not clear on what is required and acceptable, ask your instructor.

FAQ app the C.S. Major

We assume that students know absolutely nothing about C.S. coming in to COM 1300, Introduction to Computer Science.

It depends on which area of C.S. one works in. The vast majority of professional Software Engineers will use very little advanced math, or none at all, and the little math they do use is not more than what they learned in their K-12 schooling. A.I., graphics algorithms, and cryptography, for example, are all heavily mathematical, but the vast majority of Software Engineers in industry spend their time working on applications and/or infrastructure that do not involve any significant amount of math at all. And, even within A.I. etc., a large percentage of the Software Engineers that work in those areas simply use code libraries that are built by someone else, and do not actually understand all the underlying math. To summarize: the vast majority of Software Engineers use very little math, if any.

There is no one personality, set of abilities, or interests that guarantee success or failure in C.S. Whether one is "left brained" or "right brained" is no indication - one person will approach software engineering primarily as a creative process while another will approach it primarily as an analytic process, and both are valid and powerful, depending on the exact situation. Whether one has enjoyed or despised math in his K-12 education is not much of an indication either - aside from the fact that there are many factors that go into K-12 math going well or badly that have little to do with student ability, some parts of C.S. are highly mathematical and some parts are entirely divorced from math. The only way to know if C.S. will work for you is to try it.

Our B.S. in C.S. tracks are designed to give students the opportunity to succeed without going to graduate school. Students in the B.A. track, however, are strongly encouraged to get at least a masters.

Many students have been in MYP, had a night seder, and completed the Distributed Systems or A.I. tracks. Having a consistent night seder does, however, require managing your time well, e.g. using your Friday, motsaei Shabbos, and Sunday afternoon wisely. This is no different than continuing to learn throughout the rest of your life - the choices you make when it comes to priorities and time management will greatly impact how much time you have for learning. 

You do not need a minor to get a good C.S. job in any industry. Smart companies hire the best software engineers they can find and are more than happy to teach those software engineers on the job what they need to know about the business/industry. From the perspective of getting a good C.S. job, the best thing you can do in your "copious free time" is build some software that 1) does something that you find interesting, useful, or important 2) is not required by your C.S. courses and 3) you can explain on an interview why you were motivated to build specifically that and how you did. Then create a public GitHub repository, push the code there, and include a link to it on your resume. If there are courses offered that are relevant to what you'd like to accomplish in life personally or professionally, you should take those courses, but you should not think that having a minor per se on your resume is necessary for your career. It is a much better use of your time to think through how to develop yourself into the person and/or professional you want to be, and take the courses (or pursue activities outside the classroom) that will give you the intellectual, emotional, and spiritual tools to get there.

No - students who complete the B.S. in C.S., A.I. track, get a minor in math automatically.

Other Y.C. departments / programs grant a B.A. degree, not a B.S., and according to the rules of  you can not double major when one major is a B.S. and one is a B.A. You can, however, earn a minor from any other YC department.

You do need your own laptop to do your C.S. work. If you are buying a new laptop, we strongly recommend a large amount of RAM (at least 16GB, preferably 32GB) and a fast internal drive (e.g. SSD NVMe). If you already own a laptop, we recommend that you not invest in a new one until successfully completing Intro to C.S. and Data Structures. Whether you get a Mac or a Windows laptop is up to you. If you choose a Windows laptop, you may be required for some classes to use the  and/or run a  on your laptop. If you plan to do the AI track in the major, it is best to have a laptop with a discrete GPU.

B.S. in C.S. students must be full time students at Y.U. for a full 8 semesters. The B.A. has the same residency requirements as any other B.A. program from Y.C.

As a rule, we do not allow for C.S. classes to be taken in the summer. Please do not expect to get credit for any C.S. summer courses without getting written permission from the C.S. department chair before taking the summer class. Math classes (i.e. those whose course name/number starts with "MAT", not "COM) that are required for a C.S. major may be taken in the summer as long as the given course at the given university has been approved by the math department. However, we very strongly recommend that C.S. students use their summers to get work experience in C.S. both to build their resumes and to help them explore and understand what area in C.S. they would like to pursue a career in.

B.S. in C.S. students must be on campus full time for 8 semesters. In the case of a student switching majors, we will try to work with you to help you graduate after 8 semesters on campus by catching up via summer courses. Whether it is possible to catch up or not will depend on what other courses (e.g. math courses) you took before deciding to switch in to the B.S. in C.S. program and/or other factors in your personal situation.

No - B.S. in C.S. students must be full time students for a full 8 semesters. If you find that you have extra room in your schedule, you can take any classes you like in YC or SSSB, and/or transfer credits from your UTS program in order to be registered for a full 12 credits each semester.

Yes. The B.S. in C.S. program is a part of app College, and all the same rules regarding to what counts for credit in other majors apply here as well.

The "Undergraduate Catalog", which can be found on this page maintained by the registrar, has all of YC's official rules and policies.

Skip past mobile menu to footer