Computer Science
Degrees and Certificates
-
Gaming and Interactive Media -
B.S. in Business Analytics -
Bachelors in Computer Science -
Health Information Management -
Bachelor + Master Degrees in CS -
Computer Science Minor
Mission Statement of the Computer Science Department
In accordance with the University’s mission, the mission of the Computer Science Department is to equip our students with technology competence, literacy, knowledge and skills that will bring them to “their highest potential and prepare them to meet the challenges of the new century with informed minds and understanding hearts.” As part of a liberal arts University, the CS curricula contribute in providing our graduates with the necessary critical thinking and problem-solving skills needed by today’s workplace and society at large.
The purpose of the Computer Science major is to prepare students to work for government agencies, healthcare institutions, private companies, and to pursue graduate degrees. The field of Computer Science is one of the professions predicted by the U.S. Department of Labor to have very high growth through the year 2020. This program emphasizes an understanding of the field of Computer Science both as an academic discipline as well as a profession. Graduates of this program will be well-versed with various areas of Computer Science that have shaped the discipline during its explosive existence. In addition, this program will provide a firm grounding in the liberal arts, while assuring in-depth study of the discipline of computer science. Topics include software engineering, computer hardware and systems software, network and data communications, computer systems analysis and design, and database management systems.
Computer Science Learning Outcomes
At the end of their program in Computer Science/Cybersecurity Students will:
- Apply their ability to make connections between using computer technologies in their lives and in societal values.
- Understand how to act as a team worker to fulfill complex projects and tasks.
- Create a computer science related project showing their knowledge of the latest developments in computer science and cybersecurity.
- Understand the scientific basis of their discipline.
- Apply quantitative and scientific reasoning in their discipline.
See the program for School of Business for more degree information.
Classes
CS/CSEC 452: Internship in Computer Science
Credits 3This course offers computer science majors the opportunity to work in the field of computer science for a minimum of 120 hours during the semester. Students must complete all paperwork to register for the Internship at least one semester before; students will meet with the Career Center and complete the application that will be sent to their advisor and site supervisor. This application will then be filed in the Career Center. Students must register for the class with the Registrar as well. They will be required to write a paper that is relevant to the Internship and maintain a journal that reflects their experience; the site supervisor will complete an evaluation form on their performance. This is a Pass/Fail course. (as needed)
CS/CSEC 460: Senior Project Development Practicum/Cybersecurity
Credits 3Advanced CS majors will engage in and complete the design and implementation of one of the following types of systems: Information Systems, Real-Time Systems, Distribution Systems, etc. Students in the Cybersecurity program will develop projects related to the management of information security in information systems. (spring)
CS/CSEC 490: Independent Study
Credits 1 4With the approval of the instructor, a student may arrange to pursue a course of independent study in a specific area of Computer Science, Information Assurance, Information Security, Cryptography, programming, adVanced graphics, database data mining or business intelligence or modeling and simulation. The course will involve tutorial meetings with the instructor, independent reading and work, and an in-depth research project. The course is normally taken by seniors, juniors or transfer students and may be taken in situations when a schedule conflict prevents a student from taking a regularly-scheduled Computer Science elective. (as needed)
CS/HCA 427: Healthcare Information Systems, Management of Data Protection and Regulatory Compliance
Credits 3This course is an introduction to the various Information Technology, Regulatory and Administrative aspects of Informatics, Information Privacy and Security as it pertains to a modern health care electronic environment. An important area of this course covers HIPAA, the Healthcare Insurance Portability and Accountability Act, and subsequent modifications introduced by the more recent ARRA-HITEC laws. This very important regulatory component of the healthcare industry is composed of the Transactions, Privacy and Security Rules, which are studied in depth in this course, including the key issues associated with protecting information privacy, deter mining the levels of protection and response to privacy and security incidents, and the different forms, policies and procedures to be used in a health care environment. The study and practice of Electronic Health Records, important Information Systems used in the healthcare industry, as taught as part of this course, is a timely subject, since the U.S. Government is motivating the use of such enterprise systems in all level of the healthcare provider system and there is a national expansion in the use of such electronic systems, from large hospitals to small clinics. (fall)
CS 102: Digital Technology for Educators
Credits 4Computer Applications for Educators is designed to provide an introduction to the integration and use of digital technology in educational settings. The purpose of this course is to guide pre-service teachers in understanding the issues surrounding technology integration in schools, and how digital technologies impact teaching and learning in the 21st century. The course addresses specific topics concerning various dimensions of technology integration and use in education, including historical, theoretical, ethical, equitable, practical, and pedagogical. Students develop technology-infused instructional environments that are student-centered, collaborative, and inquiry-based; that emphasize critical thinking; and that support specific curricular goals - as stated in the New Jersey Student Learning Standards.
CS 102: Computer Applications for Educators
Credits 3Computer Applications for Educators is designed to provide an introduction to the integration and use of digital technology in educational settings. The purpose of this course is to guide pre-service teachers in understanding the issues surrounding technology integration in schools, and how digital technologies impact teaching and learning in the 21st century. The course addresses specific topics concerning various dimensions of technology integration and use in education, including historical, theoretical, ethical, equitable, practical, and pedagogical. Students develop technology-infused instructional environments that are student-centered, collaborative, and inquiry-based; that emphasize critical thinking; and that support specific curricular goals - as stated in the New Jersey Student Learning Standards.
CS 103: Introduction to Advanced Computer Applications
Credits 3CS 104: Python I
Credits 3This is an introductory programming course in Python. This course teaches students to use knowledge and skills learned from Scripting languages and build simple applications in system administration, scientific programming, Web Servers, and all sorts of business applications. Python is a modern, elegant, and high-level Scripting language, and is one of the most popular languages lately. By finishing this course, students should be able to design and implement applications by using Python to solve a standard application problem. This is a good course for students who have no programming experience and satisfies the Technology Acumen requirement for general education.
CS 110: Introduction to Programming I
Credits 4CS 120: Introduction to Computer Science
Credits 3CS 140: Management Information Systems
Credits 3CS 150: Fundamentals of Information Systems
Credits 3CS 201: Programming Logic and Design
Credits 3CS 204: Python II
Credits 3In this course, we will examine a range of advanced techniques for improving the performance of Python programs, including the use of parallel computation and GPU acceleration. We will investigate how Python can be used for big data analysis using frameworks such as Apache Hadoop and Apache Spark. Students will have the opportunity to employ these techniques and gain hands-on experience developing advanced Python applications. After completing this course, students are able to write advanced, well structured, computer programs in Python, and apply principles and techniques for optimizing the performance of Python numeric applications.
CS 205: Web Development and Scripting Languages
Credits 3CS 270: Introductions to Programming II
Credits 4This is an advanced programming course for CS students. It provides in-depth coverage of object-oriented programming principles and techniques using object-oriented languages (C++, Java, etc.). Topics include classes, over loading, data abstraction, information hiding, encapsulation, inheritance, polymorphism, file processing, templates, exceptions, container classes, and low-level language features. The course briefly covers the mapping of UML design to implementation, using objectoriented language (C++, Java, etc.) and object-oriented considerations for software de sign and reuse. The course also relates objectoriented language to GUI, databases, and realtime programming. It is a programming project-based learning course in a computer lab. (spring)
CS 280: Computer Architecture and Organization
Credits 3CS 290: Theoretical Foundations and Principles of Computer Science
Credits 3CS 299: Introduction to Mobile Application Development
Credits 3Mobile computing devices have become ubiquitous in our communities. In this course, we focus on the creation of mobile solutions for various modern platforms, including major mobile operating systems. Students build apps using Swift and professional development environments, such as Xcode. In a class laboratory setting designed to mimic a real development shop, students will learn how to build apps and utilize tools such as Agile Project Management, version control, and pair programming. By the end of the course, students will not only have the skills to build their own apps, but also gain teamwork and time management skills
CS 318: Computer Informatics, Privacy and Security for Health Care Professionals
Credits 3CS 320: Networks and Telecommunications
Credits 4CS 350: Introduction to Operating Systems
Credits 3CS 360: Database Management Systems (DBMS)
Credits 3CS 380: Data Structures and Algorithms
Credits 3CS 389: Foundations of Game Design and Development
Credits 3This course covers a complete and practical approach to game design. Students learn the essentials skills of player-centric game design from initial concept to final turning. The topics include, but are not limited to, concept of game development, gameplay design, core mechanics of games, user interfaces, storytelling and balancing, analysis of the specific design challenges of all major game genres. In the end, students will be able to define challenges and actions at the heart of gameplay; write a high-concept document and a full design script; understand the essentials of user interface design and how to define a game's look and feel; design a variety of input mechanisms; construct a game's core mechanics; develop appealing stories and game characters; make their games acceptable to a broader audience, such as children, people with disabilities, and casual players.
CS 391: Game Development
Credits 3CS 392: Game Development II
Credits 3This is a second project-oriented course on Game Development, focusing on advanced design and programming using Unity. Students will consolidate scripting knowledge in C#, explore fundamental scripting tasks in Unity, build resolution-adapting interfaces for multiple screen-sizes, integrate 2D and 3D elements in a single scene, use the GUI features and sprite framework, explore how to find and diagnose problems in applications using MonoDevelop Debugging, as well as Visual Debugging. The course also teaches students how to manage team work-flows with Git and version control.
CS 395: Design Principles of Programming Languages
Credits 3This course introduces students to fundamental principles and techniques in the design and implementation of modern programming languages. The course covers these issues mainly as they relate to functional programming and object-oriented programming. The emphasis is on rigorous mathematical formalism and reasoning, both in describing programming languages (their syntax) and in analyzing their behavior (their semantics). (spring)
CS 398: R and Advanced Statistics
Credits 3In this course, students will learn both theoretical and practical techniques for applying statistical models to data. This course teaches how to analyze, visualize data in R and create reproducible data analysis reports. The course contents include understanding the unified nature of statistical inference, conducting frequentist and Bayesian statistical inference and modeling to understand natural phenomena and make data-based decisions, and communicating statistical results correctly, effectively, and in context without relying on statistical jargon, critique data-based claims and evaluated data-based decisions, as well as visualizing data with R packages for data analysis. Students will produce a portfolio of data analysis projects using R that demonstrates mastery of statistical data analysis from exploratory analysis to inference to modeling. This course is designed for students to apply for statistical analysis or data analyst positions.
CS 398: R and Advanced Statistics
Credits 3CS 400: Computer Systems Analysis and Logical Design
Credits 3CS 420: Software Engineering
Credits 3CS 430: Introduction to Big Data and Data Mining
Credits 3This course provides an introduction of concepts, techniques and applications behind data mining, text mining, and web mining on big data sets. It presents techniques for the discovery of patterns hidden in large data sets, focusing on issues relating to their feasibility, usefulness, effectiveness and scalability. This course is designed for computer science students, business students and other professions which request large data analysis skills, including stream data, sequence data, graph structured data, social network data, and multirelational data. Topics include data preprocessing, data warehousing, OLAP and data cube, association and correlation rules, classification, decision trees, clustering, prediction and anomaly detection. This course will also introduce the state of art software in Big Data such as Apache Hadoop. (Spring)
CS 470: Artificial Intelligence
Credits 3CS 498: HC Advanced Programming with Java
Credits 3CS 499: HC Advanced Database and Knowledge Discovery
Credits 3GAIM 400: Gaming and Interactive Media Project
Credits 3Advanced IMD majors will complete the design and implementation of one of the following products on digital computer-based systems: application software as a tool for users such as a knowledge management platform; application software for mobile devices; games; virtual reality; pervasive games; interactive video; publications such as websites that allow users to navigate, communicate and participate; social media; interactive art; interactive advertisement; interactive cinema; etc. As the capstone experience, all products should demonstrate the student's mastery of the interdisciplinary aspects of GAIM, from programming skills to conceptual and artistic
sensibilities.