What material is covered in the PAC Program?
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:
1. Assembly language programming for the Intel chip family, emphasizing computer organization, the Intel x86 instruction set, the logic of machine addressing, registers and the system stack.
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.
I already know the language (_xyz_), so why do I need to take PAC?
Many students have had a semester or two of programming in languages ranging from Basic to Java. Many others have practical skills from programming on the job. However, such experiences are often quite specific and do not encompass the range of topics required.
Can I apply the credits for the PAC courses towards my degree requirements?
The credits associated with PAC I and PAC II cannot be applied towards an MSCS or an MSIS degree. The courses are considered preparatory in nature and as such cannot count towards a master’s degree awarded by the Computer Science Department.
If you are a student in an NYU program other than one in the Computer Science Department at GSAS, you should discuss with your academic advisor whether or not the courses can be applied towards your degree requirements. Some departments will allow this.
Is it necessary to take both semesters of PAC?
Generally, yes. The concepts presented in the first semester are explored at greater depth in the second, such that there is a presumption of prior exposure and familiarity. It is exceedingly rare for someone to skip the first semester of PAC I and then successfully complete the second, PAC II.
I was admitted on the provision that I receive a certain grade in the courses. What happens if I do not achieve the minimum required grades?
Those admitted to a master’s program with the condition that they complete PAC are considered master's degree students while enrolled in PAC courses, although the credits for the courses do not count toward their master's degrees. If a student’s conditional acceptance states that a minimum grade is required in the PAC courses to continue in the program, then, the student must achieve that minimum grade. If the student does not achieve the stated minimum grade, the student will not be permitted to continue in the master's program. Furthermore, if the student does not achieve the necessary grade in PAC I the student will not be allowed to register for PAC II.
If a student’s acceptance into a master’s program includes the provision that the student complete the PAC Program, but does not include a minimum required grade, the student must complete and pass both PAC I and PAC II to continue in the master’s program. If the student does not pass both courses, the student will not be allowed to continue in the master’s program.
How much money does the PAC Program cost?
You can refer to the Bursar’s website for the cost for tuition and fees. Please note that PAC I and PAC II are four credits each. Be sure to calculate both tuition and registration fees for the total cost for the course.
What courses should I take after PAC?
The department usually offers CSCI-GA 2340 Elements of Discrete Mathematics in the summer. It is a 3 credit graduate level course that can be applied to the degree program. It serves as a useful introduction to the material required for the course CSCI-GA 1170 Fundamental Algorithms. The department usually recommends that PAC students take CSCI-GA 2340 Elements of Discrete Mathematics in the summer following the completion of their PAC courses.
For MSCS students, they are required to complete their foundational courses CSCI-GA 1170 Fundamental Algorithms, CSCI-GA 2110 Programming Languages and CSCI-GA 2250 Operating Systems within a set time frame. These courses are useful to take early on in a student’s academic career, as they are the foundation of computer science and the basic prerequisites for more advanced courses. Students should meet with the Program Administrator to discuss course selection in detail.
For MSIS students, they are encouraged to take their required courses first to learn the foundations of computer science. Students are encouraged especially to take CSCI-GA 1170 Fundamental Algorithms early on in their academic career and preferably after completing CSCI-GA 2340 Elements of Discrete Mathematics. Students should meet with the Program Administrator to discuss course selection in detail.