Website: School of Theoretical and Applied Science
Convener:
Faculty:
- Eman Abdelfattah
- Ali Al-Juboori
- Scott Frees
- Lawrence D’Antonio
- Sourav Dutta
Current as of June 2022
Computers are pervasive in today’s world and Ramapo College Computer Science graduates have available to them a broad range of career opportunities in business, government, and academia. Our recent graduates have established careers in software development, project management, research, marketing, database development and administration, financial engineering, data mining, systems administration, quality assurance, education, game development, management, consulting and sales. Our graduates often continue on to graduate school while they pursue their careers.
Computer Science is the study of the representation, storage, and transformation of information. The subject areas of computer science include algorithms and data structures, programming languages, object-oriented programming, GUI programming, web-based development, operating systems, compiler design, numerical analysis, simulation, data communication and network programming, database design, artificial intelligence, robotics, big data, computer graphics, security, machine learning, and software methodologies.
This broad body of knowledge is presented in a manner which encourages Computer Science majors to develop professional competence; acquire curiosity and establish a long-term commitment to remain current in this rapidly changing discipline. Indeed, the Computer Science major at the College is in a continual state of evolution, with new courses being added to the program and every course in the major being regularly updated. The Program has an Advanced Topics course to facilitate the rapid introduction of new material into the major.
The Computer Science major at Ramapo is based on the philosophy that true learning occurs through active participation. This notion is incorporated throughout the curriculum. For example, all the courses in the major require programming projects that illustrate and expand the course content. Before completing the major, students must design and implement a significant piece of software as their senior project. Additionally, Computer Science students are encouraged to participate in one of the many experiential learning opportunities available through off-campus internships.
The Computer Science faculty brings a wide diversity of experience in industry and academia. Computer networking, object oriented programming, financial modeling, database design, web development, Linux systems programming, .NET programming, Windows systems programming artificial intelligence, virtual reality, robotics, big data, GUI programming, software methodologies, programming languages, numerical analysis, machine learning, cybersecurity and computer graphics are areas well represented by the faculty.
Program Goals:
- Will have wide range of computer science theory – including algorithms, data structures, and design patterns – and the ability to apply this knowledge in a problem-solving environment.
- Will be proficient in relevant programming languages, including object-oriented languages such as C++ and more functional languages such as Python.
- Will have a fundamental understanding of the way computing systems work, specifically how operating systems are designed and interact with both hardware and software.
- Will understand the challenges of designing, implementing, and maintaining large software projects and the strategies used to overcome these challenges.
- Will have exposure to different sub-disciplines – such as Data Science Artificial Intelligence, Computer Graphics, Database Systems, Web Development, and Robotics – allowing them to be prepared pursue specializations in these disciplines during their postgraduate-professional careers.
Learning Outcomes:
Outcome #1: Program effectively and use object-oriented languages.
Outcome #2: Understand algorithms and data structures that underlie all software development.
Outcome #3: Understand the principles and design issues of operating systems and the underlying architecture.
Outcome #4: Be able to design, implement, test, and document large programming projects.
Outcome #5: Have an understanding of a number of areas in Computer Science. Examples of these areas are: Artificial Intelligence, .NET Programming, Database Design, Network Programming, Machine Learning, Big Data Programming and Computer Graphics.
Outcome #6: Students will be able to connect course content to out-of-classroom learning experiences:(e.g., internships and full-time employment).
- Transfer students who have 48 or more credits accepted at the time of transfer are waived from the courses marked with a (W) below.
Waivers do not apply to Major Requirements. - Double counting between General Education and Major may be possible. Check with your advisor to see if any apply.
- Writing Intensive Requirement (five courses): two writing intensive courses in the general education curriculum are required:
Critical Reading and Writing II and Studies in the Arts and Humanities; the other three courses are taken in the major. - Not all courses are offered each semester. Please check the current Schedule of Classes for semester course offerings.
- The Career Pathways Program requirements must be completed prior to graduation. Visit the Cahill Career Center.
COMPUTER SCIENCE MAJOR
- Subject & Course # – Title & Course Description
- GENERAL EDUCATION REQUIREMENTS
- REQUIRED – CRWT 102 - CRITICAL READING AND WRITING II
- SELECT ONE – INTD 101 - FIRST YEAR SEMINAR OR
- HNRS 101 - HONORS FIRST YEAR SEMINAR *
- SELECT ONE – AIID 201 - STUDIES IN THE ARTS & HUMANITIES OR (W)
- HNRS 201 - HONORS STUDIES IN THE ARTS & HUMANITIES *
- SELECT ONE – SOSC 110 - SOCIAL SCIENCE INQUIRY OR (W)
- HNRS 110 - HONORS SOCIAL SCIENCE INQUIRY *
- SELECT ONE – (W) - HISTORICAL PERSPECTIVES CATEGORY
- SELECT ONE – (W) - GLOBAL AWARENESS CATEGORY *
- SELECT ONE – - QUANTITATIVE REASONING CATEGORY
- SELECT ONE – - SCIENTIFIC REASONING CATEGORY
- SELECT TWO – DISTRIBUTION CATEGORY (One course must be outside of school)
- * Students in the College Honors Program must take the HNRS course options.
- COMPUTER SCIENCE MAJOR REQUIREMENTS
- CMPS 147 - COMPUTER SCIENCE I
- CMPS 148 - COMPUTER SCIENCE II
- CMPS 220 - ASSEMBLY LANGUAGE PROGRAMMING
- CMPS 231 - DATA STRUCTURES
- CMPS 311 - OPERATING SYSTEMS
- CMPS 361 - SOFTWARE DESIGN
- CMPS 366 - ORGANIZATION OF PROGRAMMING LANGUAGES
- CMPS 450 - SENIOR PROJECT
- MATH 121 - CALCULUS I
- MATH 205 - MATHEMATICAL STRUCTURES OR
- MATH 237 - DISCRETE STRUCTURES
- MATHEMATICS ELECTIVES: SELECT TWO (which must have MATH 121 – Calculus I as a pre-requisite. MATH 205, MATH 210, and MATH 237 courses may not be taken as math electives. (They serve as required courses within the Computer Science major.) Students may choose either Math 353 or Math 370 to count as a math elective, but not both.
- COMPUTER SCIENCE ELECTIVES: SELECT SEVEN (only one can be 200-level)
- CMPS 240 - DATA ANALYTICS IN PYTHON OR
- CMPS 285 - MOBILE DEVELOPMENT
- CMPS 305 - CYBER SECURITY
- CMPS 310 - BIG DATA PROGRAMMING
- CMPS 315 - THE UNIX ENVIRONMENT
- CMPS 320 - MACHINE LEARNING
- CMPS 327 - NETWORK PROGRAMMING
- CMPS 331 - ARTIFICIAL INTELLIGENCE
- CMPS 342 - COMPUTER GRAPHICS
- CMPS 345 - ANALYSIS OF ALGORITHMS
- CMPS 350 - FINANCIAL MODELING
- CMPS 357 - THE .NET ENVIRONMENT
- CMPS 364 - DATABASE DESIGN
- CMPS 367 - ADVANCED TOPICS:
- CMPS 369 - WEB APPLICATION DEVELOPMENT
- CMPS 373 - OBJECT ORIENTED PROGRAMMING
- CMPS 375 - MOBILE ROBOTICS
- DATA 301 - DATA ANALYSIS & VISUALIZATION
- CAREER PATHWAYS REQUIREMENTS
- Visit the Cahill Career Center
- PATH TS1 - CAREER PATHWAYS MODULE 1 FOR THEORETICAL & APPLIED SCIENCE
- PATH TS2 - CAREER PATHWAYS MODULE 2 FOR THEORETICAL & APPLIED SCIENCE
- PATH TS3 - CAREER PATHWAYS MODULE 3 FOR THEORETICAL & APPLIED SCIENCE
Note: A 2.0 GPA in the major is required for graduation.
- At least half of the courses fulfilling a minor must be distinct from the student’s major. That is, three of the six courses required for a minor cannot be used towards fulfillment of major requirements. A School Core does not need to be completed for a minor. Minors are open to students regardless of school affiliation.
COMPUTER SCIENCE MINOR
- Subject & Course # – Title & Course Description
- REQUIRED COURSES:
- CMPS 147 - COMPUTER SCIENCE I
- CMPS 148 - COMPUTER SCIENCE II
- CMPS 231 - DATA STRUCTURES
- ELECTIVES: SELECT THREE (only one can be 200-level)
- CMPS 240 - DATA ANALYTICS IN PYTHON OR
- CMPS 285 - MOBILE DEVELOPMENT
- CMPS 305 - CYBER SECURITY
- CMPS 310 - BIG DATA PROGRAMMING
- CMPS 315 - THE UNIX ENVIRONMENT
- CMPS 320 - MACHINE LEARNING
- CMPS 327 - NETWORK PROGRAMMING
- CMPS 331 - ARTIFICIAL INTELLIGENCE
- CMPS 342 - COMPUTER GRAPHICS
- CMPS 345 - ANALYSIS OF ALGORITHMS
- CMPS 350 - FINANCIAL MODELING
- CMPS 357 - THE .NET ENVIRONMENT
- CMPS 364 - DATABASE DESIGN
- CMPS 367 - ADVANCED TOPICS:
- CMPS 369 - WEB APPLICATION DEVELOPMENT
- CMPS 373 - OBJECT ORIENTED PROGRAMMING
- CMPS 375 - MOBILE ROBOTICS
- DATA 301 - DATA ANALYSIS & VISUALIZATION