Contact Information

Department Chair
Suneeta Ramaswami

Department Secretary
Kelly Esterly

Undergraduate Program Coordinator
Dawei Hong

Graduate Program Director
Sunil Shende

Student Spotlight

We R Arts and Sciences: Junhao Dong

Junhao Dong“I felt so excited that my passion for science, my curiosity for the unknown, was supported by a real scientist,” says Junhao Dong. Read more ...

Home » Undergraduate

Undergraduate

The Department of Computer Science offers two comprehensive undergraduate degree programs that prepare students for professional careers and/or graduate studies in computer science.  A carefully designed set of core courses provides a solid foundation in computer science covering the entire spectrum of theory, software, and hardware.  Upper-division technical electives build on the core to allow students to gain depth of knowledge in specialized areas of computer science.  

Major Requirements

Students majoring in computer science may choose between two programs: the Bachelor of Science (B.S) program and the Bachelor of Arts (B.A) program.  The two programs have the same computer science requirements, but different natural science and mathematics requirements.  The B.S. degree requires a minimum of 24 credits in natural science and mathematics and is intended for students planning to pursue careers and/or graduate studies in science and engineering.  The B.A. degree has less natural science and mathematics requirements (a minimum of 15 credits), thus allowing students greater opportunity to develop breadth of knowledge in other disciplines such as the arts, humanities, social sciences, and business.

View the major requirements for the undergraduate degree programs.

Honors Program

Students may complete an undergraduate thesis embodying original research work through the Honors Program.  Eligibility in the program is judged by the student’s academic performance and the availability of an appropriate supervising faculty member.  Students who successfully complete the Honors Program will be given the distinction of graduating with “Honors in Computer Science.”

Minor Program

Students majoring in another discipline may obtain a minor in computer science by completing specified courses with a grade of C or better.

View the minor program requirements for the undergraduate degree programs.

Computer Science Electives

All computer science courses at the 300- or 400-level offered by the Department and approved courses offered by the Department of Computer Science at Rutgers–New Brunswick may be taken to satisfy elective credit requirements for the major and the minor. These courses cover all major areas of specialized study in computer science, including computer architecture, operating systems, computational biology, data mining, database systems, distributed systems, computer graphics, numerical methods, high-performance computing, and artificial intelligence.  Courses outside the Department (i.e. course codes not beginning with 50:198) may require special permission from the instructor prior to registration.  Courses not listed below may be approved for elective credit on an individual basis by the Department Chair.  At most three credits each of 50:198:494 and 50:198:497 may be taken for elective credit.

Camden College of Arts and Sciences

School of Arts and Sciences–New Brunswick

Natural Science Electives

The following courses may be taken as natural science elective courses for computer science majors. Other courses in biology, chemistry, or physics may be approved on an individual basis by the Undergraduate Program Coordinator.

  • 50:120:101, 107 General Biology I and Lab
  • 50:120:127, 107 Principles of Biology and Lab
  • Any 50:120 course that has 50:120:101 or 50:120:127 as a prerequisite
  • 50:160:107, 109 General Chemistry I and Lab
  • 50:160:115, 125 Chemical Principles I and Lab
  • Any 50:160 course that has 50:160:107 or 50:160:115 as a prerequisite
  • 50:750:131, 133 Elements of Physics I and Lab (B.A. only)
  • 50:750:132, 134 Elements of Physics II and Lab (B.A. only)
  • 50:750:203 General Physics I (B.A. only)
  • 50:750:204 General Physics II (B.A. only)
  • 50:750:233, 234 Electric Circuits I and Lab
  • 50:750:235, 236 Electric Circuits II and Lab
  • 50:750:232 Elements of Modern Physics
  • 50:750:307 Electronics
  • Any 50:750 course that has 50:750:132 as a prerequisite

Computer Science Department: Learning Goals and Assessments

Mission Statement
The basic goal of the department is to train students to become skilled computing professionals who are able to formulate complex computational problems, reason critically about various solution approaches, and articulate and implement efficient software solutions. They should be able to apply knowledge of core theoretical ideas and abstractions to practical requirements using good design principles. Our undergraduate curriculum also prepares students for graduate study and more generally, to recognize the importance of continued re-training that is absolutely essential in order to adapt to rapidly changing technologies and emerging inter-disciplinary computational challenges.
Student Learning Goals and Outcomes
Successful students from our undergraduate degree programs (both BA and BS) are expected to have the following competencies. They must:
  • Develop programming and analytical problem-solving skills based upon the understanding of abstraction, sound mathematical foundations, principles of algorithm design and analysis, and good software methodology and engineering.
  • Build knowledge and develop skills that facilitate lifelong learning.
  • Learn to contribute to professional teamwork and participate in collaborative projects.
  • Assessment Standards and Measures
    The department broadly follows the curricular guidelines for undergraduate Computer Science (CS) education that are periodically updated by the Association of Computing Machinery (ACM). In particular, the current version of the ACM curricula (2013) not only describes a minimal core set of topics that are essential for anyone obtaining an undergraduate degree in Computer Science, but also specifies detailed learning objectives associated with the CS body of knowledge. We use these learning objectives to assess the CS program’s effectiveness with respect to at least the first two learning outcomes listed above. To do this, we will be adopting a uniform assessment framework for every course in our curriculum: In each assignment and each exam in that course, the instructor will decide a specific learning objective to be assessed and frame a question that tests students on that objective — the identity of the question will not be revealed to the students. Statistics of student responses on these marked questions will be collected and used to provide feedback to the instructors on the level of competence demonstrated by the students on the corresponding learning objectives. We expect that this strategy coupled with appropriate analysis and correlation (to factor in the differences in teaching methods among different instructors), will provide us with a summative perspective of what is working well in our program and what is not.