pause world-wide-web instagram volume-medium linkedin flickr basketball devices home pencil person-money rss slider-left-arrow slider-right-arrow slider-left-arrow slider-right-arrow star video-transcript close hamburger minus plus account arrow certificate city globe graduation-cap graph handshake info info-2 map play search snapchat twitter facebook file-text-o youtube tumblr camera file-text

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 security, cloud computing, neural networks and machine learning, artificial intelligence, embedded systems, Linux kernel programming, image analysis, 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.

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 interest 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 undergraduate computing courses, including at least 6 credits of computer programming, data structures, operating systems, 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 mathematics 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 interest 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:

  1. 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.
  2. Submit scores on the IELTS (International English Language Testing System)  with a minimum of 6.5 points on the 9.0 scale.
  3. Submit scores on the TOEIC (Test of English for International Communication)  with a minimum score of 690.
  4. 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 456Software Engineering3
One of the following Electives (Only one of these courses can be counted even if more were taken)3
Data Mining
Cloud Computing and Virtualization
Artificial Intelligence
Neural Networks and Learning Systems
1

Students who minored in Computer Science and who have taken CMPT 456 and (or) one of CMPT 363, CMPT 364, CMPT 420, CMPT 465, as well as any other Manhattan College graduates who have taken these classes, 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 from other institutions.

Required Graduate Core:  12 credits

CMPG 612Operating Systems3
CMPG 638Design&Analy of Algorithms3
CMPG 658Database Systems3
CMPG 667Computer Networking3

Course-Based Option (without M.S. Thesis/Project):  12 credits

12 credits of graduate electives (any 4 courses from the following list)2
CMPG 720Artificial Intelligence3
CMPG 763Data Mining3
CMPG 764Cloud Computing&Virtualization3
CMPG 765Neural Networks&Learn Sys3
CMPG 767Image Processing and Analysis3
CMPG 768Cryptography and Security3
CMPG 769Cyber Security Lab3
CMPG 780Linux Kernel Programming3
CMPG 788Topics in Advanced Computer Science3
CMPG 797Graduate Independent Research3
MATG 557Machine Learning3
ECEG 721Embedded Systems3
2

Only 1 course from CMPG 720/CMPT 420, CMPG 763/CMPT 363, CMPG 764/CMPT 364, CMPG 765/CMPT 465 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.

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 798Master Thesis/Project Seminar3
CMPG 799Master Thesis/Project3
6 credits of graduate electives (any 2 courses from the following list)3
CMPG 720Artificial Intelligence3
CMPG 763Data Mining3
CMPG 764Cloud Computing&Virtualization3
CMPG 765Neural Networks&Learn Sys3
CMPG 767Image Processing and Analysis3
CMPG 768Cryptography and Security3
CMPG 769Cyber Security Lab3
CMPG 780Linux Kernel Programming3
CMPG 788Topics in Advanced Computer Science3
MATG 557Machine Learning3
ECEG 721Embedded Systems3
3

Only 1 course from CMPG 720 / CMPT 420, CMPG 763 / CMPT 363, CMPG 764 / CMPT 364, CMPG 765 / CMPT 465 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.

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 612Operating Systems3
CMPG 638Design&Analy of Algorithms3
CMPG 658Database Systems3
CMPG 667Computer Networking3

Course-Based Option (without M.S. Thesis/Project):  18 credits

18 credits of graduate electives (any 6 courses from the following list):
CMPG 756Software Engineering3
CMPG 720Artificial Intelligence3
CMPG 763Data Mining3
CMPG 764Cloud Computing&Virtualization3
CMPG 765Neural Networks&Learn Sys3
CMPG 767Image Processing and Analysis3
CMPG 768Cryptography and Security3
CMPG 769Cyber Security Lab3
CMPG 780Linux Kernel Programming3
CMPG 788Topics in Advanced Computer Science3
CMPG 797Graduate Independent Research3
MATG 557Machine Learning3
ECEG 721Embedded Systems3

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 798Master Thesis/Project Seminar3
CMPG 799Master Thesis/Project3
12 credits of graduate electives (any 4 courses from the following list):
CMPG 756Software Engineering3
CMPG 720Artificial Intelligence3
CMPG 763Data Mining3
CMPG 764Cloud Computing&Virtualization3
CMPG 765Neural Networks&Learn Sys3
CMPG 767Image Processing and Analysis3
CMPG 768Cryptography and Security3
CMPG 769Cyber Security Lab3
CMPG 780Linux Kernel Programming3
CMPG 788Topics in Advanced Computer Science3
CMPG 797Graduate Independent Research3
MATG 557Machine Learning3
ECEG 721Embedded Systems3

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 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-.

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.

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 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.