The PAC Program is a two-course sequence designed to fulfill the minimum prerequisites for beginning a master's degree program in computer science or information systems. PAC I is offered in the fall semester and PAC II is offered in the spring semester. The courses should be taken in sequence, as PAC I is a prerequisite for PAC II.

Intensive Introduction to Graduate Study in Computer Science I, CSCI-GA 1133 (PAC I) is an accelerated introduction to the fundamental concepts of computer science for students who lack a formal background in the field. Topics include algorithm design and program development; data types; control structures; subroutines and parameter passing; recursion; data structures; searching and sorting; dynamic storage allocation; abstract data types, such as stacks, queues, lists, and tree structures; and an introduction to the principles of object-oriented programming. The primary programming language used in the course will be Java. Students should expect an average of 12-16 hours of programming and related course work per week.

Intensive Introduction to Graduate Study in Computer Science II, CSCI-GA 1144 (PAC II) builds directly on the foundation developed in PAC I, covering the essentials of computer organization through the study of assembly language programming and C, as well as introducing the students to the analysis of algorithms. Topics include:

2. Programming in the C language, a general-purpose programming language which also has low-level features for systems programming.

3. An introduction to algorithms, including searching, sorting, graph algorithms and asymptotic complexity.

Examples and assignments reinforce and refine those first seen in PAC I and often connect directly to topics in the core computer science graduate courses, such as Programming Languages, Fundamental Algorithms, and Operating Systems.

Please note that the credits for PAC I and PAC II cannot be applied to a master’s of science in computer science (MSCS) or a master’s of science in information systems (MSIS).

Admissions for the Program:

There are three ways to be eligible to take the PAC Program.

1. Applying to a Computer Science Department Master’s Program

Applicants whose previous training does not qualify them for admission to the MS programs, but who otherwise show aptitude for graduate study in computer science may be admitted on a conditional basis, with the requirement of successful completion of the PAC Program. In this instance, the admissions committee makes a determination that an application is acceptable, but the technical experience of the prospective student is inadequate to meet the demands of graduate level course work in the Computer Science Department. If the student successfully completes the PAC Program, then the student can continue on in the master’s program. If the student does not successfully complete the PAC Program, the student cannot continue on in the degree program. To apply, go to the GSAS Application Resource Center.

2. Applying as a Non-Degree student

One can apply by direct application as a non-degree applicant. If accepted, non-degree students may enroll for a maximum of 12 credits over not more than three consecutive semesters. The applicant must hold a bachelor's degree or equivalent at the time of application. If accepted and the student wishes to take more than 12 credits of coursework, the student would need to apply to a degree program and be accepted. Please note that acceptance as a non-degree student does not guarantee acceptance into a degree program. To apply, go to the GSAS Application Resource Center.

3. Current NYU students

The PAC Program is open to current NYU students. If an NYU student is interested in taking the courses, the student should first discuss the option with his or her academic advisor. It is important to ask the advisor whether the credits can be applied to a student’s degree program. While the credits cannot be applied towards an MSCS or MSIS degree, some other programs do count them. After speaking with the advisor, the student should speak to the instructor of the course to ensure that it is a good fit for the student.

If a student decides to enroll in the course, he or she should e-mail Jennifer Conlan Darlington at conlan@cs.nyu.edu or Katie Hughes at hughes@cs.nyu.edu to request registration in the course. The student’s name, NYU ID number, and the course name and course number should be included in the e-mail. The e-mail should be sent from an NYU e-mail account. Once registered, a confirmation e-mail will be sent to the student.

Special Note for International Students

International students on an F1 visa need to maintain full-time equivalency to stay in status with their visa requirements. Such students will need to register for at least 9 credits in the fall and spring semester, while taking the PAC courses. As such, in order to qualify for full-time status, they will be required, under advisement by the Director of Graduate Studies, to register for undergraduate computer science classes of level 200 or greater, graduate mathematics courses, and other selectively chosen courses. The PAC and undergraduate courses would not be counted towards the master's degree requirements.

Note that the visa document (certificate of eligibility, form I-20 or DS-2019) will state that the student is in the Preparatory Course Program for the first year. Once the student has passed the program, the student will be issued a certificate of eligibility from OISS for the master's program.