Department of Computer Science
Dr. Igor Aizenberg
Chair, Department of Computer Science
Director, Graduate Program
The graduate program in Computer Science is designed for students interested in pursuing Computer Science at an advanced level. This program is a great opportunity to get perfectly prepared for an advanced level position in industry or for pursuing a Ph.D. degree.
This 30-credit program is open to all external applicants meeting the admission criteria.
At the same time we have a special option for those students who received their undergraduate degree in Computer Science from Manhattan College. Staying only for one more year in the College and taking only 24 credits (8 courses or 6 courses and Master Thesis/Project) these students may get their M.S. degree in Computer Science.
Overall, there is a large and continuously growing demand for advanced level computer science professionals in the State of New York and across the country. The program will extend well beyond knowledge acquired at the undergraduate level. The program will prepare students to enter computer-related industry directly after graduation, or to continue their educational path to a Ph.D. The curriculum is designed to allow students to develop their skills needed to achieve leadership positions in industry, business, and government or related fields, where computer science has become an important tool.
The coursework in the program represents a realistic balance between fundamental computer science theory and cutting edge modern computing techniques and technologies. Students will master methods of algorithm design and their analysis, networking, databases, and operating systems.
Students will have also an excellent opportunity to explore cutting edge areas, which are currently in high demand, such as cryptography and cybersecurity, blockchain technology, cloud computing, neural networks and machine learning, artificial intelligence, Linux kernel programming, image analysis and processing, and data mining. These areas will be covered by electives, which students will be able to choose in accordance with their personal interests.
A capstone experience involving either a research Master Thesis or a major software system design (Master Project) will help students to strengthen their knowledge and skills, put ideas and concepts to work in solving actual problems and finally become successful professionals able to gain employment in industry and/or to be accepted into a Computer Science Ph.D. program.
Learning that matches your lifestyle
Admission Criteria and Application
Admission Criteria for students who are pursuing a degree in Computer Science at Manhattan College
Undergraduate students pursuing a degree in Computer Science at Manhattan College should notify the Computer Science Department that they are planning to apply and submit their application during their senior year.
Admission Requirements:
- A minimum GPA of 3.0 in the undergraduate CMPT courses taken to date is required.
Applicants have to submit:
- Two letters of recommendation from faculty who can comment on the applicant’s ability to succeed in the M.S. coursework is required.
- Written statement of purpose describing the applicant’s objectives in undertaking graduate study.
Admission Criteria for students who received a B.S. or B.A. degree in Computer Science or related discipline outside of Manhattan College or received a bachelor degree from Manhattan College, but in any area different from Computer Science.
Admission Requirements:
- A minimum GPA of 3.0 and a strong record in the undergraduate computing courses is normally required, although other factors can be considered in the decision for admission.
- Applicants are not required to submit results of the Graduate Record Examination (GRE). However, GRE scores may enhance the application.
- A strong record in the undergraduate computing courses is normally required. Students entering the program should have at least 15 credits of foundational undergraduate computing courses, including at least 6 credits of computer programming, data structures, operating systems, and databases. They should also have at least 9 credits of mathematics, which may include calculus, discrete mathematics, probability/statistics, linear algebra, numerical methods, differential equations and other university level mathematical courses.
- Confirmed practical experience in computer programming is not required, but it should be a plus for students whose bachelor degree is not in Computer Science or a closely related discipline.
External applicants have to submit:
- Written statement of purpose describing applicant’s objectives in undertaking graduate study.
- Academic transcript.
- Two letters of recommendation from appropriate academic or professional references. At least one letter must be from an academic reference who can comment on the applicant’s ability to succeed in the M.S. coursework.
- All international applicants who were educated outside of the United States for their undergraduate and/or graduate degree must provide a course-by-course evaluation report (which should be inclusive of your official transcripts) provided by one of the agencies listed on the NACES website.
- (Optional) GRE Test results (optional subject GRE for international students).
- (Optional) Curriculum Vitae (CV) - only for those who have professional working experience.
English language requirement for international applicants
International applicants whose native language is not English and who have taken all or part of their undergraduate education in a country where English is not the native language are required to prove their ability to study in English. This can be done in any of the following ways:
- Submit scores on the Test of English as a Foreign Language (TOEFL). The following minimum scores must be obtained:
- Paper Based Test: 550
- Computer Administered Test: 213
- Internet Based Test: minimum of 80 points.
- Submit scores on the IELTS (International English Language Testing System) with a minimum of 6.5 points on the 9.0 scale.
- Submit scores on the TOEIC (Test of English for International Communication) with a minimum score of 690.
- Submit scores on the Duolingo English Test with a minimum score of 110 points.
International applicants can be exempt from the language proficiency requirement if they meet one of the following criteria:
- The applicant attended one academic year of study at a university or college in a country where English is the first official language (does not include IELP programs).
- The applicant is currently enrolled at a U.S. institution and has completed a 100-level (or equivalent) English Composition course and at least 12 credit hours of 100-level (or equivalent) courses
- The applicant was educated in one of these countries
Financial requirement for international applicants
- In order to complete the application and have your file evaluated, as an international applicant, you will need to submit a copy of your passport, certificate of financial responsibility, and bank statement showing sufficient funds to cover the first year of study (around $39,000).
Degree Requirements
The M.S. program in Computer Science is a 30-credit program and is available in the School of Science. Students can pursue this program in one of two ways: a course based option or a thesis/project based option. All students take a common core of 12 credits. Students pursing the course based option then take 18 elective credits. Students pursuing the thesis/project based option take 6 credits of thesis/project and then 12 elective credits.
General Requirements: The order in which courses are taken is flexible. The department offers two required core courses every fall and two required core courses every spring. The department also offers at least two elective courses every fall and every spring. A minimum grade of B in all graduate courses is required. Before taking any course, the student must obtain a grade of B or better in the prerequisite course(s) (if any).
Degree requirements for students who graduated from Manhattan College with a B.S. or B.A. degree in Computer Science
Courses from Undergraduate Program1: 6 credits
6 credits counted towards a M.S. degree from the undergraduate curriculum in Computer Science (a grade B or higher is required)
CMPT 456 | Software Engineering | 3 |
One of the following Electives (Only one of these courses can be counted even if more were taken) | 3 | |
CMPT 363 | Data Mining | 3 |
CMPT 364 | Cloud Computing and Virtualization | 3 |
CMPT 420 | Artificial Intelligence | 3 |
CMPT 465 | Neural Networks and Learning Systems | 3 |
CMPT 368 | Blockchain and Cryptocurrency Technologies | 3 |
CMPT 370 | Web Security | 3 |
CMPT 448 | Cryptography & Security | 3 |
CMPT 471 | Parallel Computing | 3 |
CMPT 477 | Image Processing & Analysis | 3 |
CMPT 369 | Cyber Security Lab | 3 |
- 1
Students who minored in Computer Science and who have taken CMPT 456 and (or) one of other courses from this list (with a grade "B" or higher), as well as any other Manhattan College graduates who have taken these courses, may also claim 3 or 6 undergraduate credits counted towards their graduate degree, respectively. Otherwise these students shall follow degree requirements for students who graduated with bachelor degrees from other institutions.
Required Graduate Core: 12 credits
CMPG 612 | Operating Systems | 3 |
CMPG 638 | Design&Analy of Algorithms | 3 |
CMPG 658 | Database Systems | 3 |
CMPG 667 | Computer Networking | 3 |
Course-Based Option (without M.S. Thesis/Project): 12 credits
12 credits of graduate electives (any 4 courses from the following list)2
CMPG 720 | Artificial Intelligence | 3 |
CMPG 763 | Data Mining | 3 |
CMPG 764 | Cloud Computing&Virtualization | 3 |
CMPG 765 | Neural Networks&Learn Sys | 3 |
CMPG 767 | Image Processing and Analysis | 3 |
MATG 557 | Machine Learning | 3 |
CMPG 768 | Cryptography and Security | 3 |
CMPG 769 | Cyber Security Lab | 3 |
CMPG 780 | Linux Kernel Programming | 3 |
CMPG 788 | Topics in Advanced Computer Science | 3 |
CMPG 797 | Graduate Independent Research | 3 |
CMPG 742 | Python Programming | 3 |
CMPG 758 | Blockchain and Cryptocurrency Technologies | 3 |
CMPG 770 | Web Security | 3 |
CMPG 771 | Parallel Computing | 3 |
CMPG 778 | Coding Interview Preparation: Algorithms, Data Structures and Skills | 3 |
ECEG 748 | Applied Machine Learning for Electrical & Computer Engineering | 3 |
ECEG 721 | Embedded Systems | 3 |
- 2
Only 1 course from cross-listed undergraduate/graduate electives taken during the undergraduate study can be counted towards a graduate degree. If a student did not get a grade B or higher in the undergraduate class (classes), which can be counted towards a graduate degree, he/she needs to take respectively 5 or 6 elective classes from this list.
Cross-listed undergraduate/graduate electives cannot be taken again at the graduate level if they have already been taken at the undergraduate level even if they are not counted towards a graduate degree.
M.S. Thesis/Project Option: 12 credits
6 credits of M.S. Thesis/Project (research or a major software project design under supervision of a faculty)
CMPG 798 | Master Thesis/Project Seminar | 3 |
CMPG 799 | Master Thesis/Project | 3 |
6 credits of graduate electives (any 2 courses from the following list)3
CMPG 720 | Artificial Intelligence | 3 |
CMPG 763 | Data Mining | 3 |
CMPG 764 | Cloud Computing&Virtualization | 3 |
CMPG 765 | Neural Networks&Learn Sys | 3 |
CMPG 767 | Image Processing and Analysis | 3 |
MATG 557 | Machine Learning | 3 |
CMPG 768 | Cryptography and Security | 3 |
CMPG 769 | Cyber Security Lab | 3 |
CMPG 780 | Linux Kernel Programming | 3 |
CMPG 788 | Topics in Advanced Computer Science | 3 |
CMPG 742 | Python Programming | 3 |
CMPG 758 | Blockchain and Cryptocurrency Technologies | 3 |
CMPG 770 | Web Security | 3 |
CMPG 771 | Parallel Computing | 3 |
CMPG 778 | Coding Interview Preparation: Algorithms, Data Structures and Skills | 3 |
ECEG 748 | Applied Machine Learning for Electrical & Computer Engineering | 3 |
ECEG 721 | Embedded Systems | 3 |
- 3
Only 1 course from cross-listed undergraduate/graduate electives taken during the undergraduate study can be counted towards a graduate degree. If a student did not get a grade B or higher in the undergraduate class (classes), which can be counted towards a graduate degree, he/she needs to take respectively 3 or 4 elective classes from this list.
Cross-listed undergraduate/graduate electives cannot be taken again at the graduate level if they have already been taken at the undergraduate level even if they are not counted towards a graduate degree.
Degree requirements for students who graduated from other institutions of higher education with a B.S. or B.A. degree (major or minor) in Computer Science or related disciplines and for students who graduated from Manhattan College with a B.S. or B.A. degree in any area different from Computer Science
Required Graduate Core: 12 credits
CMPG 612 | Operating Systems | 3 |
CMPG 638 | Design&Analy of Algorithms | 3 |
CMPG 658 | Database Systems | 3 |
CMPG 667 | Computer Networking | 3 |
Course-Based Option (without M.S. Thesis/Project): 18 credits
18 credits of graduate electives (any 6 courses from the following list):
CMPG 756 | Software Engineering | 3 |
CMPG 720 | Artificial Intelligence | 3 |
CMPG 763 | Data Mining | 3 |
CMPG 764 | Cloud Computing&Virtualization | 3 |
CMPG 765 | Neural Networks&Learn Sys | 3 |
CMPG 767 | Image Processing and Analysis | 3 |
MATG 557 | Machine Learning | 3 |
CMPG 768 | Cryptography and Security | 3 |
CMPG 769 | Cyber Security Lab | 3 |
CMPG 780 | Linux Kernel Programming | 3 |
CMPG 788 | Topics in Advanced Computer Science | 3 |
CMPG 797 | Graduate Independent Research | 3 |
CMPG 742 | Python Programming | 3 |
CMPG 758 | Blockchain and Cryptocurrency Technologies | 3 |
CMPG 770 | Web Security | 3 |
CMPG 771 | Parallel Computing | 3 |
CMPG 778 | Coding Interview Preparation: Algorithms, Data Structures and Skills | 3 |
ECEG 748 | Applied Machine Learning for Electrical & Computer Engineering | 3 |
ECEG 721 | Embedded Systems | 3 |
M.S. Thesis/Project Option: 18 credits
6 credits of M.S. Thesis/Project (research or a major software project design under supervision of a faculty)
CMPG 798 | Master Thesis/Project Seminar | 3 |
CMPG 799 | Master Thesis/Project | 3 |
12 credits of graduate electives (any 4 courses from the following list):
CMPG 756 | Software Engineering | 3 |
CMPG 720 | Artificial Intelligence | 3 |
CMPG 763 | Data Mining | 3 |
CMPG 764 | Cloud Computing&Virtualization | 3 |
CMPG 765 | Neural Networks&Learn Sys | 3 |
CMPG 767 | Image Processing and Analysis | 3 |
MATG 557 | Machine Learning | 3 |
CMPG 768 | Cryptography and Security | 3 |
CMPG 769 | Cyber Security Lab | 3 |
CMPG 780 | Linux Kernel Programming | 3 |
CMPG 788 | Topics in Advanced Computer Science | 3 |
CMPG 797 | Graduate Independent Research | 3 |
CMPG 742 | Python Programming | 3 |
CMPG 758 | Blockchain and Cryptocurrency Technologies | 3 |
CMPG 770 | Web Security | 3 |
CMPG 771 | Parallel Computing | 3 |
CMPG 778 | Coding Interview Preparation: Algorithms, Data Structures and Skills | 3 |
ECEG 748 | Applied Machine Learning for Electrical & Computer Engineering | 3 |
ECEG 721 | Embedded Systems | 3 |
Courses
CMPG 612. Operating Systems. 3 Credits.
This course focuses on the issues in the design and functioning of operating systems. Topics include file systems, CPU scheduling, memory management, virtual memory and machines, disk scheduling, deadlocks and their prevention, concurrency, protection mechanisms, multiprocessors, distributed systems and security. The course will include a case study of the Linux kernel code, along with other modern operating systems, illustrating the various topics.
CMPG 638. Design&Analy of Algorithms. 3 Credits.
This course focuses on the design and analysis of efficient algorithms. Topics include advanced data structures and sorting algorithms. Algorithm design techniques such as dynamic programming, greedy algorithms, amortized analysis will be discussed. Algorithms for graph problems such as minimum-cost spanning tree, shortest paths and maximum flow will also be discussed.
CMPG 658. Database Systems. 3 Credits.
This course focuses on the foundations of database systems and SQL programming. Topics such as the relational algebra and data model, schema normalization, query optimization, indexing and transaction processing will be discussed. Students will use MySQL for hands-on experimentation with writing queries.
CMPG 667. Computer Networking. 3 Credits.
This is a graduate level course in computer networks. This course focus on studying the state of the art in networking and networked systems. Topics to be covered include TCP/IP, internet routing, peer-to-peer systems, congestion management, QoS, network management, wireless communication and network security. Each topic will provide a background on traditional perspectives and provide an update on current and ongoing research. Students will learn concepts, techniques and tools while learning to carry out original research in course projects. In addition, students will gain experience in reading technical papers, giving conference-style presentation and writing project report.
CMPG 720. Artificial Intelligence. 3 Credits.
This course will be a survey of the field of Artificial Intelligence. Topics include intelligent agents, informed and uninformed search, game trees and constraint satisfaction problems. Selected machine learning topics, such as decision trees and Bayesian network will also be discussed.
Cross-listed with CMPT-420 Artificial Intelligence.
CMPG 742. Python Programming. 3 Credits.
This course provides an overview of Python programming and covers both the fundamentals and the object-oriented features. The emphasis will be on the logical analysis of a problem and the formulation of a computer program leading to its solution using Python. Students will be required to work on a variety of programming assignments in Python. Topics include but are not limited to fundamental programming constructs, class design, inheritance, polymorphism, lists, dictionaries, files, and GUI programming.
Cross-listed with CMPT-342 Python Programming.
CMPG 756. Software Engineering. 3 Credits.
A study of the principles and methods advocated for the development of large and complex software systems. Each student will be required to participate in a team project devoted to the specification, design and implementation of a sizable software system.
Cross-listed with CMPT 456 Software Engineering.
CMPG 758. Blockchain and Cryptocurrency Technologies. 3 Credits.
This course provides a comprehensive introduction to the revolutionary blockchain and cryptocurrency technologies. This course covers topics related to the new global money for the Internet age. This course explain how blockchain technology is transforming the Internet, allow students to understand bitcoin, cryptocurrencies and how they are disrupting the financial industry, have a comprehensive understanding of where blockchain technology is headed and how it can be leveraged.
Cross-listed with CMPT 368.
CMPG 763. Data Mining. 3 Credits.
This course focuses on fundamental data mining algorithms and their applications in the process of knowledge discovery. The course will cover the general aspects and techniques of analyzing large, complex datasets, recognizing patterns and making predictions. The R programming language will also be introduced and used for hands-on experimentation with data mining algorithms.
Cross-listed with CMPT-463 Topics in Computer Science: Data Mining.
CMPG 764. Cloud Computing&Virtualization. 3 Credits.
This course offers an in-depth study of Cloud Computing and its underlying technologies, specifically Virtualization. Areas of discussion include the internal architecture of clouds, the architecture and structure of Virtual Machines, and cloud management, security, and optimizations. The course also covers Linux Containers and their features. The course supplements all the topics with tracing actual software code (Xen, KVM, QEMU, VirtualBox), study of the latest related research publications, and hands-on experience with the relevant technologies (AWS, Live Migration, Nested Virtualization).
Cross-listed with CMPT-464 Topics in Computer Science: Cloud Computing and Virtualization.
CMPG 765. Neural Networks&Learn Sys. 3 Credits.
This course provides the basic concepts of neural networks and other learning techniques including but not limited to: biological foundations of neural networks, basics of neural information processing, an artificial neuron and its activation function, multilayer feedforward neural networks and backpropagation learning, deep learning, Hopfield neural networks and associative memories, recurrent neural networks, support vector machines, validation of learning results, and clustering. Laboratory exercises provide experience with design and utilization neural and other machine learning algorithms and solving real-world classification, prediction, pattern recognition and intelligent data analysis problems. A course project will help students to develop their team-working skills and get a good experience in software project design.
Cross-listed with CMPT-465 Neural Networks and Learning Systems.
CMPG 767. Image Processing and Analysis. 3 Credits.
This course provides the basic concepts of image processing and analysis including but not limited to image sensing and acquisition, visual perception, image enhancement (mostly spatial domain image enhancement, but some essential elements of the frequency domain enhancement will also be considered), image filtering in spatial and frequency domain, edge detection and image segmentation, elements of image restoration, image understanding and recognition, elements of color image processing. Laboratory exercises provide experience with design and software utilization of image processing algorithms and processing images related to various real-world applications (medical and satellite image processing, old images restoration, and digital photography). Students will program various algorithms and use their programs for processing real images. This will help them to accomplish specified challenges as they develop problem solving skills. A course project will help students to develop their team-working skills and get a good experience of software project design.
Cross-listed with CMPT 477.
CMPG 768. Cryptography and Security. 3 Credits.
This course provides a basic introduction to the principles and practice of cryptography and computer security. Topics include perfect secrecy, block ciphers, public key cryptosystems, key management, certificates, public key infrastructure (PKI), hash functions, digital signatures, non-repudiation, message authentication, access control, email and web security, intrusion detection, firewalls and security policies. Various security standards and protocols such as DES, AES, PGP, and SSL are also discussed.
Cross-listed with CMPT 448- Cryptography and Security.
CMPG 769. Cyber Security Lab. 3 Credits.
In this course, students will learn computer and network security fundamentals by studying attacks on computer systems, networks, and the Web. Students will learn how these attacks work and how to detect and prevent the attacks. The course takes a hands-on approach by explaining theories via specially designed labs. Students are required to conduct a series of experimental exercises. Through these experiments, this course will help students enhance their understanding of principles and use these principles to solve practical problems.
Cross-listed with CMPT-369 Cyber Security Lab.
CMPG 770. Web Security. 3 Credits.
This course provides a comprehensive overview of Web security. The goal is to understand the most common web attacks and their countermeasures. We'll cover the fundamentals as well as the state-of-the-art in Web security. Topics include Principles of web security, attacks and countermeasures, denial-of-service, same-origin policy, cross site scripting, authentication, the web app vulnerabilities, injection, TLS attacks, privacy, etc. Course components include lectures, hands-on labs, 2-3 in-class quizzes, and one group course project.
Cross-listed with CMPT-370 Web Security.
CMPG 771. Parallel Computing. 3 Credits.
In a parallel computation, multiple processors work together to solve a given problem. Currently, most computers are equipped with multicore processors. It is essential to learn how to use parallel machines effectively. In this course, students will learn about parallelism through shared-memory systems, distributed-memory systems, and GPUs. This course is about designing efficient programs to harness the power provided by modern parallel computers, so that the programs attain the highest possible levels of performance.
Cross-listed with CMPT 471.
CMPG 778. Coding Interview Preparation: Algorithms, Data Structures and Skills. 3 Credits.
This elective course will help students prepare for the unique aspects of a coding job interview, with programming techniques, computer science foundations, strategic insights, practicing skills and some tips. Class meeting will consist of lectures and programming activities. Students will work on a lot of coding exercises to learn problem-solving techniques, improve the understanding of data structures and algorithms. The LeetCode platform will be used throughout the course. In addition, there will be an in-class programming competition and a mock interview session to allow students to get some practice in real-life simulated environments.
Cross-listed with CMPT 478.
CMPG 780. Linux Kernel Programming. 3 Credits.
This course focuses on the Linux Kernel, a large-scale open source software project. Topics include in-depth discussions, and hands-on modifications of the Linux memory, process, storage, and network sub-systems. Programming topics include creating kernel modules, simple device drivers, as well as modifying and compiling the kernel source code.
CMPG 788. Topics in Advanced Computer Science. 3 Credits.
This course may cover any advanced topic in modern Computer Science. It is offered as an elective when there is a demand. The instructor's permission is required to take this course.
CMPG 797. Graduate Independent Research. 3 Credits.
This course requires from a student to develop an independent research project under supervision of and in collaboration with an instructor. It should typically be resulted in a conference or journal paper submitted or prepared for submission (or in a detailed written report) followed by an oral presentation in the department.
This course should typically be taken by "visiting" or exchange graduate students from other institutions doing joint research with one of the Computer Science faculty. A research project shall be approved by the department graduate committee.
It can also be taken as a graduate elective by graduate students not taking CMPG-798 and CMPG-799, if they have a research project to work on with one of the Computer Science faculty and this project was approved by the department graduate committee.
A permission from the Department Chair is required.
CMPG 798. Master Thesis/Project Seminar. 3 Credits.
The aim of the Master Thesis/Master Project in the graduate Computer Science program is to help students to strengthen their knowledge and skills, put ideas and concepts to work in solving actual problems and finally become successful professionals able to gain employment in industry and/or to be accepted into a Computer Science Ph.D. program. Students elected for Master Thesis should work on a master level research project mentored by a faculty member. Students elected for Master Project should develop a sophisticated software system for solving a real-world computational problem as practiced in industry. The work can be performed as a team work (Project) or can be performed as an individual project design or research (Thesis). This course (Master Thesis/Master Project Seminar) is the first course in a 2-semester course sequence. It requires students to develop a research or software design project proposal based on the knowledge and skills acquired in earlier coursework. The research and design concepts should include a detailed feasibility study as well as economical, societal, environmental and ethical aspects. At the end of the semester the design group or individual makes a proposal presentation and submits a detailed project proposal.
CMPG 799. Master Thesis/Project. 3 Credits.
This course (Master Thesis/Master Project) is the second course in a 2-semester course sequence. It requires students to develop a research or software design project based on the knowledge and skills acquired in earlier coursework. This course covers the second phase of the Master Thesis research or Master Project design. In this course, students perform and complete actual design and testing of the software system proposed at the first phase (CMPT-798). At the end of the semester an individual working on a Master Thesis submits the thesis and makes a formal final presentation of the obtained results. Respectively, at the end of the semester each design group or a sole designer working on a Mater Project makes a formal final presentation, demonstrates the software system designed, and submits a final report clearly documenting all aspects of the design process. Final presentations should be attended by interested students, guests, faculty members, engineers and IT professionals from local industries.
Prerequisite CMPT-798 with the grade not lower than B.