Photos of university / #RutgersU
The training of M.S. graduates in computer science should provide them with the knowledge and skills to hold professional positions in the development and design of computer systems, and in the design and implementation of new software applications; to hold administrative positions that require planning and evaluation of computer-based systems; to teach in computer science; and to 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 basic aspects of computer science and be capable of learning new ideas by following the research and professional literature, and 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.
Most of the graduate classes start in mid-afternoon, or later, and some begin in the evening. The exceptions are advanced research seminars. Students who have a job can get a Master's degree in our Program provided they can get some time off in the late afternoon one or two days a week. Probably it will not be possible for a student to obtain a Master's degree by taking classes only after 6PM and fairly unlikely if only taking classes that start at 4:30 or later.
Upon entering the M.S. program, each student will be assigned a faculty advisor, and, with the help of the advisor, will choose an overall study plan which should satisfy the various requirements as well as plan for going more deeply into some area of particular interest to the student. It is important that the student continue to consult with that advisor before registering each semester. (Students should not simply rely on the advice and opinions of other students. Although this input is important, the information is often inaccurate, might be outdated, and students should not rely solely upon it.) Students need not choose immediately between the Master's essay and the Master's thesis options, but should talk about the possibilities with their advisor. Students may change advisors as they become more familiar with the program and clearer about what area they wish to specialize in, and in particular if the Master's thesis option is chosen.
In order to ensure that the students have good preparation in several of the basic fields of computer science, 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.
This split is mainly advisory to help MS find appropriate courses.
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) :
Category A
- Basic: 508, 512
- Core: 509,510,513, 529
- Advanced: 514,521,522,524, 527,538,540,556, relevant 67x courses
Category B
- 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.''
Courses
01:198:324 | Numerical Methods* | ||
01:198:336 | Principles of Information and Data Management* | Fall, Spring, Summer | |
01:198:415 | Compilers* | Spring | |
01:198:424 | Modeling and Simulation of Continuous Systems* | ||
01:198:425 | Computer Methods in Statistics* | ||
01:198:428 | Introduction to Computer Graphics* | ||
01:198:431 | Software Engineering* | Fall | |
01:198:440 | Introduction to Artificial Intelligence* | Fall | |
01:198:442 | Topics in Computer Science* | ||
01:198:443 | Topics in Computer Science* | ||
01:198:444 | Topics in Computer Science* | ||
16:198:500 | Proseminar in Computer Science | Fall, Spring | |
16:198:503 | Computational Thinking | Fall | |
16:198:504 | Computational Modeling | Fall | |
16:198:505 | Computer Structures | B | Spring |
16:198:507 | Advanced Computer Architecture | B | Fall |
16:198:508 | Formal Language and Automata | Fall | |
16:198:509 | Foundations of Computer Science | A | Fall |
16:198:510 | Numerical Analysis | A | Fall, Spring |
16:198:512 | Introduction to Data Structures and Algorithms | Fall, Spring | |
16:198:513 | Design and Analysis of Data Structures and Algorithms | A | Fall, Spring |
16:198:514 | Design And Analysis Of Data Structures And Algorithms II | A | Spring |
16:198:515 | Programming Languages And Compilers I | B | Fall |
16:198:516 | Programming Languages And Compilers II | B | Spring |
16:198:518 | Operating Systems Design | Fall, Spring | |
16:198:519 | Operating System Theory | B | Fall |
16:198:520 | Introduction To Artificial Intelligence | B | Fall, Spring |
16:198:521 | Linear Programming | A | Fall |
16:198:522 | Network and Combinatorial Optimization Algorithms | A | Spring |
16:198:523 | Computer Graphics | B | Spring |
16:198:527 | Computer Methods For Partial Differential Equations | A | Spring |
16:198:529 | Computational Geometry | A | Fall |
16:198:530 | Principles of Aritificial Intelligence | B | Fall |
16:198:532 | Foundations Of Knowledge Representation | B | Spring |
16:198:533 | Natural Language Processing | B | Spring |
16:198:534 | Computer Vision | B | Spring |
16:198:535 | Pattern Recognition: Theory & Applications | B | Spring |
16:198:536 | Machine Learning | B | Spring |
16:198:538 | Complexity Of Computation | A | Spring |
16:198:539 | Database Systems Implementation | Fall | |
16:198:540 | Combinatorial Methods In Complexity Theory | A | Spring |
16:198:541 | Database Systems | B | Spring |
16:198:544 | Computer Security | Spring | |
16:198:545 | Distributed Systems | B | Spring |
16:198:546 | Computer System Security | Fall | |
16:198:547 | The Security and Dependability of Distributed Systems | B | Spring |
16:198:552 | Computer Networks | B | Fall |
16:198:553 | Design of Internet Services | B | Spring |
16:198:580 | Topics In Computers In Biomedicine | B | Fall |
16:198:583 | Topics In Software Design | B | Fall |
16:198:596 | Topics In The Foundations Of Computer Science | A | |
16:198:598 | Topics In Artificial Intelligence | B | |
16:198:601 | Selected Problems In Computer Science | ||
16:198:602 | Selected Problems In Computer Science | ||
16:198:603 | Selected Problems In Computer Science | ||
16:198:604 | Selected Problems In Computer Science | ||
16:198:605 | Selected Problems In Computer Science | ||
16:198:606 | Selected Problems In Computer Science | ||
16:198:607 | Problems In Numerical Methods | ||
16:198:608 | Problems In Numerical Methods | ||
16:198:671 | Seminar in Computer Science | Fall, Spring | |
16:198:672 | Seminar in Computer Science | Fall | |
16:198:673 | Seminar in Computer Science | ||
16:198:674 | Seminar in Computer Science | ||
16:198:701 | Research In Computer Science | Fall | |
16:198:702 | Research In Computer Science | Spring | |
16:198:800 | Matriculation Continued | Fall, Spring |
In addition to the general admission criteria of the Graduate School, the department requires that applicants to the M.S. program have completed an accredited undergraduate program in Computer Science, or at least taken the core prerequisite courses for the undergraduate degree as listed below:
- A substantial background in mathematics, especially in calculus (as in 640:151-152), linear algebra (as in 640:250), finite mathematics (as in 198:205), probability/combinatorics (as in 198:206), and numerical analysis (as in 198:323). Such background should include at least two semesters of calculus and one semester in each of the other areas.
- Working knowledge of high level languages (as in 198:111), data structures (as in 198:112), computer architecture and assembly language (as in 198:211), algorithm design and analysis (as in 198:344), and some elective courses in advanced undergraduate areas, such as 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.)
Applicants who have adequate knowledge of the above subjects but who have not completed all academic courses in these areas may show proficiency by obtaining a high score on the GRE Subject Test in Computer Science. All applicants are required to take the aptitude part of the GRE examination (verbal, analytic and mathematical reasoning sections). The Computer Science Subject Test is optional, but highly recommended, particularly for applicants with a non-CS background, or who have been out of school for several years.
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.)
Want to improve your English level for admission?
Prepare for the program requirements with English Online by the British Council.
- ✔️ Flexible study schedule
- ✔️ Experienced teachers
- ✔️ Certificate upon completion
📘 Recommended for students with an IELTS level of 6.0 or below.