Department of Computer Science > Master of Science in Scientific Computing

Master of Science in Scientific Computing

Please note: This program will begin in Fall 2013.

The Rutgers master’s degree in Scientific Computing is designed to prepare students with rigorous computational training for careers in science, engineering, and finance. The program provides a strong foundation in algorithms and programming relevant to current and emerging computational applications. The program is offered by the Department of Computer Science at Rutgers–Camden and draws on courses from other Rutgers departments and centers, including the Rutgers Center for Computational and Integrative Biology (CCIB), reflecting the interdisciplinary emphasis of the program and the interdisciplinary trends driving modern computer science.

Through rigorous coursework and a thesis, students will develop theoretical understanding and practical skills to tackle diverse computational problems in industry and academia, from modeling proteins for drug discovery to mining massive internet transaction datasets for business decision support to forecasting ecosystem behavior for sustainable management. Graduates will be prepared for career opportunities in companies and organizations where scientific computing plays an important enabling role, for example, in biotechnology, telecommunications, finance, and scientific research. The program will also provide graduates with a strong foundation in theory and algorithms to enable them to pursue further educational opportunities in PhD programs in science and engineering at leading academic institutions in the U.S. and internationally.


Admission

Requirements

Students require a bachelor’s degree with a minimum GPA of 3.0 (B average or equivalent) and a firm foundation in linear algebra and multivariable calculus. A bachelor’s degree in a basic science or engineering field is preferred but not required.

Application deadlines

Both Fall and Spring admissions are allowed. The application deadlines for all application material are:

  • Fall admission application deadline: 31 May (31 March for international applicants)
  • Spring admission application deadline: 31 October (30 September for international applicants)

Applicants wishing to be considered for assistantships, fellowships, or other financial aid may only apply for fall term admission and should submit their applications by March 1 (per University regulation).

Application process

Applicants apply online through the Rutgers Graduate and Professional Admissions website to program Computer Science: Scientific Computing (56198) at The Graduate School–Camden.  All applicants to the MS in Scientific Computing must submit the following:

  • Three letters of recommendation
  • Academic transcripts
  • Official GRE General Test score report
  • Personal statement (of at most two pages) about academic interests and career goals
  • For applicants whose native language is not English, official TOEFL score report

Curriculum

The MS in Scientific Computing requires 30 credits, of which 6 credits are thesis credits. The coursework consists of a common core of 4 required courses that relate to all scientific computing applications and 4 elective courses that focus on specific applications.

For students whose background is not in computer science, two background courses are available. These background courses are not required for students who have taken equivalent courses in their bachelor’s degrees. Credits from background courses do not count toward the 30 credits required for the MS in Scientific Computing.

Core courses (4 courses, 12 credits)

56:198:541 Parallel, Distributed, Grid, and Cloud Computing (3 credits)
Prerequisites: 56:198:501 or equivalent
Description: This course introduces the concepts, models, implementations, and applications of parallel and distributed systems.  Topics include parallel and distributed architectures, grid and cloud computing frameworks; programming models and algorithmic techniques; performance analysis and evaluation; and applications of parallel and distributed computing.  The course provides students experience in programming using different parallel/distributed programming paradigms and the opportunity to examine a course topic in depth through a significant term project.

56:198:561 Optimization Methods (3 credits)
Prerequisites: None
Description: This course introduces various methods based on linear programming to solve discrete optimization problems. The topics covered in the course will include introduction to linear programming (LP), network flows, and application of LP-based techniques to solve various optimization problems.

56:198:562 Big Data Algorithms (3 credits)
Prerequisites: 56:198:501 or equivalent
Description: Study of algorithmic techniques and modeling frameworks that facilitate the analysis of massively large amounts of data. Introduction to information retrieval, streaming algorithms and analysis of web searches and crawls.

56:198:565 Numerical Methods I (3 credits)
Prerequisites: None
Description: Computational techniques for solving scientific problems:  Precision, IEEE floating point representation, interpolation, root finding, numerical integration, numerical differentiation, approximation of functions, functions minimization.

Elective courses (4 courses, 12 credits)

The following courses may be taken as elective courses for the MS in Scientific Computing.  Other graduate-level courses (500-level and above) offered at Rutgers–Camden, Rutgers–New Brunswick, or Rutgers-Newark may be approved as elective courses on an individual basis by the Graduate Program Director.

50:198:523 Software Methodology and Engineering (3 credits)
Prerequisites: 56:198:500 or equivalent
Principles and techniques for the design and construction of reliable, maintainable, and useful software systems. Software life cycle, requirements specifications, and verification and validation issues. Implementation strategies (e.g., top-down, bottom-up, teams), support for reuse, and performance improvement. A treatment of human factors and user interfaces included.

56:198:551 Database Systems (3 credits)
Prerequisites: 56:198:501 or equivalent
Description: Relational database theory and practice, including database design. Database concepts, relational algebra, data integrity, query languages, and views. Introduction to object-oriented databases. Application project with a practical database management system.

56:198:556 Computer Graphics (3 credits)
Prerequisites: 56:198:501 or equivalent
Description: Graphics systems and imaging principles, graphics programming using packages like OpenGL, input devices and interactive techniques, animation techniques, geometric transformations and modeling in two and three dimensions, viewing in 2D and 3D, lighting and shading, fundamental graphics algorithms (such as clipping, hidden surface removal, etc.)

56:198:563 Probabilistic Graphical Models (3 credits)
Prerequisites: 56:198:501 or equivalent.
Description: Introduction to network models and algorithms for automated reasoning about data under conditions of uncertainty. Bayesian and Markov models: representation, inference and machine learning.

56:198:564 Data Mining (3 credits)
Prerequisites:56:198:500 or equivalent
Description: Introduction to major concepts, techniques, and algorithms in data mining, machine learning, and analytics: classification, decision trees, decision rules, regression, nearest neighbour, evaluation, data preparation, clustering, associations, visualization, summarization and deviation detection, applications in targeted marketing and genomics.

56:198:566 Numerical Methods II (3 credits)
Prerequisites: 56:198:565
Description: A continuation of Numerical Methods I:  numerical linear algebra, numerical solutions of ordinary differential equations.

56:198:567 Numerical Solution of Stochastic Differential Equations (3 credits)
Prerequisites: 56:198:565
Description: Using computer programing, this course teaches students to simulate stochastic
processes that are numerical solutions of stochastic differential equations (SDE). Topics covered are: background on probability; definition of SDE; discrete time approximation; strong approximation; weak approximation; applications such as stochastic dynamics in mathematical finance, and stochastic stability and bi-fluctuation in biological systems.

56:198:568 Randomized Algorithms (3 credits)
Prerequisites: 56:198:501 or equivalent
Description: Survey of probability and random variables; basics of randomized algorithms; moments and deviation; the Chernoff bound; the probabilistics method; random walks; algebraic methods; further topics such as derandomization, two point based sampling, and universal and perfect hash functions as time permits.

56:198:573 Computational Geometry (3 credits)
Prerequisites: 56:198:501 or equivalent
Description: Algorithms and data structures for geometric problems that arise in various applications such as computer graphics, CAD/CAM, robotics, and geographical information systems (GIS). Topics include: point location, range searching, intersection, decomposition of polygons, convex hulls, Voronoi diagrams, and line arrangements.

56:198:575 Cryptography and Computer Security (3 credits)
Prerequisites: 56:198:500 or equivalent
Description: Secret-key cryptography, public-key cryptography, key agreement, secret sharing, digital signatures, message and user authentication, one-way functions, key management; attacks; practical applications to computer and communications security.

56:198:582 Computational Modeling of Biological Systems (3 credits)
Prerequisites: None
Description: Biology is entering a new era where detailed description and observation are giving way to systems-level understanding and computer modeling. This course introduces students to computer modeling of living cells, focusing particularly on metabolic, regulatory, and signaling networks. Specific topics include constraint-based modeling, properties of stoichiometric matrices, flux-balance analysis, and motifs in transcriptional networks. Knowledge of molecular biology is useful but not required.

56:198:697 Scientific Computing Internship (3 credits)
Description: This course is for students to conduct practical internships related to scientific computing at science, engineering, or finance companies. 

56:121:550 Bioinformatics (3 credits)
Prerequisites: None
Description: Bioinformatics techniques ranging from genome sequencing to predicting protein structure and function. Topics include: introduction to the fundamentals of genome sequencing, including emerging technologies and methods for genome assembly, as well as the use of genome databases to identify evolutionarily related sequences; finding multiple homologs from genome databases; pairwise and multiple alignments of amino acid sequences; methods for predicting secondary structure; homology modeling; molecular visualization; identification of functional motifs from both sequence and structure.

56:121:555 Cheminformatics (3 credits)
Prerequisites: None
Description: An introduction to cheminformatics at a level appropriate for biology, chemistry, computer science, and math majors with an interest in using computer tools to reveal knowledge of chemistry and biology. The course teaches: cheminformatics algorithms, workflows and other relevant computational tools that the students may use or access in the future for Computer-Aided Drug Discovery (CADD) work at pharmaceutical companies and academic institutes; basic knowledge of managing, analyzing, and interpreting microarray gene expression data; popular computational tools and modeling approaches, such as Dragon, Molecular Operating Environment (MOE), Random Forest (RF), Support Vector Machine (SVM), k Nearest Neighbor (kNN), and ArrayTrack.

53:716:502 Business Analytics (3 credits)
Description:  Managers, regardless of their functional responsibilities, make decisions that are driven by data and analysis.  This course will help in development of important skills in data analysis and modeling.  Through rigorous and guided exercises, students will gain the ability to synthesize pieces of analyzed information to make better decisions.  A combination of theoretical and practical mathematical and software tools will be used.  In addition to regular lectures, the course will employ computer exercises, case analysis, discussions and team presentations.  Special emphasis will be on making the results/decisions end-user-friendly.

53:716:504 Management Science (3 credits)
Description: This course introduces the students to the applications of quantitative models and their related mathematical techniques, to solve real world business problems.  A blend of analysis and synthesis is emphasized to generate meaningful solutions for managers.  Topics include single- and multiple-criteria decision methods, project scheduling, transportation and assignment problems, queuing theory, and decision analysis.

Background courses

56:198:500 Introduction to Programming for Computational Scientists
Prerequisites: None
Description: This course introduces the basics of modern computer programming to beginning
graduate students without a background in computer science. Topics covered are: control statements; arrays and lists; classes, objects and methods; inheritance; polymorphism; exception handling; file streams and serialization; recursion; searching and sorting. Students are required to use an up-to-date integrated development environment (IDE) to complete a number of programming assignments.

56:198:501 Introduction to Algorithms for Computational Scientists
Prerequisites: 56:198:500 or equivalent
Description: Introduction to algorithms, data structures, and algorithmic paradigms: binary search trees, hashing, sorting, searching, shortest paths, and dynamic programming. Introduction to scientific computing with MATLAB.

Thesis (6 credits)

Students will conduct a project and write a master’s thesis under the supervision of a faculty advisor. Thesis work will be carried out over two consecutive semesters (3 credits per semester).  At the end of the second semester, the thesis and an oral presentation of the thesis project will be assessed by a committee of graduate faculty members.

Timetable

The MS in Scientific Computing is designed to be completed in three to four semesters of full-time study, but may also be completed in two semesters of intensive study or in five to six semesters of part-time study.

Typical three-semester timetable for student with CS background:

Semester 1 (12 credits):

  • 56:198:541 Parallel, Distributed, Grid, and Cloud Computing (3 credits)
  • 56:198:561 Optimization Methods (3 credits)
  • 56:198:565 Numerical Methods I (3 credits)
  • One elective (3 credits)

Semester 2 (9 credits):

  • 56:198:562 Big Data Algorithms (3 credits)
  • One elective (3 credits)
  • Thesis (3 credits)

Semester 3 (9 credits):

  • Two electives (6 credits)
  • Thesis (3 credits))
Typical four-semester timetable for student with CS background:

Semester 1 (6 credits):

  • 56:198:561 Optimization Methods (3 credits)
  • 56:198:565 Numerical Methods I (3 credits)

Semester 2 (9 credits):

  • 56:198:562 Big Data Algorithms (3 credits)
  • Two electives (6 credits)

Semester 3 (9 credits):

  • 56:198:541 Parallel, Distributed, Grid, and Cloud Computing (3 credits)
  • One electives (3 credits)
  • Thesis (3 credits)

Semester 4 (6 credits):

  • One elective (3 credits)
  • Thesis (3 credits)
Typical four-semester timetable for student without CS background:

Semester 1 (6 credits):

  • 56:198:500 Introduction to Programming for Computational Scientists
  • 56:198:561 Optimization Methods (3 credits)
  • One elective (3 credits)

Semester 2 (6 credits):

  • 56:198:501 Introduction to Algorithms for Computational Scientists
  • Two electives (6 credits)

Semester 3 (9 credits):

  • 56:198:541 Parallel, Distributed, Grid, and Cloud Computing (3 credits)
  • 56:198:565 Numerical Methods I (3 credits)
  • Thesis (3 credits)

Semester 4 (9 credits):

  • 56:198:562 Big Data Algorithms (3 credits)
  • One elective (3 credits)
  • Thesis (3 credits)

Graduation Requirements

  • Minimum of 30 credits to be completed, which must include 6 thesis credits.
  • Grade Requirements: To graduate, the student must receive a cumulative GPA of 3.0 or better in the required 30 graduate credits.  No more than 6 credits with grades of C or C+ may be used in meeting the requirements of the Master’s degree.
  • Thesis Requirements: The 6 thesis credits must receive a grade of B or better.  All thesis work must be completed and defended by the end of the second semester of registration for thesis credits.  In the event that the thesis defense in not successful, the candidate will be granted a one month extension to complete and defend the thesis again.  If the second attempt is also unsuccessful, the candidate will recieve a C grade on all 6 thesis credits.  The candidate will then have the option of completing 6 additional credits through course work.  In this case, the requirement that no more than 6 credits with grades of C or C+ are counted towards the Master’s degree implies that all 30 non-thesis credits must have a grade of B or better. 

Funding and tuition

We offer highly-competitive scholarships of up to $5,000 to the best applicants to the program each year.  More information on tuition and other funding opportunities is available at the Rutgers Graduate and Professional Admissions website.


Program contacts

Suneeta Ramaswami
Computer Science Graduate Program Director
ude.sregtur.nedmacnull@icspmocdarg
Tel: +1  (856) 225-6439

Department of Computer Science
227 Penn Street, Room BSB-322
Rutgers, The State University of New Jersey
Camden, NJ 08102
Tel:  +1 (856) 225-6077
Fax: +1 (856) 225-6624