Master of Science in Computer Science
The Computer Science program is housed in the School of Agriculture, Community, Environment, and the Sciences (ACES) which is in the College of Agriculture, Community, and the Sciences. The School of ACES offers programs of study leading to the Master of Science in Computer Science (MSCS). Admission requirements include good undergraduate academic standing, GRE scores for applicants with less than a GPA on a 4.00 scale, and three recommendations from instructors or current employers (for applicants working in the field of technology). A prospective candidate may or may not have an undergraduate baccalaureate degree in computer science. A candidate with a non-computer science degree must show great motivation towards learning in the technological fields.
Students with an undergraduate degree in computer science (Plan A) will directly proceed to the core courses. However, the students with undergraduate degrees in fields other than computer science (Plan B) must complete 9 hours of intensive foundation courses to gain the proficiency needed in the areas of computer programming, data structures, discrete mathematics, and computer organization. After completion of the foundation courses, students in Plan B will move on to the core courses.
Both thesis and non-thesis options are available in the program leading to the Master of Science degree. Six (6) hours of thesis or two (2) additional electives are required in the non-thesis option.
Students can also choose from the Information Engineering (IE) or Cybersecurity (SE) concentrations. The total number of hours required is 30, which includes 15 hours of core courses and 9 hours that students select from the option of their choice. In addition, the students complete 6 hours of (COS 796 Project Course or COS 799 Thesis. The last two options are recommended for candidates who plan to pursue employment in the computer industry after completion of the master’s degree or who are currently gainfully employed. The students completing the degree will have a broad knowledge in various subject areas which include Operating Systems, Computer Architecture, Networking, WEB Programming, Software Engineering, Databases, Computer Programming, Artificial Intelligence, Computer Security, Cryptography, Advanced Algorithms, Information Security, Secure System Administration, Database Security, and Network Security.
Admission to the Master of Science in Computer Science Program
Regular Admission Requirements
The Master of Computer Science program admits only students whose preparation indicates potential for a high level of success. Regular admission may be granted on the basis of one of the following two categories of requirements. Both categories are designed to ensure that MSCS students are likely to succeed in professional graduate study also have the potential for career success in the computer science field. Admission to the program is subject to Computer Science Division Graduate Admission Committee Approval and the following requirements.
Requirement 1:
- Baccalaureate degree in computer science or related discipline from an institution in the United States with regional accreditation or from a foreign institution with comparable accreditation.
- An overall undergraduate grade-point-average of 3.00 (on a 4.00 scale).
- Official transcripts of all undergraduate and graduate work indicating all degrees awarded and courses taken
Requirement 2:
- Baccalaureate degree from an institution in the United States with regional accreditation or foreign institution with comparable accreditation.
- An overall undergraduate grade-point-average of 2.50 (on a 4.00 scale).
- Official transcripts of all undergraduate and graduate work indicating all degrees awarded and courses taken.
- GRE scores required if GPA is less than a 3.00 on a 4.00 scale.
Transfer of Credit
Candidates for this Master’s degree are restricted to a maximum of nine semester credit hours by transfer of work completed at another accredited graduate institution. Official copies of transcripts must be submitted and evaluated before any transfer credit can be accepted. Certain courses submitted for transfer may not be considered equivalent to specified program requirements even if course titles are the same.
Graduate Assistantships
A limited number of graduate assistantships are available for full-time students pursuing the Master of Science in Computer Science degree. Students holding these positions work 20 hours per week and receive stipends. Graduate Assistants assist the faculty members in their instructional and research activities. Students interested in such positions apply to the Division’s office. Assistantships are awarded on the basis of financial need and high academic achievement.
Requirements for the Master of Computer Science Degree
Students can be admitted in one of the two plans: Plan A or Plan B:
Plan A is for students who have an undergraduate degree in Computer Science or related field. These students will skip the foundation courses and can immediately begin with the core courses stated later.
Plan B is for students who have an undergraduate degree in a field other than Computer Science, have not taken prerequisite undergraduate computer science courses, but are interested in retraining in the computer field. These students are required to complete the following 9 hours of intensive foundation courses. The sequence in which they must be taken is determined by the MSCS Graduate Program Coordinator. The three foundation courses are:
Code | Title | Hours |
---|---|---|
COS 502 | Computer Science Foundation I | 3 |
COS 504 | Computer Science Found II | 3 |
COS 505 | Computer Science Found III | 3 |
Total Courses
Students may select one of the areas of concentration: Information Engineering (IE) or Cybersecurity (SE). In the IE or SE option, they must select five core courses. In addition to core courses, students must take three IE specialty and two elective courses from their option or 6 hours of thesis. In SE option, they must select three SE specialty and two elective courses or 6 hours of thesis.
Code | Title | Hours |
---|---|---|
Required Core Courses | ||
COS 506 | Adv Programming/Data Structure | 3 |
COS 515 | Adv Database Manage Systems | 3 |
COS 536 | Software Engineering | 3 |
COS 570 | Adv Comp Architecture/Software | 3 |
COS 585 | Information Security | 3 |
Concentration | ||
Select three courses from concentration | 9 | |
Thesis Option | ||
Select six credit hours of thesis or non-thesis courses | 6 | |
Total Hours | 30 |
Information Engineering (IE) Concentration
Code | Title | Hours |
---|---|---|
COS 514 | Database and Data Mining | 3 |
COS 519 | Managing Info Technology | 3 |
COS 520 | Multimedia Design | 3 |
COS 571 | Software Assurance | 3 |
Cybersecurity (SE) Concentration
Code | Title | Hours |
---|---|---|
COS 533 | Cryptography Algorithms | 3 |
COS 583 | Enterprise Secur Managements | 3 |
COS 586 | Information System Assurance | 3 |
COS 588 | Computer Network Security | 3 |
Non-Thesis Option
Code | Title | Hours |
---|---|---|
COS 599 | Special Topics in Technology | 3 |
COS 697 | Independent Study | 3 |
COS 698 | Intern in Computer Science | 3 |
COS 796 | Project Course | 3 |
Thesis Option
Code | Title | Hours |
---|---|---|
COS 797 | Residence Cred Thesis/Prof Prj | 0 |
COS 799 | Thesis | 3 |
COS 799 | Thesis | 3 |
Master’s Thesis
Students submitting a thesis in partial fulfillment of the master’s degree must prepare it in conformity with the regulations approved by the Computer Sciences Graduate Student Committee. Three (3) approval pages bearing original signatures of the graduate committee must be included with three (3) typewritten, clear, unbound copies of the thesis, all presented to the Division of Computer Science Graduate Student Committee at least two weeks prior to the end of summer school and three weeks prior to the end of the Fall or Spring semester. Two (2) copies are bound and become a property of the Program; one (1) copy is bound and becomes a property of Blazer Library. A thesis must be developed under the direction of a full-time member of the Graduate Faculty.
Minimum Hours Required
The Master of Science in the Computer Science Degree Program requires a minimum of thirty (30) semester credit hours, not including the foundation courses.
Thesis Defense
This option is only for students who have decided to work on a thesis. It is imperative that all candidates with a thesis option and a project option must defend their work. The graduate committee may declare a candidate successful or may ask him/her to repeat the defense.
Anyone not successful after two attempts will be terminated with no degree conferred from the MSCS program.
Time Limit for Degree Completion
All program requirements must be completed within three (3) years from initial admission for full-time and four (4) years for part-time students from initial admission, unless otherwise approved by the Computer Science Graduate Program Coordinator. Time to complete cannot be greater than six (6) years from initial admission per University requirements.
Repeat Option
A student may repeat a graduate course. The lower grade is removed and does not count toward total hours or toward the student’s grade-point-average. This action will be initiated by the petition of the student to the MSCS Graduate Program Coordinator and the Division of Computer Sciences and may be done only once per course.
Probation
If, upon completion of 12 or more semester credit hours of graduate course work, a student has a GPA of less than 3.0, he/she is placed on academic probation. The student will have one full-time semester or the equivalent (9 semester credit hours) to remove the scholastic probation by attaining a 3.0 cumulative GPA.
Dismissal
If probation is not removed during the next semester, students will be dismissed from the program. Students who have been dismissed from the program for this reason may apply for re-admission after one semester. Readmitted students will have one full-time semester or its equivalent (9 semester credit hours) to remove the scholastic probation by attaining a 3.0 average. Students placed on scholastic probation are not eligible for assistantship. Enrollment may be terminated for any of the following reasons:
- Scholastic probation for three semesters of enrollment.
- Two unsuccessful attempts to defend the thesis, the project, or the final exit and oral examination.
Problem analysis, top-down design and stepwise refinement. Programming languages concepts of input/ouput, data representation, data types, iteration, recursion, functions, and parameter passing, arrays, linked lists, binary trees, abstract data types, and traversal algorithms. Other topics are sorting, searching, and algorithm analysis.
An introduction to the basic mathematical, theoretical subjects and tools needed for other courses in the program. The course covers different topics such as discrete mathematics, Boolean algebra, number theory, graph theory, trees, finite auomata, and others.
This course teaches studentws the skills in computer systems, operating systems, and basic components.
This course teaches students the advanced skills in programming and data structures.
To introduce the basic tools for Web programming using XML, ASP.NET, Visual Basic.NET, C and J.
To introduce basic ideas for Web engineering design methodologies. The course will use XML and ASP.
Presents the basic ideas from 2-D and 3-D graphics and the transformations algorithms from 2-D to 3-D. The second portion of the course serves to introduce the student to programming interactive 2-D graphical user interfaces.
This course presents data mining from a database perspective. A study of methodologies and algorithms for extracting meaningful data form unstructured and structured data repositories. Topics will include data warehousing, clustering, classification, association rules mining, etc. for real-world problems.
Advanced topics in DBMS including distributed internet implemenations. Thorough coverage of new structural and operational data models.
The aim of this course is to give students a firm understanding of the theory underlying the processing and interpretation of visual information and the ability to apply the understanding in a wide variety of situations. Students who successfully complete this course will be well placed to pursue subsequent work either in research or in industry.
A computer science-oriented approach is used to examine infrastructure, including functionality, usability, data design and strategic technical choices for typical types of e-commerce. A working prototype is required.
The major tools for network security and Web security is presented as techniques of programming under network and web environments. Topics such as network security architectures; policy and legal issues; security assessment and incident handling; and tools used for network security are presented.
This course provides an in-depth, real-world understanding of information systems technologies. It presents students with the importance of technology, system development, and functional transaction processing systems, and emphasizes the innovative uses of information technology throughout the enterprise essential in most aspects of today’s professional careers.
This course covers intermediate techniques in multimedia systems for capturing, managing, accessing, and delivering digital media over network technology. It proves the structure and environment to design, develop, and deliver web-based multimedia projects.
This course focuses on the use of system engineering methodologies for designing, coding, and the deployment of web applications. This course will use current industry web technologies.
Students are introduced to the area of cryptography. This course covers intermediate concepts of cryptography, communication channels, encryption, attacks and others.
This course deals with concepts of modern computer and telecommunication networks. The introductory principles and advanced topics related to networking terminology, protocols, standards design, administration and maintenance will be covered.
This course covers the concepts involved in software engineering related to software process, requirements engineering, design, architecture, quality, testing, and project management.
An intermediate study of various topics in the field of Artifical Intelligence. Topics may include logic programming, knowledge representation, expert systems, natural language processing, neural networks, robotics, machine learning, AI related problems and languages.
This course will discuss the advanced fundamentals of digital system and computer architecture. Advanced topics in the study of the computer architecture design for sequential and parallel systems, open system architecture, design principles, and ALU design will be presented.
This course covers advanced numerical solutions and techniques such as large linear system problems, non-linear systems, elliptic, and parabolic PDEs.. Additional topics covered are numerical solutions from point of modeling large mathematical systems and application and simulations issues.
This course will discuss the fundamentals of operating systems and advanced topics in distributed operating systems. It helps students become more aware of the concepts, trends, and tools available for operating systems.
This course presents the benefits of storage area networks (SANS) to the corporate users and enables them to deploy SAN technology effectively. The course is designed as an introduction to SANs. The topics covered include topologies, protocols, and products required to implement and manage efficient SANS.
This course in an introduction to the Common Gateway Interface (CGI) and the design issues for running external programs, software, or gateways under an information server in a platform-independent manner.
Advanced topics on computer software and hardware systems are covered which involve controlling complexity; virtual memroy, thread and coordination of parallel activities. It aslo discusses quantitave and qualitative understanding of superscalar, pipelined architecture and different operating systems.
Students will learn advanced skills in software assurance. This course will also prepare students in methods to assure a level of confidence in software systems and develop expertise to assess the security capabilities and resiliency of the software.
Introduction to the advanced cryptography algorithms, block encryption algorithms, public key algorithms, digital signature algorithms, PKI key managements, authentication and implementation issues, protocols theory, protocol use, and protocol design theory.
This course covers the topics related to secure electronic commerce technology: models and issues; related principles with case studies; security architectures; digital signatures; certificates; public key infrastructure (PKI); and legal and national policy on secure electronic commerce and others.
Students are introduced to the managerial aspects of computer security and risk management for enterprises. Also covered are accreditation; procurement; extension and operation principles for secure enterprise information systems; security policy; plan development; contingency, continuity and disaster recovery planning; and incident handling and response.
This course deals with provisioning, procurement and installation of network hardware and software systems for mission critical enterprises. System configuration and maintenance, incident handling and response, system certification; and testing and validation will also be covered.
This course introduces the basic notions of securing information which deals with authentication models, auditing, intrusion detection, operational security issues, physical security issues, security system life cycle management, and others.
This course deals with the in-depth study of the design and analysis of high assurance information systems. The topics include safety; reliability and security; specification of mission-critical system properties; software and hardware validation; and verification and certification.
This course will focus on the issues related to the design and implementation of the secure data stores. Emphasis will be placed on multi-level security in database systems, covert channels, and security measures for database systems.
The course covers two major topics. Computer network protocols and service models, the OSI model, network architecture, and networked systems. The second part involves an examination of network security defense techniques and countermeasuresl. Topics include: firewall systems and IDS, VPNs, security threats, mechanisms, and services.
This course is an introduction to risk analysis for network and systems as well as the associated risks to assets and operations. Some of the topics are cost-effective risk analysis techniques to identify and quantify the treats, and qualitative risk analysis.
A treatment of topics relevant to the computer security, networking, or information technology not routinely covered by other courses. New developments in systems concepts, techniques, and equipment. May be repeated up; to 2 times for credit.
This course is a prerequisite for project/thesis option. An introduction to the techniques and methodology used to conduct research. The successful students will be able to read and analyze technical papers. The students will utilize this experience in the project/thesis courses.in systems concepts, techniques, and equipment. May be repeated up; to 2 times for credit.
Topics include: the use of computer hardware and software to retrieve data; manage databases; modeling alternatives; and preparing reports.
This course combines theory with the practical techniques of PERT, CPM, linear programming, modeling, “What If” analysis, break even analysis, and decision trees.aring reports.
The student will complete an approved project designed to provide an opportunity to develop an area of expertise not covered by regular curriculum. May be repeated twice for credit.
Course can be taken for gaining practical experience, on or off campus, in any field of computer science. The student must demonstrate that the experience gained as part of the internship is at least equivalent to the material learned in a typical class. May be repeated twice for credit. Graded pass/fail.
The successful student completed an approved project designed to develop an area of expertise not covered by regular curriculum. Students will submit an internal report for their project achievements. May be repeated once.
Prequisites: completion of the program thesis or project course; approval of advisor. Graduate students who have already earned the maximum credits allowed for program thesis or project course may be registered for this course.
Thesis preparation, presentation, and defense. Students may register for thesis for several semesters. Upon completion of the thesis, students are given a grade of Pass (P) or Fail (F). the thesis is a published work of original research in the field of compute science.