Computer Science and Software Engineering

Chair: Jamie Kretsch, Department of Computer Science and Software Engineering

UNIX Administrator and Teacher: Joseph Chung

Master of Science in Computer Science (MSCS)

The Master of Science in Computer Science provides a broad background in graduate-level computer science study. The thirty- to forty two-credit program allows the student to choose a thesis option or a non-thesis option. Students may also choose to specialize in Computer Networks, Databases and Intelligent Information Systems, or Security of Computer Systems and Networks. When the applicant has a strong background in computer science, such as a bachelor’s degree in computer science with excellent standing, up to twelve credits (CS-501B Program Development (3 cr.)-CS-505 Operating Systems Concepts (3 cr.)) may be waived. Other majors may be required to take some or all of these courses. These foundation courses must be completed with a minimum GPA of 3.0, and all prerequisite courses must be passed with a grade of “B-” or better.

Master of Science in Information Systems (MSIS)

The MSIS is a unique degree program that educates students about how to apply computing technology to business programs. With courses offered through the School of Science and the Leon Hess Business School, the MSIS prepares students for employment in the Information Technology (IT) sector at a management level. The program benefits are:

  • Focus on the technology or management side of information systems by choosing one of two distinct tracks;
  • Become an effective team member, including teams that are international and geographically distributed;
  • Excel at project management and management and improve business decision-making;
  • Learn how to reconcile conflicting project objectives;
  • Be eligible to apply for positions such as business systems analyst, software project manager, software requirements developer, information technology operations manager, and customer support specialist.

The MSIS also allows students to gain full and thorough training in information systems, which can be used as a basis for pursuing certifications such as the Certified Information Systems Security Professional (CISSP), Project Management Professional (PMP), and the Certified Software Development Professional (CSDP).

Master of Science in Software Engineering (MSSE)

Monmouth University was one of the first institutions in the United States to recognize the newly emerging discipline of Software Engineering by establishing a separate department to specialize in this strategic engineering discipline. The Department of Computer Science and Software Engineering offers a Master of Science Degree in Software Engineering.

The objective of the master’s degree program is for the student to master the necessary skills and knowledge that allow him or her to be an effective member of a software development team. The program’s educational objectives are to prepare students so that upon graduation they will:

  1. Show mastery of the software engineering knowledge and skills and professional issues necessary to practice as a software engineer in a variety of application domains with demonstrated performance in at least one application domain;
  2. Understand the relationship between software engineering and systems engineering and be able to apply systems engineering principles and practices in the engineering of software;
  3. Show mastery of software engineering in at least one specialty, such as networked software systems, information systems, real-time systems, or software systems security.
  4. Work effectively as part of a team, including teams that may be international and geographically distributed, to develop quality software artifacts, and to lead in one area of project development, such as project management, requirements analysis, architecture, construction, or quality assurance;
  5. Reconcile conflicting project objectives, finding acceptable compromises within limitations of cost, time, knowledge, existing systems, and organizations;
  6. Design appropriate software engineering solutions that address ethical, social, legal, and economic concerns;
  7. Understand and appreciate the importance of feasibility analysis, negotiation, effective work habits, leadership, and good communication with stakeholders in a typical software development environment;
  8. Learn new models, techniques, and technologies as they emerge, and appreciate the necessity of such continuing professional development;
  9. Analyze a current significant software technology, be able to articulate its strengths and weaknesses, and be able to specify and promote improvements or extensions to that knowledge.

Classes are scheduled to support working professionals and many of our students are from New Jersey’s premier software industries. The department offers the entire program at the main campus of Monmouth University. The Master of Science in Software Engineering degree is a thirty-credit curriculum, with four core courses, four advanced elective courses, and a six-credit thesis or practicum. The core courses provide the student with the foundations of modern software engineering. When the applicant has a background other than computer science or software engineering, up to twelve credits of foundation courses may be required before registering for the core courses. These foundation courses must be passed with a grade of “B-” or better. Students can opt for writing a thesis or participating in a group practicum for two semesters as their capstone experience before graduation.     

For students who have already completed a bachelor’s degree in software engineering, the department offers an advanced track, which gives students the opportunity to earn a master’s degree after completion of a thirty-credit curriculum. In addition, students may choose between two paths within this track, the thesis or non-thesis option. If students choose the thesis option, they will complete the core courses, research and write a thesis over two semesters, and choose and complete two pairs of advanced elective courses. Students who choose the non-thesis option will complete the core courses and choose and complete three pairs of advanced elective courses. Finally, all students will take one advanced elective course from the list of non-paired courses.

Nafi Diallo, Assistant Professor (Graduate Faculty). PhD, New Jersey Institute of Technology. Areas of interest are programming languages, software engineering, machine learning and secure systems, more specifically techniques for building secure and reliable systems.
ndiallo@monmouth.edu

Daniela Rosca, Associate Professor (Graduate Faculty). MS, Polytechnic University of Bucharest; PhD, Old Dominion University. Interests include requirements elicitation, analysis and specification, and methodologies for the development and use of business rules.
drosca@monmouth.edu

Richard Scherl, Associate Professor (Graduate Faculty). BA, Columbia University; MA, University of Chicago; PhD, University of Illinois. Interests include artificial intelligence (especially knowledge representation, automated reasoning and natural language processing), cognitive science, and databases.
rscherl@monmouth.edu

William M. Tepfenhart, Professor (Graduate Faculty). BS, MS, PhD, University of Texas at Dallas. Interests include artificial intelligence, software architecture, and software design.
btepfenh@monmouth.edu

Jiacun Wang, Professor and Graduate Program Director (Graduate Faculty). BS, Jiangsu University of Science and Technology; PhD, Nanjing Unviersity of Science and Technology, China. Interests include software architecture, Petri nets, real-time systems, discrete event systems, telecommunications, and networking.
jwang@monmouth.edu

Cui Yu, Associate Professor (Graduate Faculty). BS, Nanjing University of Aeronautics and Astronautics; PhD, University of Singapore, Singapore. Interests include database management systems, spatial databases, and information storage and retrieval.
cyu@monmouth.edu

Course usage information

CS-501A   Computer Programming EssentialsCredits: 3   

Term Offered: All Terms

Course Type(s): TPS

An introduction in computer programming for newly admitted graduate students. Students will learn basic concepts in modern computer programming. Students will complete all the programming exercises and assignments in the modern objected-oriented language.

Course usage information

CS-501B   Program DevelopmentCredits: 3   

Prerequisite: CS-501A, passed with a grade of B or higher.

Term Offered: All Terms

Course Type(s): None

Continuation at the coverage of the same modern object-oriented language introduced in CS-501A. More advanced object-oriented design, including inheritance and polymorphism.

Course usage information

CS-502   Theoretical Foundations of Computer ScienceCredits: 3   

Term Offered: All Terms

Course Type(s): None

Concepts, methods, models, and associated computer exercises for important topics in discrete mathematics and probability. Includes: logic and mathematical reasoning, functions, sets, summations, asymptotic notation, algorithms and complexity, number theory, cryptography, matrix algebra, induction and recursion, counting techniques, combinatorial objects, discrete structures, discrete probability theory, relations, graph theory, moments, random variables, and graph algorithms. Limited to Computer Science majors.

Course usage information

CS-503   Data Structures and AlgorithmsCredits: 3   

Prerequisite: CS-501B, passed with a grade of B or higher.

Term Offered: All Terms

Course Type(s): None

Design and implementation of fundamental data structures and algorithms, including: linked lists, hashing, sorting, trees, stacks, queues, sets and bags, and recursion. Application to problem solving and object-oriented design of moderate-sized programs.

Course usage information

CS-505   Operating Systems ConceptsCredits: 3   

Prerequisite: CS-503 passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): None

The basic concepts of operating systems from the point of view of an advanced user: the interaction of the kernel, the command interpreter, and user processes. Focus is on process and resource management, concurrency control, and inter-process communication. Examples and projects are based mainly on Unix. The course also includes an introduction to computer architecture from an operating-systems perspective (processors, devices, interrupts, clocks, etc.).

Course usage information

CS-509   Advanced Object-Oriented Programming and DesignCredits: 3   

Prerequisite: CS-501B, passed with a grade of B- or higher.

Term Offered: Fall Term

Course Type(s): None

Object-oriented programming and design, using a language different from that used in CS 501B. Used in classes, inheritance, polymorphism, and libraries.

Course usage information

CS-511   Technical CommunicationCredits: 3   

Prerequisite: Open only to those students accepted in the MS program in Computer Science.

Course Type(s): CISEL

Preparation, analysis, synthesis, and presentation of system documentation, technical papers, and data flow diagrams; literature search.

Course usage information

CS-512   Algorithm DesignCredits: 3   

Prerequisites: CS-502 and CS-503, both passed with a grade of B- or higher.

Term Offered: Spring Term

Course Type(s): CISEL

Design and analysis of algorithms; dependence of algorithm efficiency on data structure choice; correctness of algorithm implementation and basic design techniques and their applications to programming with fundamental data structures.

Course usage information

CS-514   NetworksCredits: 3   

Term Offered: All Terms

Course Type(s): CISEL

An introductory-level course on the hierarchy of networking software and hardware. Particular emphasis on medium Access Control, Network layer, Transport layer, and Session layer. Several MAC-layer protocols, TCP/IP. Also listed as MIS-514.

Course usage information

CS-517   Database Design and ManagementCredits: 3   

Prerequisite: CS-503, passed with a grade of B or higher.

Term Offered: All Terms

Course Type(s): CISEL

Introduction to database systems, data modeling, design theory and methodologies, query languages and query processing. Coverage of relational database model and design, normalization process, SQL, hands-on database design and application development. Also listed as MIS-517.

Course usage information

CS-518   Fundamentals of Computer Security and CryptographyCredits: 3   

Prerequisite: CS-514 or MIS-514 passed with a grade of B- or higher.

Term Offered: Fall Term

Course Type(s): CISEL

An introduction to computer security and its related issues, including cryptography. It covers threats assessment, security policies, basic cryptography, security mechanisms, and assurance. Also includes several case studies on enhancing the security level of specific systems by integrating different security mechanisms and techniques. Both theoretical and practical issues are addressed in the course. Students who successfully complete this course will be capable of assessing the threats, enhancing the security, and evaluating the assurance level of specific computer systems.

Course usage information

CS-520   Introduction to Intelligent SystemsCredits: 3   

Prerequisites: CS-502 and CS-503, both passed with a grade of B- or higher.

Course Type(s): CISEL

Introduction to methods and algorithms used to incorporate intelligence into computer programs. Topics include search techniques, representation and reasoning, and machine learning. Applications of these methods are stressed. Also covers implementation of some of the fundamental algorithms.

Course usage information

CS-521   Artificial IntelligenceCredits: 3   

Prerequisites: CS-503 and CS-520, both passed with a grade of B- or higher.

Course Type(s): None

Basic and advanced methods in symbolic and quantitative artificial intelligence through Lisp programming techniques. Current issues concerning rule-based vs. statistical methods via applications.

Course usage information

CS-522   Knowledge FusionCredits: 3   

Prerequisites: CS-517 and CS-520, both passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): None

Fundamental techniques for integrating information from heterogeneous sources to obtain actionable knowledge. The sources of information include databases, files, and Web pages. Covered techniques include both those based upon logic and also approaches based on probabilistic reasoning.

Course usage information

CS-523   Networked Information SystemsCredits: 3   

Prerequisites: CS-505 and CS-517, both passed with a grade of B- or higher.

Course Type(s): None

Basic principles, techniques, and tools for building networked information systems with a significant database component. Current protocols, languages, and data formats.

Course usage information

CS-525   SimulationCredits: 3   

Prerequisites: CS-502, CS-503, and CS-514, all passed with a grade of B- or higher.

Term Offered: Spring Term

Course Type(s): None

Formal models of discrete event systems, computer simulation of models, and analysis of simulation results. Discrete event simulation is applied to studying the performance of computer and communication systems. Object-oriented design and programming in C++.

Course usage information

CS-526   Performance EvaluationCredits: 3   

Prerequisites: CS-501B, CS-502, and CS-514, all passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): None

The role of performance evaluation in the product lifecycle. Introduction to Markov chains and elementary queuing theory; complementary roles of analytic and simulation methods and applications to performance evaluation of computer and communication systems.

Course usage information

CS-528   Database and Transactions SecurityCredits: 3   

Prerequisites: CS-517 and CS-518, both passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): None

An overview of the methodologies to protect data. It covers both traditional and emerging security mechanisms and services, as well as the common threats and vulnerabilities of database and transaction processing systems. The topics include: discretionary and mandatory access controls in database systems, secure database design, data integrity, secure transaction processing, inference controls, and auditing. Also covers security models for relational and object-oriented databases, and security of databases in a distributed environment. Both theoretical and practical issues will be addressed in the course.

Course usage information

CS-529   Web Services and .NETCredits: 3   

Prerequisite: CS-503 passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): CISEL

Introduction to Web services. Theoretical and practical coverage of client-server architecture, communication protocols, and messaging, including XML and SOAP transactions. .NET Framework architecture is used for the applications. We contrast with other platforms, e.g., Java-based Web services. Students implement Web services and simple clients on PCs or mobile devices.

Course usage information

CS-530   Knowledge-Based SystemsCredits: 3   

Prerequisites: CS-502 and CS-509, both passed with a grade of B- or higher.

Course Type(s): CISEL

Fundamental techniques in building knowledge-based systems using logic programming technology; applications of knowledge-based systems; Prolog programming techniques; using advanced Prolog programming environments.

Course usage information

CS-531   Intelligent InterfacesCredits: 3   

Prerequisites: CS-503 and CS-520, both passed with a grade of B- or higher.

Course Type(s): CISEL

Computer-human interfaces that use speech understanding and image processing (such as handwriting).

Course usage information

CS-532   Compiler DesignCredits: 3   

Prerequisite: CS-512, passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): CISEL

The major techniques used in compiler writing, lexical analysis, syntax analysis, storage management, error detection and recovery, and code generation. Tools for compiler writing (LEX, YACC, etc.).

Course usage information

CS-533   Database System ImplementationCredits: 3   

Prerequisites: CS-502 and CS-503, both passed with a grade of B- or higher.

Term Offered: Fall Term

Course Type(s): CISEL

DBMS architecture, data storage and indexing, query processing and optimization, transaction management and recovery, and some issues related to advanced database applications.

Course usage information

CS-535   TelecommunicationsCredits: 3   

Prerequisites: CS-502, CS-505, and CS-514, all passed with a grade of B- or higher.

Term Offered: Fall Term

Course Type(s): None

In-depth coverage of the lower layers of the network hierarchy: Physical layer, Data Link layer, Network layer, and Transport layer.

Course usage information

CS-536   File Management and Query StrategiesCredits: 3   

Prerequisite: CS-503 passed with a grade of B or higher.

Course Type(s): None

Addresses data storage and organization, file management principles, and query processing and applications. Students will gain hands-on experience in file processing and application development.

Course usage information

CS-537   Client-Server InterfacesCredits: 3   

Prerequisites: CS-505, CS-509, and CS-514, all passed with a grade of B- or higher.

Course Type(s): CISEL

Design of client-server systems. This is a project-dominated course. Students from the AI stream will design and implement a distributed client-server system for some AI application, while students from the COMPUTER NETWORKS stream will be more involved in Transport layer issues. Coverage of the higher layers of the network hierarchy: Transport layer, Session layer, and Application layer. Programming with TCP and UDP.

Course usage information

CS-540   Model Building and AlgorithmsCredits: 3   

Prerequisites: CS-502, CS-503, and CS-514, all passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): None

Solving real-world problems requires skills in model-building, model-selection and the application of appropriate algorithms. The applicable field of knowledge is basically Operations Research (OR). We discuss optimization (linear/integer programming, branch and bound, game theory), network and queuing models, and algorithms that may be applied in the solution of many practical problems arising, for example, in business, government, and private settings.

Course usage information

CS-545   GraphicsCredits: 3   

Prerequisite: CS-509 passed with a grade of B- or higher.

Course Type(s): CISEL

Drawing with a graphics kernel, 2D and 3D transformations, view transformation, area filling, line and polygon clipping, hidden surface algorithms, curves and surfaces, Gouraud and Phong shading, pattern and texture mapping, fractals, and rendering using a ray-tracer.

Course usage information

CS-550   Computer System ArchitectureCredits: 3   

Prerequisites: CS-502 and CS-503, both passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): None

Computer system interconnection structures, central processing unit, control unit, microprogrammed control, memory organization, cache and virtual memory, computer arithmetic, RISC processors, introduction to parallel processing, and case studies.

Course usage information

CS-551   Parallel ProcessingCredits: 3   

Prerequisite: CS-550, passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): None

Parallel computer paradigms, parallel processing application, conditions of parallelism, scalable computer platforms, parallelism issues, performance metrics and benchmarking, speedup performance laws for parallel systems, parallel memory organization, interconnection networks, multiprocessing and multiprocessors, multicomputers, massively parallel systems, mapping applications to parallel systems, and case studies.

Course usage information

CS-560   Master's SeminarCredits: 3   

Prerequisite: Completion of twenty-one credits toward the MS degree, including four core courses, or permission of the instructor.

Course Type(s): CISEL

Emphasis on preparation, analysis, synthesis, and presentation of software system documentation, project progress reports, and technical papers based on literature research.

Course usage information

CS-588   Computer Science Practice and ExperiencesCredits: 1   

Course Type(s): None

Provides opportunity for Computer Science graduate students to obtain related experience in employment at a local company or institution with Monmouth University sponsorship. Available to Computer Science graduate students who have completed at least eighteen credit hours of graduate courses (500 level), with a minimum GPA of 3.00. Does not satisfy elective requirements. Students may take the course a maximum of two times. This is a pass/fail course.

Course usage information

CS-598   Special Topics in Computer ScienceCredits: 3   

Prerequisites: CS-502 and CS-503, both passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): CISEL

Subject matter varies with the interest of the students and of the professor teaching the course. The exact nature of the topic covered in any given semester is indicated in the student's transcript.

Course usage information

CS-618   Data MiningCredits: 3   

Prerequisites: CS-517 and CS-520, both passed with a grade of B- or higher.

Term Offered: Spring Term

Course Type(s): CISEL

An introduction to the fundamental concepts, algorithms, and techniques of data mining. Topics include: data preprocessing, classification algorithms and techniques, anomaly detection, and the design of data warehousing and OLAP systems.

Course usage information

CS-625   Internet CrawlerCredits: 3   

Prerequisite: CS-529, passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): CISEL

In-depth coverage of the crawler component of modern search engines. Examination of the architecture of crawlers; algorithms for visitation, retrieval and processing of Web pages, and link analysis (e.g., PageRank computation). Coverage of ethical and legal issues of customized Web robots. Students build automatic Internet crawlers.

Course usage information

CS-627   Quantitative Systems EngineeringCredits: 3   

Prerequisite: CS-526, passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): None

Development of methods and techniques for analyzing the performance of complex systems. Application to the performance engineering of computer/communications systems, including distributed computing/information systems and integrated telecommunications.

Course usage information

CS-628   Security of E-Systems and NetworksCredits: 3   

Prerequisite: CS-518, passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): CISEL

The fundamental techniques in security of e-based Systems and Computer Networks. E-based systems are ubiquitous in the modern world with applications spanning e-commerce, e-government, e-services, Virtual Private Networks (VPNs), health care, and government organizations. Deals with the fundamental concepts and tools of security of e-based systems and computer networks and its range of applications. The topics to be covered include: authentication of users, system integrity, confidentiality of communication, availability of business service, non-repudiation of transactions, public key cryptosystems, authentication and digital signature, e-security tools such as Public Key Infrastructure (PKI) systems, biometric-based security systems, trust management systems in communication networks, intrusion detection systems, protecting against malware, and computer network security risk management. Intended for graduate students in computer science, software engineering, and electrical engineering who have some background in computer networks and fundamentals of computer security.

Course usage information

CS-635   Wireless Network Systems and SecurityCredits: 3   

Prerequisite: CS-514, passed with a grade of B- or higher.

Term Offered: All Terms

Course Type(s): CISEL

Fundamental techniques in the design, operation, performance evaluation, and security of wireless network systems. Among the topics covered are first, second, third, and fourth generation wireless systems, cellular wireless networks, medium access techniques, physical layer, protocols (AMPS, IS-95, IS-136, GSM, GPRS, EDGE, WCDMA, cdma2000, etc.), fixed wireless systems, personal area networks (PANs) including Bluetooth and Home RF systems, wireless local area network(WLAN) technologies, architectures, protocols, and standards, and advanced topics. Security of WLANs, wireless sensor networks (WSNs), cellular systems, and Bluetooth and Home RF networks will be dealt with as well. Intended for graduate students in computer science, software engineering, and electrical engineering who have some background in computer networks.

Course usage information

CS-661   Computer Science Advanced ProjectCredits: 3   

Prerequisites: Completion of all foundation and core courses and departmental approval.

Term Offered: All Terms

Course Type(s): CISEL

A challenging project, such as the development of a large, complex program, done under the supervision of a faculty member.

Course usage information

CS-691   Computer Science Thesis ICredits: 3   

Prerequisites: Completion of all foundation and core courses and departmental approval.

Term Offered: All Terms

Course Type(s): None

Independent investigation of special topics reflecting the research interests of the sponsoring professor. Provides students with an opportunity to do extended relevant research in collaboration with, or under the supervision of, a faculty member. Sequential registration of one or more credits is required until successful completion. (Minimum of six credits must be accumulated.)

Course usage information

CS-692   Computer Science Thesis IICredits: 3   

Prerequisite: CS-691.

Term Offered: All Terms

Course Type(s): None

Independent investigation of special topics reflecting the research interests of the sponsoring professor. Provides students with an opportunity to do extended relevant research in collaboration with, or under the supervision of, a faculty member. Sequential registration of one or more credits is required until successful completion. (Minimum of six credits must be accumulated.)

Course usage information

CS-698   Advanced Special TopicsCredits: 3   

Prerequisite: CS-503, passed with a grade of B or higher or as announced in the course schedule.

Term Offered: All Terms

Course Type(s): CISEL

The advanced subject matter varies with the interest of the students and of the professor. The full syllabus for a specific offering will be filed with the STE and Graduate School Deans when it is scheduled. The exact nature of the topic covered in any given semester is indicated in the student's transcript.

Course usage information

CS-699   Independent Study in Computer ScienceCredits: 3   

Prerequisites: A minimum GPA of 3.50; completion of all foundation and core courses and departmental approval.

Term Offered: All Terms

Course Type(s): CISEL

Independent study of a subject not substantially treated in a regular graduate course. Designed for students with superior abilities who, with guidance and direction from the supervising faculty member, can master a new subject. (Limited to students who have not yet taken CS-699.)

Course usage information

IT-500   Information TechnologyCredits: 3   

Term Offered: All Terms

Course Type(s): None

Introduction to computer-based information management concepts that provide an integrated approach to personal computer software in a Windows environment. These include: word processing, spreadsheet, database, presentation graphics, and electronic communication applications; information retrieval from the Internet and online library resources; fundamental computer literacy; and the ethical and societal implications of computer technology. Hands-on experience with a microcomputer in a networked environment is provided for completion of individual and group projects. This course is appropriate only for students from non-technology areas of study.

Course usage information

IT-510   Internet TechnologyCredits: 3   

Prerequisite: IT-500.

Term Offered: All Terms

Course Type(s): None

Introduction to integrated application software used for authoring and publishing Web sites. Applications include, preprogrammed software, markup programming and Internet scripting languages used to create Web pages. Network technologies and the fundamental concepts involved in creating a network and in facilitating network operation will also be introduced. Hands-on experience with a microcomputer on a networked system is provided for completion of individual and group projects. This course is appropriate only for students from non-technology areas of study.

Course usage information

MIS-514   NetworksCredits: 3   

Term Offered: All Terms

Course Type(s): None

An introductory-level course on the hierarchy of networking software and hardware. Particular emphasis on Medium Access Control, Network layer, Transport layer, and Session layer. Several MAC-layer protocols, TCP/IP. Also listed as CS-514.

Course usage information

MIS-517   Database Design and ManagementCredits: 3   

Prerequisite: CS-503, passed with a grade of B or higher.

Term Offered: All Terms

Course Type(s): None

Introduction to database systems, data modeling, design theory and methodologies, query languages and query processing. Coverage of relational database model and design, normalization process, SQL, hands-on database design and application development. Also listed as CS-517.

Course usage information

MIS-525   Information System ArchitectureCredits: 3   

Prerequisite: MIS-565 or SE-565.

Term Offered: All Terms

Course Type(s): None

Serves as an introduction to information systems architecture. The topics covered deal with an introduction to database systems, data models, the relational database model, the entity relation model, normalization, advanced data modeling, SQL, database design, transactions, performance, distributed database systems, and data warehouses. For MSIS students only.

Course usage information

MIS-550   Software Project ManagementCredits: 3   

Prerequisite: SE-505.

Term Offered: Fall Term

Course Type(s): None

Project Management techniques and their application to the management of software projects. How to develop a software development plan and its associated tasks, milestones and deliverables. Software project scheduling and the establishment of relationships among the different tasks. Tasks, dependencies and conflict resolution. Resource management and allocation. Software project cost estimation. Algorithmic models for estimating costs: the COCOMO model and its derivatives. Risk assessment and its impact in the planning and scheduling of software projects. Software project measurement and tracking. Comparative review of software tools for software project management. Software configuration management and its importance in the management of large software projects. For MSIS students only.

Course usage information

MIS-551   Software Organization ManagementCredits: 3   

Prerequisite: SE-505.

Term Offered: Spring Term

Course Type(s): None

Management issues regarding the software process. Authority and delegation. Leadership and leadership paradigms. Software team management organization, staffing and evaluation. Organizational alternatives. Centralized vs. decentralized organizations. Managing design, development and testing teams. Managing software support organizations. Strategies for staffing: minimal vs. redundant staffing. Combining generalists and specialists to achieve an optimal staff configuration. Staff development and growth. Fostering professional growth within the organization. Evaluation strategies and techniques. Compensation and reward issues. For MSIS students only.

Course usage information

MIS-565   Software System RequirementCredits: 3   

Prerequisites: CS-501A, SE-505, and SE-511.

Term Offered: All Terms

Course Type(s): None

Students will learn advanced methods in software systems requirements. Ideally, these methods should be applied at the system, enterprise or global levels of software development. Methods in requirements elicitation, modeling of enterprises, prioritization and negotiation of requirements will be emphasized. Methods for including COTS into system applications and product families will be introduced. By the end of the course, students will master the standard documentation of system requirements. Many opportunities for hands-on experience with requirement tools will be provided throughout the course. For MSIS students only.

Course usage information

MIS-575   Software Verification, Validation and MaintenanceCredits: 3   

Prerequisites: CS-501A and SE-505.

Term Offered: Fall Term

Course Type(s): None

Explores the techniques employed to insure quality in a software product developed in a controlled and disciplined environment. Detailed examination of software testing and inspection principles and methodologies. Provides specific methods for test case selection and inspection development leading to optimization of resource management in the software environment. For MSIS students only.

Course usage information

MIS-588   Information Systems Practice and ExperienceCredits: 1   

Term Offered: All Terms

Course Type(s): None

Provides opportunity for international Information Systems graduate students on an F1 student visa to obtain related experience via employment at a local company or institution, with Monmouth University sponsorship. Available only to Information Systems graduate students who have completed at least 18 credit hours of graduate courses (500-600 level), with a minimum GPA of 3.00. This course does not satisfy elective requirements. Students may take this course a maximum of two times. Limited to MSIS students on an F1 Student Visa. This is a pass/fail course.

Course usage information

MIS-623   Management Information SystemsCredits: 3   

Term Offered: All Terms

Course Type(s): None

A survey of the concepts of management information systems and the information needs of management. A user-oriented introduction to the fundamentals of information systems and their integration into business organizations. Also listed as SE-623. Not open to students who have successfully completed BM-520.

Course usage information

MIS-691   Management Information System Thesis ICredits: 3   

Prerequisites: BM-520, MIS-525, MIS-565, and either MIS-517 and MIS-514 and MIS-575 or BM-565 and MIS-550 and MIS-551.

Term Offered: All Terms

Course Type(s): None

First semester of independent research in management information systems, spanning a period of two consecutive semesters in an area not substantially covered in a regular course offering, under the supervision of a faculty member. A formal thesis is required. An oral defense of the thesis before a committee of two faculty members who teach MIS courses, plus the advising professor is required. Depending on the topic, a reviewer from outside the program faculty may be asked to serve as a committee member. For MSIS students only.

Course usage information

MIS-692   Management Information System Thesis IICredits: 3   

Prerequisite: MIS-691.

Term Offered: All Terms

Course Type(s): None

Second semester of independent research in management information systems, spanning a period of two consecutive semesters in an area not substantially covered in a regular course offering, under the supervision of a software engineering faculty member. A formal thesis is required. An oral defense of the thesis before a committee of two faculty members who teach MIS courses, plus the advising professor is required. Depending on the topic, a reviewer from outside the program faculty may be asked to serve as a committee member. For MSIS students only.

Course usage information

MIS-695A   Management Information System Practicum ICredits: 3   

Prerequisites: BM-520 or BM-623 and MIS-525 and MIS-565.

Term Offered: All Terms

Course Type(s): None

A two-semester course sequence with major emphasis on a hands-on, team-oriented software development project. Students will be asked to form groups of three to five persons, which will work as a team whose purpose will be propose, plan, develop and market a software product. The teamwork exercise will be accompanied by readings, lectures and seminar discussions on economics, organizational behavior and management, managerial and financial accounting, finance, marketing, quantitative business modeling, electronic commerce, logistics, ethics, law and social responsibility. For MSIS students only.

Course usage information

MIS-695B   Management Information System Practicum IICredits: 3   

Prerequisite: MIS-695A.

Term Offered: All Terms

Course Type(s): None

A two-semester course sequence with major emphasis on a hands-on, team-oriented software development project. Students will be asked to form groups of three to five persons, which will work as a team whose purpose will be to propose, plan, develop and market a software product. The teamwork exercise will be accompanied by readings, lectures and seminar discussions on economics, organizational behavior and management, managerial and financial accounting, finance, marketing, quantitative business modeling, electronic commerce, logistics, ethics, law and social responsibility. For MSIS students only.

Course usage information

SE-505   Principles of Software EngineeringCredits: 1.5   

Course Type(s): None

Basic introduction to software engineering. Justification that software engineering is an engineering discipline. The two main components of the software engineering discipline- the software product and software process-will be discussed in detail. For design and verification, there will be a focus on traditional Structured-Analysis method. Limited to Software Engineering students only.

Course usage information

SE-511   Object-Oriented AnalysisCredits: 1.5   

Prerequisite: SE-505.

Course Type(s): CISEL

Introduces the development of the requirements and analysis model for a software application. Uses object-oriented methodologies. This is not a programming course. Limited to Software Engineering students only.

Course usage information

SE-512   Object-Oriented DesignCredits: 1.5   

Prerequisite: SE-511.

Course Type(s): CISEL

Introduces the design of a software application. Uses object-oriented methodologies. This is not a programming course. Limited to Software Engineering majors only.

Course usage information

SE-515   Disciplined Software DevelopmentCredits: 3   

Prerequisite: SE-505.

Term Offered: All Terms

Course Type(s): None

Introduces the need for an engineering approach to software, through a motivational discussion of the so-called "software crisis" and a presentation of software development processes at the various degrees of granularity; this ranges from organizational processes to team and individual engineers' processes. Provides practical experiences with the Personal Software Process. A software process is defined as a set of guidelines, activities, and methods that engineers use to develop and maintain software. Without a software process, most projects are over budget and behind schedule, since successful efforts cannot be guaranteed. The success of a project depends greatly upon the experience and discipline of the engineers. Limited to Software Engineering students.

Course usage information

SE-565   Software System RequirementsCredits: 3   

Prerequisites: CS-501A, SE-505, and SE-511.

Term Offered: All Terms

Course Type(s): CISEL

Students will learn advanced methods in software system requirements. Ideally, these methods should be applied at the system, enterprise or global levels of software development. Methods in requirements elicitation, modeling of enterprises, prioritization and negotiation of requirements will be emphasized. Methods for including Commercial Off-the Shelf (COTS) system applications and product families will be introduced. By the end of the course, students will master the standard documentation of system requirements. Many opportunities for hands-on experience with requirements tools will be provided throughout the course.

Course usage information

SE-571   Software Design and Systems ArchitectureCredits: 1.5   

Prerequisite: SE-565.

Course Type(s): CISEL

Introduces software application design and system architecture in terms of the design process, design principles, design notations, design tools, design heuristics, and design patterns. Covers application and system design in detail concentrating on developing designs that are complete, correct, robust, implementable, and deployable. Limited to Software Engineering students only.

Course usage information

SE-572   Enterprise and Global ArchitectureCredits: 1.5   

Prerequisite: SE-571.

Course Type(s): CISEL

Introduces architectural design at the Enterprise and Global Architectural levels. Provides students with an understanding of how new systems are brought into an organization to interoperate with an existing system, how systems are maintained throughout their lifecycle, and how systems are retired at the end of their lifecycle. Also provides students with an understanding of how the computing capabilities of a company fits into the larger scope of the Internet. Limited to Software Engineering students only.

Course usage information

SE-575   Software Verification, Validation and MaintenanceCredits: 3   

Prerequisites: CS-501A and SE-505.

Term Offered: Fall Term

Course Type(s): None

Covers software verification, validation and maintenance. The first half of the course includes inspections of requirements, design and code as well as testing. The second half addresses the handling of change requests, software evolution, code comprehension, and change management. It will include hands-on experience with a change management system and an automated testing tool.

Course usage information

SE-580   The Process of Engineering SoftwareCredits: 3   

Prerequisites: CS-503 and SE-505.

Term Offered: Spring Term

Course Type(s): None

Students will learn how to define, apply and improve a software process. The basic components of a software process will be introduced, as well as the most influential process models. Students will experiment with both plan-based and agile methods of software development. The need for continuous process quality assessment and improvement will be described. Models such as CMM, ISO9001 will be introduced as reference models for organizations process models.

Course usage information

SE-588   Software Practice and ExperienceCredits: 1   

Term Offered: All Terms

Course Type(s): None

Provides opportunity for Software Engineering graduate students to obtain related experience in employment at a local company or institution, with Monmouth University sponsorship. Available to Software Engineering graduate students who have completed at least eighteen credit hours of graduate courses (500-level), with a minimum GPA of 3.00. Does not satisfy elective requirements. Students may take this course a maximum of two times. This is a pass/fail course.

Course usage information

SE-601   Outsourcing: Specifications and StrategiesCredits: 3   

Prerequisites: SE-565 and SE-571.

Term Offered: Fall Term

Course Type(s): None

Covers issues associated with outsourcing software development in a fashion that assures delivery of acceptable products. The emphasis is on basic factors that determine the effectiveness of outsourcing, strategies for minimizing risk, project tracking, contract-specified breakpoints, and requirements.

Course usage information

SE-602   Technology AssessmentCredits: 3   

Prerequisites: SE-565 and SE-571.

Term Offered: All Terms

Course Type(s): None

Covers the practicalities of assessing a technology for use in delivery of products. It examines how new tools, processes, and training fit into an overall technology-adoption decision.

Course usage information

SE-603   MOST ImplementationCredits: 3   

Prerequisites: SE-565 and SE-571.

Term Offered: Spring Term

Course Type(s): None

A practical application of MOST concepts by following the process of adopting a new technology and putting the appropriate elements into an organization. Focuses on technology assessment, cost, scheduling, training, and project management.

Course usage information

SE-605   Software Implementation and ReuseCredits: 3   

Prerequisites: SE-565 and SE-571.

Term Offered: All Terms

Course Type(s): None

Explores contemporary topics in systematic software implementation and reuse. Includes the impact of Object-Based and Object-Oriented Design and Programming with Ada83, Ada95, and C++ along with Domain Engineering on the software development process. Concentrates on the practical aspects of applying architecture-centric, domain-specific, library-based reuse methodologies integrated with the software development process to create software systems in an efficient, cost-effective manner. Illustrates how object-oriented and domain-engineering techniques coupled with domain-specific libraries can be used to effectively develop significant software systems in a short period of time, frequently realizing reuse on the order of 70% or more. Libraries of object-based reusable software components will be used to design and implement solutions to problems.

Course usage information

SE-610   Software Systems SecurityCredits: 3   

Prerequisite: SE-505.

Term Offered: Fall Term

Course Type(s): None

Threats, vulnerabilities, and attacks to network- based systems, Heuristic procedures for breaking systems. UNIX and Internet case studies. Security modeling techniques including Bell-Lapadula, Biba, and Clark-Wilson. Composition of non-deducibility and noninterference security. Safeguard techniques including cryptographic protocols, online auditing and intrusion detection, access control, Internet firewalls, authentication, security kernel design, and trusted software development. Case studies in database security and secure network design.

Course usage information

SE-611   Secure Web Services DesignCredits: 3   

Prerequisite: SE-565.

Term Offered: All Terms

Course Type(s): None

Web applications present a complex set of security issues for architects, designers, and developers. The most secure and hack-resilient Web applications are those that have been built from the ground up with security in mind. This course focuses on principles of secure Web applications design. Topics include threats and counter measures, security in Web service frameworks, session control, access control, and data protection.

Course usage information

SE-615   Usability Engineering/Human-Computer InteractionCredits: 3   

Prerequisite: SE-565.

Term Offered: Spring Term

Course Type(s): None

Explores the requirements analysis, design and evaluation of the Computer User Interface in the context of Software Engineering Processes. Specific methods and design problems will be illustrated with real-world examples in information technology, the Internet, communications, mobility, multimedia, and speech technologies. Prepares students to perform usability tasks directly or to successfully manage and collaborate with usability experts.

Course usage information

SE-616   Extensible Markup Language (XML)Credits: 3   

Prerequisite: CS-501B.

Term Offered: All Terms

Course Type(s): None

Presents XML fundamental concepts, XML as a document format, XML as a data format, and special topics in using XML.

Course usage information

SE-620   Networked Software Systems ICredits: 3   

Prerequisites: SE-565 and SE-571.

Term Offered: Fall Term

Course Type(s): None

Network Computing Models, Concepts and Requirement specification; Techniques for Interprocess Communication; Message Passing; Remote Procedures Calls; Directory Service; Synchronization; Task Partition and Allocation; Threads; Security and Authentication; Time Management.

Course usage information

SE-621   Networked Software Systems IICredits: 3   

Prerequisite: SE-620.

Term Offered: Spring Term

Course Type(s): None

Distributed File Systems, Replication, Shared Data, Transactions, Distributed Operating Systems, Micro Kernels, Network Operating Systems, Computing Environments and Toolkits: ONC, DCE, ISIS, Languages.

Course usage information

SE-623   Management Information SystemsCredits: 3   

Term Offered: All Terms

Course Type(s): None

A survey of the concepts of management information systems and the information needs of management. A user-oriented introduction of the fundamentals of information systems and their integration into business organizations. Also listed as MIS-623. Not open to students who have successfully completed BM-520.

Course usage information

SE-625   Information Systems ArchitectureCredits: 3   

Prerequisites: SE-565 or MIS-565.

Term Offered: Fall Term

Course Type(s): None

Theoretical and practical issues related to the modeling and design of information systems to support medium to large organizations. The Target Architecture and its roles in building enterprise-wide information systems. Operational, warehouse, departmental, and individual-level data. Data modeling levels and associated constructs: Entity-Relationship Diagrams, Data Item Sets, Physical Data Models. Process modeling levels and associated constructs: Functional decomposition, Context diagrams, Data Flow Diagrams, State transition Diagrams, HIPO charts, Pseudo-code and programming specs. Relationship with Object-based modeling.

Course usage information

SE-626   Information Systems EngineeringCredits: 3   

Prerequisite: SE-625.

Term Offered: All Terms

Course Type(s): None

Theoretical and practical issues related to the implementation of information systems to support medium to large organizations. Databases within the Target Architecture and their role in building enterprise-wide information systems. Logical vs. Physical database design. Transaction Processing (TPS) and Decision Support Systems (DSS): similarities and differences. Knowledge-based systems. Implementation issues; reliability, integrity, security, performance, scalability and maintainability. Review of existing commercial tools and environments for building, using and maintaining Information Systems for the enterprise.

Course usage information

SE-630   Real Time Software Analysis and SpecificationCredits: 3   

Prerequisites: CS-503 and SE-505.

Term Offered: Fall Term

Course Type(s): None

Scheduling policies and mechanisms. Classification of Real-Time Systems: hard, soft; uniprocessor, multiprocessor, distributed. Kernels and executives. Real-time programming languages and their tasking systems. Real-Time distributed systems; processor and communication scheduling domains, priority inversions and mappings, global time synchronization. Real-Time Structured Analysis (TTSA), CASE tools for RTSA, Real-Time Object Oriented Analysis methods. Comparison to RTSA. Prototyping real-time software systems. Using prototype tools like CAPS (Computer Aided Prototyping System) to establish and validate system requirements.

Course usage information

SE-631   Real-Time Software Design and ImplementationCredits: 3   

Prerequisite: SE-630.

Term Offered: Spring Term

Course Type(s): None

Criteria and trade-off for partitioning the functions of a real-time system among the hardware, firmware, and software. The interfaces of a real-time system to the external environments such as sensors and actuators. Designing real-time systems: structured and object-oriented methods. Case studies and comparison between the two. Design verification and validation. Implementation of Real-Time Systems. Development environments and tools: Simulators, Emulators and Debuggers. Testing Real-Time systems. Test coverage and regression testing. Special approaches for Real-Time software testing. Engineering and organizational issues in real-time software development. Performance testing and its importance in real-time systems.

Course usage information

SE-650   Software Project ManagementCredits: 3   

Prerequisite: SE-505.

Term Offered: Fall Term

Course Type(s): None

Project management techniques and their application to the management of software projects. How to develop a software development plan and its associated tasks, milestones and deliverables. Software project scheduling and the establishment of relationships among the different tasks. Tasks, dependencies and conflict resolution. Resource management and allocation. Software project cost estimation. Algorithmic models for estimating costs: the COCOMO model and its derivatives. Risk assessment and its impact in the planning and scheduling of software projects. Software project measurement and tracking. Comparative review of software tools for software project management. Software configuration management and its importance in the management of large software projects. Also listed as MIS-550. For Software Engineering students only.

Course usage information

SE-651   Software Organization ManagementCredits: 3   

Prerequisite: SE-505.

Term Offered: Spring Term

Course Type(s): None

Management issues regarding the software process. Authority and delegation. Leadership and leadership paradigms. Software Team management: organization, staffing and valuation, organizational alternatives. Centralized vs. Decentralized organizations. Managing design, development and testing teams. Managing software support organizations. Strategies for staffing: minimal vs. redundant staffing. Combining generalists and specialists to achieve an optimal staff configuration. Staff development and growth. Fostering professional growth within the organization. Evaluation strategies and techniques. Compensation and reward issues.

Course usage information

SE-652   Software Quality ManagementCredits: 3   

Prerequisites: SE-565 and SE-571.

Term Offered: All Terms

Course Type(s): None

Designed to help students develop a broad understanding of the requirements and consideration in planning, managing, and implementing a software project with special emphasis on teams, quality, process, and measurement. This experiential course involves two iterations of a team project which help students learn how to apply specific software engineering practices and understand their value (or lack of value) to specific projects. The main themes include in-depth coverage of process models, such as CMMI and ISO 9000, as well as specific practices such as Risk Management, Configuration Management, Team Development, Inspections, and practical applications of Measurement.

Course usage information

SE-660   Computer System ArchitectureCredits: 3   

Prerequisite: CS-503.

Term Offered: All Terms

Course Type(s): None

Computer system interconnection structures, central processing unit, control unit, microprogrammed control, memory organization, cache and virtual memory, computer arithmetic, RISC processor, introduction to parallel processing, and case studies.

Course usage information

SE-691   Software Engineering Thesis ResearchCredits: 3   

Prerequisites: SE-565, SE-571, and SE-580.

Term Offered: All Terms

Course Type(s): None

Independent research in software engineering, spanning a period of two consecutive semesters in an area not substantially covered in a regular course offering, under the supervision of a software engineering faculty member. A formal thesis is required. An oral defense of the thesis before a committee of two faculty members, plus the advising professor is required. Depending on the topic, a reviewer from outside the software engineering department may be asked to serve as a committee member. Limited to Software Engineering majors.

Course usage information

SE-692   Software Engineering Thesis ResearchCredits: 3   

Prerequisites: SE-691 and prior permission of the advising professor.

Term Offered: All Terms

Course Type(s): None

Independent research in software engineering, spanning a period of two consecutive semesters in an area not substantially covered in a regular course offering, under the supervision of a software engineering faculty member. A formal thesis is required. An oral defense of the thesis before a committee of two faculty members, plus the advising professor is required. Depending on the topic, a reviewer from outside the software engineering department may be asked to serve as a committee member. Limited to Software Engineering majors.

Course usage information

SE-695A   Software Engineering PracticumCredits: 3   

Prerequisites: SE-565, SE-571, and SE-580.

Term Offered: All Terms

Course Type(s): None

A two-semester course sequence with major emphasis on hands-on, team-oriented large software development projects. Students will be asked to form groups of three to five persons, who will work as a software team whose purpose will be to develop a software product. The particular product will be chosen through negotiation with the instructor. Teams will operate in accordance with a well-defined set of policies and procedures (documented in an SE Handbook) that governs the entire development process. This document process addresses work products, roles, activities, entry and exit criteria, reviews and audits, documented procedures, and training. The practicum will also include the use of a set of approved tools. Additional software project management topics such as planning, estimation, and tracking will be covered. Project management techniques and their application to the management of software projects. How to define a software development plan, its associated tasks, milestones, and deliverables. Software project scheduling and the establishment of relationships among the different tasks. Task dependencies and conflict resolution. Resource management and allocation. Software project cost estimation. Algorithmic models for estimating costs: the COCOMO model and its derivatives. Risk assessment and its impact in the planning and scheduling of software projects. Software project measurement and tracking. Comparative review of software tools for software project management. Software configuration management and its importance in the management of large software projects. The students will be asked to serve in team roles, hold oral reviews, and prepare documentation appropriate to their project. Students in the class will participate in the reviews of other teams in the class. At the end of the second semester, each team will give a formal presentation on the project. Limited to Software Engineering majors.

Course usage information

SE-695B   Software Engineering PracticumCredits: 3   

Prerequisite: SE-695A.

Term Offered: All Terms

Course Type(s): None

A two-semester course sequence with major emphasis on hands-on, team-oriented large software development projects. Students will be asked to form groups of three to five persons, who will work as a software team whose purpose will be to develop a software product. The particular product will be chosen through negotiation with the instructor. Teams will operate in accordance with a well-defined set of policies and procedures (documented in an SE handbook) that governs the entire development process. This documented process addresses work products, roles, activities, entry and exit criteria, reviews and audits, documented procedures, and training. The practicum will also include the use of a set of approved tools. Additional software project management topics such as planning, estimation, and tracking will be covered. Project management techniques and their application to the management of software projects. How to define a software development plan, its associated tasks, milestones, and deliverables. Software project scheduling and the establishment of relationships among the different tasks. Task dependencies and conflict resolution. Resource management and allocation. Software project cost estimation. Algorithmic models for estimating costs: the COCOMO model and its derivatives. Risk assessment and its impact in the planning and scheduling of software projects. Software project measurement and tracking. Comparative review of software tools for software project management. Software configuration management and its importance in the management of a large software project. Students will be asked to serve in team roles, hold oral reviews, and prepare documentation appropriate to their project. Students will participate in the reviews of other teams in the class. At the end of the second semester, each team will give a formal presentation on the project. Limited to Software Engineering majors.

Course usage information

SE-698   Special Topics in Software EngineeringCredits: 3   

Prerequisite: Approval of the department.

Term Offered: All Terms

Course Type(s): None

The subject matter varies with the interest of the students and of the professor teaching the course. The exact nature of the topic covered in any given semester is indicated in the student's transcript.

Course usage information

SE-699   Individual Research Project in Software EngineeringCredits: 3   

Prerequisite: Approval of the department.

Term Offered: All Terms

Course Type(s): None

The development and execution of a significant research project designed by the student in consultation with a software engineering professor. An experience meant to focus learning on an area of special interest to the student.