Catalog
2018-19

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 theoretically as well as practically at an advanced level.

The 30-credit program is open to all external applicants meeting the admission criteria.

At the same time, the program is designed in a way when for Manhattan College students it should be a one-year M.S. extension to the existing B.S. Program in Computer Science.

Overall, there is a large and continuously growing demand for master’s 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 Master Thesis research 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 of students pursuing a degree in Computer Science at Manhattan College 

Undergraduate students pursuing degree in Computer Science at Manhattan College shall notify the Department of Computer Science that they are planning to apply for an M.S. degree after the sophomore year. They should submit their application during their senior year.

  • A minimum GPA of 3.0 and a strong record in the undergraduate CMPT courses courses taken to date is required.
  • Two letters of recommendation from faculty who can comment on the applicant’s ability to succeed in the M.S. course-work is required.
  • The applicant will provide a statement of purpose describing applicant’s objectives in undertaking graduate study

Admission of students gotten a B.S. degree in Computer Science or related discipline outside of Manhattan College​ 

Admission Requirements:

  • A minimum GPA of 3.0 and a strong record in the undergraduate computing courses courses is required. 
  • Students entering the program should have at least 18 credits of undergraduate computing courses, including at least 6 credits of computer programming, data structures, operating systems, software engineering and at least one senior level elective course in a modern computing area. They should also have at least 12 credits of mathematics, which must include at least 6 credits of calculus and may include discrete mathematics, probability/statistics, linear algebra, and numerical methods.

External applicants have to submit:

  • Academic transcript (international students with undergraduate degree from a foreign institution may submit an English translation of their academic transcript certified by a notary.
    Since Manhattan College has an experienced professional evaluating foreign transcripts, submission of a course-by-course evaluation is optional. 
  • 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. course-work is required
  • A statement of purpose describing applicant’s objectives in undertaking graduate study
  • (Optional) GRE Test results (optional subject GRE for international students) 
  • (Optional) CV - only for those who has professional working experience

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 either of the following two ways:
  1. To 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: 60 (less speaking component)
  2. To join Manhattan College's Intensive English Language Program (IELP), which can be completed during the summer. The program offers six levels of English beginner, intermediate and advanced levels of academic English where students benefit from individualized attention and support from professors and peers. Qualified students who successfully complete the IELP will have satisfied the English language proficiency requirement for graduate programs.

Degree Requirements

The M.S. program in computer science is available in the School of Science.

Common degree requirement: 30 graduate credits in total.

General Requirements: The order in which courses are taken is flexible. The department offers two required core courses courses every fall and other 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 each of graduate courses is required.  Before taking any course, the student must obtain a grade of B or better in the prerequisite courses (if any). 

Degree requirements for students graduated from Manhattan College with a BS or BA degree in Computer Science

6 credits counted towards an MS degree from the undergraduate  curriculum in Computer Science*

CMPT 456Software Engineering3
One of the following Electives (Only one of these courses can be counted even if more were taken)
CMPT 363Data Mining3
CMPT 364Cloud Computing and Virtualization3
CMPT 420Artificial Intelligence3
CMPT 465Neural Networks and Learning Systems3

*Students minored in Computer Science and taken CMPT 456 and (or) one of CMPT 363, CMPT 364, CMPT 420, CMPT 465 may also claim 3 or 6 undergraduate credits counted towards their graduate degree, respectively. Otherwise these students shall follow degree requirements for students graduated from other institutions.

12 credits of required graduate core:

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

A course-based option (without MS Thesis/Project)

12 credits of graduate electives (any 4 courses from the following list**):

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 780Linux Kernel Programming3
ECEG 721Embedded Systems3
CMPG 797Graduate Independent Research3

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

An MS Thesis/Project option

6 credits of MS 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***):

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 780Linux Kernel Programming3
ECEG 721Embedded Systems3

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

Degree requirements for students graduated from other institutions of higher education with a BS or BA degree (major or minor) in Computer Science or related disciplines

Students entering the program should have at least 18 credits of undergraduate computing courses, including at least 6 credits of computer programming, data structures, operating systems, software engineering and at least one senior level elective course in a modern computing area. They should also have at least 12 credits of mathematics, which must include at least 6 credits of calculus and may include discrete mathematics, probability/statistics, linear algebra, and numerical methods.

12 credits of required graduate core:

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

A course-based option (without MS Thesis/Project)

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 780Linux Kernel Programming3
ECEG 721Embedded Systems3
CMPG 797Graduate Independent Research3

An MS Thesis/Project option

6 credits of MS 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 780Linux Kernel Programming3
ECEG 721Embedded Systems3
CMPG 797Graduate Independent Research3

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 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 Pre-requisites: CMPT 335 or CMPT 360 or permission of instructor.

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.

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

Back To Top