The training of M.S. graduates in computer science provides students with the knowledge and skills to:
- hold professional positions in
- the development and design of computer systems
- the design and implementation of new software applications
- hold administrative positions that require planning and evaluation of computer-based systems
- teach computer science
- be prepared for further study and research at the doctorate level.
Because of the rapid rate of change in the field:
- students must be well grounded in the fundamental aspects of computer science
- be capable of learning new ideas by following the research and professional literature
- by adapting independently to changes in approaches, languages, and system
- Furthermore, they must have experience with computer projects of a realistic scale so as to develop confidence in their ability to think and work independently
- Help the student design an overall study plan that satisfies the program requirements, based on their interests
- Be the person the student consults before registering each semester
- Students may change advisors as they become more familiar with the program (in particular if the Master's thesis option/essay option is chosen.)
The department requires that applicants to the M.S. program have completed an undergraduate program in Computer Science, or taken the following prerequisite courses for the undergraduate degree:
- calculus (as in 640:151-152),
- linear algebra (as in 640:250),
- finite mathematics (as in 198:205),
- probability/combinatorics (as in 198:206),
- numerical analysis (as in 198:323).
- high level languages (as in 198:111),
- data structures (as in 198:112),
- computer architecture
- assembly language (as in 198:211),
- algorithm design and analysis (as in 198:344),
- programming languages and compilers (as in 198:314, 415),
- operating systems (as in 198:416),
- distributed systems (as in 198:417),
- information systems (as in 198:336),
- networks (as in 198:352), etc.
(Short descriptions of undergraduate courses offered by the department can be found in section 6.4 of this brochure.)
All applicants are required to take the aptitude part of the GRE examination (verbal, analytic and mathematical reasoning sections).
Criteria for admission currently include:
- An academic record (undergraduate and previous graduate work) that shows distinction (B+ or higher) in Computer Science, Mathematics and related fields. (The mean GPA for a recent entering class of students was 3.62; this included Master's and PhD students, with and without financial aid. )
- A high score on all the GRE examinations required, and the TOEFL exam in the case of foreign students. (The mean GRE scores for a recent entering class of students were: Verbal 150, Quantitative 160, the mean TOEFL score was 92, IBT S >21 IBT L >21.)
- Strong letters of recommendation.
- A clear statement, about one page in length, outlining the reasons why the applicant wishes to pursue graduate study in computer science. (If appropriate, please specify one or more areas of particular interest, to help us assign advisors. See section 5 for a list of areas.)
- Submit copies or originals of all materials above with your application directly. After being accepted by the department you must submit originals of transcripts, GRE and TOEFL scores, as well financial documents for final acceptance by the graduate school.
- For the Spring semester: International, September 15th. MS applications only ; United States citizens as well as green card holders: October 15th.
For the Fall semester: February 1st for International MS applicants; United States citizens and green card holders MS applicants: March 1st.
See the Graduate Admissions page here.
The standards are higher for those awarded teaching assistantships or other forms of financial aid.
Typically the department does not offer Financial aid for admitted M.S. students.
A full time student needs 9 credits per semester.For student as a teaching assistant, 6 of the credits are 198:877, and 6 are for actual courses. If a student is a research assistant, 6 of the credits are 198:866 and 6 are for actual courses. Part-time students are expected to enroll for 6 credits per semester except for very unusual circumstances.
A semester-long graduate course is normally worth 3 credits.
Warning! A student can register for as many as 15 credits without special permission. A student wishing to take more than 15 credits must get a letter of approval from the Computer Science graduate director, and then take it to ask for special permission from the Graduate School (Barbara Pleva, ext. 7449). However, the Graduate School will discourage a student from taking more than 18 credits and will not allow, under any circumstances, a student to take more than 20 credits. A student who does not comply with this rule is likely to be deregistered by the Graduate School without prior notice.
Here is a sample study plan:
Upon entering the M.S. program, each student will be assigned a faculty advisor whose role is:
- Help the student design an overall study plan that satisfies the program requirements, based on their interests.
- Be the person the student consults before registering each semester
Students may change advisors as they become more familiar with the program (in particular if the Master's thesis option is chosen).
The department has specified two categories of courses (Category A & Category B). Within each category, the courses are divided into “advisory” three levels:
- - Basic level: These are courses designed to help MS students filling in any gaps in their computer science background
- - Core level: These are courses that are most suitable to the MS-level of study.
- - Advanced level: These are advanced courses, which typically require pre-requisites from the core-level courses. MS students are advised to take these courses only if they are in their area of interest and have finished all the pre-requisites.
Here is a list of all courses in each category (Classification of A and B is for M.Sc. degree only, not applicable to Ph.D. students) :
Basic: 508, 512
Core: 509,510,513, 529
Advanced: 514,521,522,524, 527,538,540,556, relevant 67x courses
Basic: 518, 537, 544
Core: 505, 515,519,520,523, 530, 534,535, 532, 539, 552
Advanced: 507, 516, 533, 536,541, 545, 546, 547, 553, relevant 67x courses
Note that this classification of courses is not set in concrete. The Graduate Committee may add and remove courses from this list, or change the placement of a course in this partition, as it deems necessary (for example, to respond to changes in course content or scheduling, or to incorporate new course offerings). Such changes will be posted in a timely fashion on both physical and electronic graduate student "bulletin boards."
We suggest 4 study tracks for students in the MSCS program
- Track 1: Machine Learning
- Track 2: Vision and Graphics
- Track 3: Systems
- Track 4: Security
A chart showing the courses available in each area can be seen in the following image:
It also contains a sample Machine learning track that can be obtained by selecting a subset of the courses enclosed in ovals.
Program Course Requirements:
- Breadth Requirement: As a "breadth requirement", each student must take at least two courses from each of categories A and B, and complete them with a grade of B or better.
- Four additional courses from the union of categories A and B (For the thesis option the 701/702 credits can count as two of these four courses)
- Two other courses, each of at least 3 credits. This can include:
- graduate CS courses and seminars
- undergraduate courses that are accepted for graduate credit
- approved courses in other departments
- Besides the courses, a student has to write an Essay or a Thesis (see details in Section 5)
To complete the MS degree, students must present 30 credits satisfying the requirements listed above, and yielding at least a B average.
Starting Fall 2017, MS students will be allowed to use up to three credits of independent studies to meet graduation requirements.
Students may also take courses of special interest to them at Princeton University (Computer Science, Electrical Engineering, Philosophy), in accordance with a cooperative arrangement between Rutgers and Princeton (see section 8.2).
In addition to the general requirements for the M.S. degree that are established by the Graduate School, the student must choose either the Essay Option or Thesis Option described below.
In addition to the 4 courses of the breadth requirement and the essay, the student must take:
- four additional courses from the union of categories A and B
- two other courses, each of at least 3 credits (including graduate CS courses and seminars, undergraduate courses that are accepted for graduate credit, and approved courses in other departments.)
In addition to the 4 courses of the breadth requirement and the thesis credits, the student must take:
- two additional courses from the union of categories A and B
- two other courses, each of at least 3 credits (including CS courses and seminars, undergraduate courses that are accepted for graduate credit, and approved courses in other departments.)
- The student must write an expository paper in a field of computer science that was covered in the student's course work. It may be a paper written as part of a course in computer science, or it may be based on such a course. No extra credit is given for the preparation of the essay. The essay must be approved by a member of the graduate faculty of computer science.
- The student must write a masters thesis, and must register for exactly six credits of 198:701-702. The Master's thesis must be a written account of a critical and scholarly investigation in an area of computer science. It may represent:
- (a) a piece of independent research (extensions and improvements of work in a given part of the field are acceptable at a level of novelty which is less than that required for a doctoral thesis);
- (b) a work of synthesis that gives new significance and insight to previously-known results;
- or (c) an important constructive contribution to the development of a computer application.
The thesis may not be a digest of known results from the literature, a summary of a published report, company classified or government classified material, or dependent for its background on other non-available reports. The thesis topic should be chosen by mutual agreement between the student and a member of the faculty. The thesis must be approved by the student's thesis committee. The committee consists of the thesis supervisor and two other faculty members who are appointed by the Graduate Committee in consultation with the thesis supervisor. The advisor and members of the thesis committee must be members of the Graduate Faculty in Computer Science.
The essay or the thesis must be written in English (except that some portion may require a computer language, with English documentation), it must be the student's own work and it must demonstrate the student's facility for expository writing.
There are several forms that must be filled out and submitted by the appropriate deadlines in order for the student who has fulfilled the above requirements to receive a Master's degree. (The approximate deadlines are listed in section 9.) It is the student's responsibility that all this paperwork be done on time. Information and forms can be obtained from the graduate secretary.
Incompletes: An incomplete grade (IN) is received when insufficient work has been handed in to the instructor in order to be assigned a regular grade. The student then has the choice of either making up the missing work within a year, and receiving a regular grade, or converting the IN to a permanent incomplete (PIN).
A PIN cannot be made up. A student may make a formal request, in a letter, to extend an IN beyond a year if the faculty member who gave the IN agrees. In such a case, the faculty member must write a letter in support of the student request. Both letters should be sent to the Graduate School (c/o Barbara Bender) with copies for the graduate secretary.
The Graduate School also has a rule on incompletes: you may not register if you have more than one incomplete that is not a PIN. In such situations, a student may request that an IN be converted to a PIN earlier; to do so, the student should contact the Graduate Secretary for the appropriate forms.
Students can be separated from the program if they receive more than one F, or more than four grades below B.
Students will also be terminated from the Program for violations of University Policy on Academic Integrity. (See the section on ``Policy on Academic Integrity--Summary'' in the catalog of the Graduate School-New Brunswick.) A few examples of cheating include: copying from or giving others assistance on an examination, unauthorized copying or collaboration on a programming assignment, quoting directly or paraphrasing without proper acknowledgement on a term paper, essay or thesis. Difference in cultural background regarding academic integrity will not be accepted as an excuse for violations. The Graduate School offers seminars and orientation on academic integrity, should anyone be in doubt about what behavior is expected in this matter.
The Graduate Program in Computer Science permits up to 6 credits from other equivalent M.S. program to be transferred toward a M.S. degree. (The Graduate School is more lenient, permitting up to 12 transfer credits.) The transferred courses have to be equivalent to some courses in the Rutgers Computer Science M.S. program. Note that transfer courses will not be accepted toward satisfying the breadth requirement of two course each in Category A and B.
Evaluation of transfer of credit is deferred until 12 credits have been received at Rutgers. The evaluation is done by the Graduate Committee. When the time comes to apply for credit transfer, the student should obtain the appropriate forms in Room 302. (Other details about the transfer process can be found in the Graduate School Catalogue under Degree Requirements--Transfer of Credit.)
The transfer credit limit does not apply to BS/MS programs, as long as the courses are all graduate and there is no double-dipping, there should be no problem. A letter from the undergraduate Dean stating that none of the graduate courses taken by the student were counted towards their BS degree, must be handed in.
Computer Science comprises an increasingly broad set of topics, with deep connections to many areas of Science, Engineering, Social Science, etc. The Masters program gives students an overall perspective of the field, its structure, its problems, and its close relationship to other domains. Students are expected to study at least one topic in some depth, and to report on it in a coherent essay.
Learning Goal 1 for Students: Attain marked ability, scholarship and professional competence in a broad field of learning
Assessment of student achievement of Goal 1:
- Grades in graduate courses
- Semi-annual monitoring of student progress by graduate director
- feedback to student
Roles of the Graduate School and the graduate programs in helping students to achieve Goal 1:
- Periodic review of curricular offerings and assessment tools
- By Program Faculty
- With leadership in the graduate school
- In consultation with school-wide faculty
- Benchmark practices from comparable programs at other institutions
Learning Goal 2 for Students: Engage in and conduct original research. Continue into the PhD Program when appropriate.
Assessment of graduate student achievement of Goal 2:
- Discovery of Masters students with talent for, and interest in research
- Explore talent and interest via individual study courses and research experience in a guided project or in one of the departmental labs.
- Assessment of Masters dissertation
- Critical reading of dissertation by committee of graduate faculty members
Roles of the Graduate School and the graduate programs in helping graduate students to achieve Goal 2:
- Provide exposure to research methods and opportunities for research
- Research seminars (1 credit “light seminars” expose students to research in a sub-field of Computer Science)
- Advanced graduate courses on a current research topic
- Through support as graduate research assistants, or as paid project members in one of the departmental research labs, research guidance on individual and team research.
- Facilitate internships at research companies (e.g. Google) or leading research labs (e.g. Los Alamos) for experience in pure and practical research