Computer Science

Study mode:On campus Study type:Full-time Languages: English
Foreign:$ 50.8 k / Year(s) Deadline: Feb 1, 2026
166 place StudyQA ranking:7851 Duration:

Photos of university / #RutgersU

The Bachelor of Science in Computer Science at Rutgers University offers students a comprehensive and rigorous education in the fundamentals and advanced topics of computing. The program is designed to prepare students for successful careers in software development, systems analysis, cybersecurity, data science, artificial intelligence, and many other rapidly evolving fields. The curriculum provides a solid foundation in programming languages, algorithms, computer architecture, and software engineering, along with specialized courses in areas such as machine learning, databases, networks, and human-computer interaction. Students are encouraged to develop strong problem-solving skills and a deep understanding of the theoretical principles that underpin modern computing technology.

Throughout their studies, students have access to state-of-the-art laboratories and resources, enabling hands-on experience with current tools and practices in the industry. The program emphasizes both theoretical knowledge and practical skills, ensuring graduates are well-prepared to meet the demands of the tech industry or continue their education at the graduate level. In addition to core courses, students can select electives aligned with their interests, including cybersecurity, data analytics, mobile app development, or cloud computing. Rutgers' Computer Science program also promotes research opportunities, internship placements, and collaborations with industry leaders, providing valuable networking and professional development opportunities.

The program is housed within the School of Engineering, renowned for its excellence in research and education. Faculty members are active researchers and industry professionals committed to student success, mentoring students through projects, competitions, and research initiatives. Graduates of the program often find employment in top technology firms, government agencies, and innovative startups, or they pursue advanced degrees to further specialize in areas such as artificial intelligence or software engineering. The Bachelor of Science in Computer Science at Rutgers University is dedicated to fostering innovation, critical thinking, and technical expertise, preparing students to become leaders in the dynamic and ever-changing landscape of technology.

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:

  1. 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.
  2. 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:

  1. 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. )
  2. 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.)
  3. Strong letters of recommendation.
  4. 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.)

The Computer Science program at Rutgers University offers a comprehensive range of financing options to support students throughout their academic journey. Undergraduate students can benefit from a variety of scholarships, including merit-based awards, need-based grants, and departmental scholarships specifically for Computer Science majors. These scholarships are available through university-wide programs as well as department-specific funds aimed at encouraging excellence and diversity within the field. Additionally, students may be eligible for federal and state financial aid programs, which can include grants such as the Pell Grant, work-study opportunities, and federal student loans. Rutgers also provides information and assistance for students seeking private scholarships from external organizations, corporations, and foundations that support STEM students.

For graduate students pursuing advanced degrees in Computer Science, the university offers assistantship positions, which typically include a stipend and tuition remission in exchange for research or teaching duties. These assistantships are highly competitive and aim to attract talented students from around the world. The university also provides fellowships and grants designed to support research activities, including those focused on innovative technological developments and interdisciplinary projects. International students are encouraged to explore various scholarship opportunities tailored to their needs, along with streams of financial aid that comply with visa regulations.

Rutgers University’s Office of Financial Aid plays a crucial role in guiding students through the application process for all types of financing, ensuring transparency and accessibility of funds. Additionally, the university’s financial counseling services assist students in understanding their repayment options and managing their educational expenses effectively. The department frequently updates its students about new funding opportunities and deadlines, helping them to plan their finances accordingly.

Overall, Rutgers University is dedicated to making Computer Science education accessible and affordable, emphasizing a holistic approach to student financial support that combines internal awards, government assistance, and external funding sources. This multi-faceted approach helps students focus on their academic and research pursuits without undue financial hardship, fostering an inclusive and innovative learning environment.

The Rutgers University Bachelor of Science in Computer Science program offers students a comprehensive education designed to prepare them for careers in computing, software development, research, and further graduate study. The curriculum focuses on fundamental concepts such as programming languages, algorithms, data structures, computer architecture, and operating systems, ensuring students develop strong analytical and problem-solving skills. Advanced coursework includes topics like artificial intelligence, machine learning, cybersecurity, software engineering, and databases, enabling students to specialize in areas of interest. The program emphasizes experiential learning through project-based assignments, internships, and collaborative research opportunities, often in partnership with industry leaders and research institutions. Rutgers also provides access to state-of-the-art laboratories and resources, fostering an environment conducive to innovation and practical application of knowledge. Students are encouraged to participate in competitions, hackathons, and academic clubs to enhance their technical skills and professional network. The faculty comprises experienced researchers and industry experts dedicated to mentoring students and advancing the field of computer science. Graduates of the program are equipped for employment in technology firms, finance, healthcare, government agencies, and academia, or to pursue advanced degrees such as master's or doctoral programs. The program adheres to the latest standards and incorporates emerging technologies to stay current with rapid industry developments. Overall, Rutgers University’s Computer Science program aims to produce versatile, innovative, and skilled computing professionals capable of addressing complex challenges in various sectors.

Similar programs: