Master of Science in Software EngineeringDegree Requirements
The Florida A&M University Department of Computer and Information Sciences (CIS) offers a Master’s degree in Software Engineering Science (MSES). This degree, which is based on a curriculum from the Software Engineering Institute (SEI), is designed to teach principles in engineering, computer science, and information engineering. This degree may be a terminal degree for software engineering professionals or preparation for receipt of a Ph.D. in computing.
The resources of the CIS Department include four laboratories for research and teaching. The equipment is used for software engineering, graphics and visualization, high performance computing, distributed and parallel computing, and databases.
A candidate must meet the university-level admission requirements for graduate school including:
a) a 3.0 (on a scale of 4.0) cumulative grade point average covering the last 60 semester hours of undergraduate preparation or a combined score of 1050 on the Verbal and Quantitative Sections of the Aptitude Test of the Graduate Record Examination;
b) possession of a baccalaureate degree from an accredited institution
c) for non-English speaking students, a score of at least 600 on the TOEFL in addition to university-level admission requirements,
d) A candidate must have the equivalent of a minor in computer and information science or a related field; and
e) Completion of the following courses and their prerequisites: COP 3610, COP 4020, and COT 4210.
The MSES degree program requirements consist of course work and a master’s thesis. Students must:
a) maintain a grade of 3.0 (out of 4.0) in all courses in the curriculum,
b) select an area of research study, thesis advisor, and thesis committee during their second year of study,
c) submit a thesis accepted by the thesis advisor and the thesis committee, and
d) complete 33 hours of classroom courses.
A recommended schedule of courses is listed below.
* CIS5025 Programming Languages
* CEN5075 Software Systems Engineering
* COT5310 Theory of Formal Languages and Automata
* CEN5016 Formal Methods
* CEN5064 Advanced Systems Design
* CEN5015 Software Development and Maintenance
* COP5614 Operating Systems
* CEN5055 Software Project Management
* CEN5070 Software Verification and Validation
* CIS5970 Thesis
CIS 5025 Programming Languages Prereq: CDA 3101 or equivalent, COP 2532 or equivalent, and COP 4020 or equivalent. Provides a course in language theory, grammars, syntax, and semantics. Scanners, symbol tables and the pragmatics of implementation used to develop software.
COT 5310 Theory of Programming Languages and Automata Prereq: COT 3100 or equivalent and COT 4210 or equivalent. Gives a formal background in computing theory and programming languages including the basis of machines and programming. Logical network and switching theory sequential theory and automata, and Turing machines and computability. Foundations of automata, formal languages of recursion theory.
COP 5614 Operating Systems Prereq: CDA 3101 or equivalent, COP 2532 or equivalent and COP 3610 or equivalent. Provides a study of computer operating systems which are the primary resource managers of computer hardwired. The main features provided by these operating systems, such as process management, storage management, processor management, and auxiliary storage management, are studied in detail. Related topics of networking and security are introduced. Case studies of comparison of representative commercial operating systems are included. Laboratory use of the computer is an integral part of this course.
CEN 5075 Software Systems Engineering Prereq: CIS4301 or equivalent. Exposes students to development of software systems at a high level. Introduces systems aspect of development and related trade-offs. Exposes students to requirements analysis and techniques to develop a system from requirements.
CEN 5016 Formal Methods of Software Engineering Prereq: COT3100 or equivalent. Exposes students to the use of specification that has well defined semantics. Covers classes of specification models, including algebraic, state machines and model-theoretic approaches. Reviews verification methods such as weakest pre-condition and functional correctness.
CEN 5064 Advanced Systems Design Principles Prereq: CEN5075. Provides a course of theoretical principles of software design and teaches advanced concepts, models and algorithms valuable to systems designers. Topics are comparison of design methods and techniques and the principles of network communications database, security, real-time and graphical design issues.
CEN 5015 Software Development and Maintenance Prereq: CEN5064. Covers design , implementation, and maintenance (changing) of software. Various methods and languages are used in these activities.
CEN 5070 Software Verification and Validation Prereq: CEN5064, CEN5016. Covers theory and practice of insuring high quality software products. Topics include evaluation of software for efficiency, performance, reliability, and correctness. Specific skills of program proving, code inspection, unit level testing, and system level analysis are included.
CEN 5055 Software Project Management Teaches process considerations in software engineering. Provides advanced material in software project planning, monitoring and controlling mechanisms, and leadership and team building.
CIS 5930 Special Topics in Software Engineering (Elective). Introduces students to current topics in software engineering. Topics are announced as the course is taught.
CIS 5935 Introduction to Research Introduces students to research principles such as literary searches, library usage and basic research techniques.
CIS 5970 Thesis Thesis preparation, presentation, and defense.