Computer Science is an interdisciplinary field with roots in algorithm design and applications in many diverse areas. It ranges from theoretical studies of algorithms to practical problems of system implementation involving both software and hardware. Computer scientists work to solve multifaceted problems. Computer Science provides an excellent training in problem solving and logical thinking, which are important skills for employment and research.

Who would be suited to take this program?

The Computer Science Certificate is designed for professionals seeking to expand their technical skills and competencies for tackling the latest challenges in computer science and related areas. The certificate consists of 12 credits and can be pursued on either a part- or full-time basis. Credits from the Computer Science Certificate can be counted toward the master's degree afterward, assuming your grades are B's or higher. Thus, the Certificate program may be of interest to those who want to use it as an entry point to the master’s degree program.

What are the prerequisites?

Applicants should have a bachelor's degree from an accredited institution in either Computer Science, Information Sciences, Information Technology, Computer Engineering, Mathematics, Physics, or have relevant experience. NJIT’s standard admission requirements apply to this graduate certificate.

What will I learn?

Graduates of the program will have the ability to:

  • Analyze a complex computing program and to apply principles of computing and other relevant disciplines to identify solutions.
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. 

Why Study Computer Science at NJIT?

NJIT is situated in Newark, minutes from Newark Penn Station. Jersey City and New York City are also a short train ride away, providing easy access to these commercial areas with many companies that employ statisticians and data scientists. NJIT is a top 100 research university, with faculty performing cutting-edge research and publishing in leading conferences and journals. NJIT also consistently ranks highly on added-value and diversity.

Into what industries might holders of this program find employment?

The increased use of technology throughout the business world means that companies in many industries are hiring graduates with experience in computer science. Potential jobs include software development, database administration, and computer networking and security.

Related Degree Programs

All courses in this program are related to the NJIT MS in Computer Science.

COURSE DESCRIPTIONS

CS 505. Programming, Data Structures, and Algorithms. 3 credits

Prerequisite: knowledge of at least one procedure-oriented language such as PASCAL or C. Computer science students cannot use this course for graduate degree credit. Intensive introduction to computer science principles: a procedure-oriented language such as C++; program design techniques; introductory data structures (linked lists, stacks, sets, trees, graphs); and algorithms (sorting, searching, etc.) and their analysis. Programming assignments are included.

CS 506. Foundations of Computer Science. 3 credits

Prerequisite: knowledge of C/PASCAL. Corequisite: CS 505. Cannot be used for graduate credit towards the M.S. in Computer Science. Introduction to the concepts of iteration, asymptotic performance analysis of algorithms, recursion, recurrence relations, graphs, automata and logic, and also surveys the main data models used in computer science including trees, lists, sets, and relations. Programming assignments are given.

CS 602. Java Programming. 3 credits

Prerequisite: advanced Web-based programming with an emphasis on the Java language and platform. No prior knowledge of Java is required but students are expected to have a good understanding of object-oriented programming concepts such as encapsulation, inheritance, and polymorphism, experience with C++. Basic constructs and syntax and then the core advanced features. Topics include: networking and sockets, remote method invocation (RMI), database connectivity (JDBC), Java Beans, multi-threading and lightweight components (Swing). Common gateway interface (CGI) languages and browser scripting (JavaScript and VBScript) are discussed when used as a complement to the functionality of the Java language. Emphasis is on the latest version of Java, both deprecated methods and newly introduced features are discussed.

CS 631. Data Management System Design. 3 credits

Prerequisites: knowledge of C and data structures. Acquaintance with fundamental notions of relational database technology. Mathematical properties and usage of database programming languages. Methods of database design and conceptual modeling. Methods of physical storage for database information. Fundamental notions of concurrency control and recovery in database systems.

CS 632. Advanced Database System Design. 3 credits

Prerequisites: CS 631 and good knowledge of a high-level programming language. Covers the rapidly changing concepts and principles of modern database systems and database programming based on SQL. Additional topics may include: advanced data modeling, OODBs, parallel and distributed database systems, XML and NO-SQL databases, Web-database systems, active databases, multimedia and text databases, database security, query optimization, indexing techniques, concurrency control, system performance, and data warehousing.

CS 634. Data Mining. 3 credits

This course covers the principles of data mining system design and implementation. It presents methods for association and dependency analysis as well as classification, prediction, and clustering. Optional topics may include time series and graph mining, current trends in data mining, and data mining for scientific, medical and engineering applications.

CS 635. Computer Programming Languages. 3 credits

Prerequisites: CS 505 and CS 510. The theory and design of computer language systems; the formal theory of syntax and language classification; a survey of procedure and problem-oriented computer programming languages, their syntax rules, data structures, and operations; control structures and the appropriate environments and methods of their use; a survey of translator types.

CS 644. Introduction to Big Data. 3 credits

Prerequisite: permission of the instructor. This course provides an in-depth coverage of various topics in big data from data generation, storage, management, transfer, to analytics, with focus on the state-of-the-art technologies, tools, architectures, and systems that constitute big-data computing solutions in high-performance networks. Real-life big-data applications and workflows in various domains (particularly in the sciences) are introduced as use cases to illustrate the development, deployment, and execution of a wide spectrum of emerging big-data solutions.

CS 645. Security and Privacy in Computer Systems. 3 credits

Prerequisites: Students are expected to enter this course with a basic knowledge of operating systems, networking, algorithms, and data structures. Also, students should be able to program in Java and C/C++. The course covers fundamental principles of building secure systems and techniques to ensure data security and privacy. Topics include access control mechanisms, operating systems security, malicious code threats and software security, trusted computing, content protection, and database security . The course will also study existing technical approaches to protecting privacy, including Web anonymizers and ant-censorship tools, as well as policy and legal aspects of privacy.

CS 656. Internet and Higher-Layer Protocols. 3 credits

The course introduces the protocols and standards of the TCP/IP suite that govern the functioning of the Internet. The material covered in class is a top-down approach on introduction, discussion, and analysis of protocols from the data-link layer to the application layer. Alternative protocols to the TCP/IP suite and new protocols adopted by this suite are discussed. Numerical examples related to network planning and protocol functioning are analyzed.

CS 673. Software Design and Production Methodology. 3 credits

Prerequisite: CS 631. Modern techniques and methods employed in the development of large software systems, including a study of each of the major activities occurring during the lifetime of a software system, from conception to obsolescence and replacement. Topics include cost/performance evaluation, documentation requirements, system design and production techniques, system verification techniques, automated aids to system development, and project organization and management.

CS 675. Machine Learning. 3 credits

Pre-requisites: Basic probability, linear algebra, computer programming, and graduate or undergraduate senior standing, OR approval of instructor. This course is an introduction to machine learning and contains both theory and applications. Students will get exposure to a broad range of machine learning methods and hands on practice on real data. Topics include Bayesian classification, perceptron, neural networks, logistic regression, support vector machines, decision trees, random forests, boosting, dimensionality reduction, unsupervised learning, regression, and learning new feature spaces. There will be several programming assignments, one course project, one mid-term and one final exam.

IS 601. Web Systems Development. 3 credits, 3 contact hours.

Prerequisites: NONE Students will gain experience in open source web development through an intensive hands-on project, applying real-world problem-solving skills to meeting information systems requirements. Students will learn Web development principles, as well as professionally relevant skills including industry standards, conventions, and procedures within large-scale programming projects. Also covered are the communication tools, technologies, and practices that individuals use to coordinate and collaborate within the open source software development community.

IS 650. Data Visualization and Interpretation. 3 credits, 3 contact hours.

The course will focus on training students in data visualization techniques and relevant tools. They will learn theoretical aspects of visualization design, and gain practical experience in interpreting data as well as critiquing and comparing visualization techniques. They will develop interactive visualization interfaces as part of a class project. Students will also gain a broad understanding of how visualization can enhance data interpretation and play a key role in the data science pipeline. Finally, recent advances will be presented in the areas of information visualization, visual analytics, and human-data interaction.

IS 657. Spatiotemporal Urban Analytics. 3 credits, 3 contact hours.

Prerequisite: IS 665 or equivalent. This course teaches essential concepts and skills needed to efficiently develop spatiotemporal thinking, create a spatiotemporal model, and visualize/model the urban spatiotemporal relationships in the open source environment. Students will learn about big data analytic skills that integrate large open source data and traditional data by investigating the relationship between virtual and physical worlds in the built environment.

IS 665. Data Analytics for Info System. 3 credits, 3 contact hours.

Prerequisite: IS 601 This course gives a graduate level introduction to data analysis, probability and statistics from an information systems perspective, including many of the techniques that are most relevant to the profession of Data Scientist for business, data and web analytics, as well as current data sets. We will learn and conduct Python, MATLAB and R based manipulation of data. Course topics include the rudiments of probability and random variables, estimation, special distribution and sampling, Markov processes, hypothesis testing, graphics and visualization.

MATH 661. Applied Statistics. 3 credits, 3 contact hours.

Prerequisite: MATH 112. Role and purpose of applied statistics. Data visualization and use of statistical software used in course. Descriptive statistics, summary measures for quantitative and qualitative data, data displays. Modeling random behavior: elementary probability and some simple probability distribution models. Normal distribution. Computational statistical inference: confidence intervals and tests for means, variances, and proportions. Linear regression analysis and inference. Control charts for statistical quality control. Introduction to design of experiments and ANOVA, simple factorial design and their analysis. MATH 661 and MATH 663 cannot both be used toward degree credits at NJIT.

What are the Required Courses?

The Computer Science Certificate includes three required courses covering foundation of computer science, programming skills, and database techniques, respectively, as well as one additional elective advanced course, for a total of 12 credit hours. 

Core Courses
Take these courses:9
Foundations of Computer Science
Operating System Design
One Programming Language Course - CS 505 Programming, Data Structures and Algorithms OR CS 602 Java Programming OR CS 635 Computer Programming Languages
Data Management System Design
Electives – Choose one course:3
Advanced Database System Design
Data Mining
Introduction to Big Data
Security and Privacy in Computer Systems
Internet and Higher-Layer Protocols
Software Design and Production Methodology
Machine Learning
Web Systems Development
Data Visualization and Interpretation
Spatiotemporal Urban Analytics
Data Analytics for Info System
Applied Statistics
Total Credits12