Graduate Catalog 2008-2009
UDM Academic PoliciesCourse DescriptionsList of All ProgramsFaculty


CSC 502 Experimental Design in Computer Science
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
MTH 427



Experimental Computer Science Models, Scientific Methods Applied to Computing, Workload Characterization, Forecasting of Performance and Quality Metrics of Systems, Uses of Analytic and Simulation Models, Design of Experiments, Interpretation and Presentation of Experimental Results, Hypothesis Testing, Statistical Analyses of Data, Term Project.
300

CSC 503 Java
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:




Java applications, Java Applets, control structures, methods, arrays, strings and characters, object-oriented programming, graphics and Java 2D, basic graphical user interface components, exception handling, files and streams, and Java utilities.
30000

CSC 504 Object Oriented Programming
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:




This course is designed to introduce object-oriented programming to students who have had a background in traditional, procedural programming. Topics include object-oriented programming techniques, encapsulation, constructors, destructors, overloading, single and multiple inheritance, polymorphism, composition, templates, iterators, member function access, data hiding.
30000

CSC 505 Algorithms and Data Structures
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 503
CSC 504
CSC 503, CSC 504, or equivalent


Review of object oriented principles, standard data structures, big-O notation, NP completeness, stacks, queues, generic data types, dynamic memory, recursion, linked lists, circular lists, doubly linked lists, trees, binary search trees, heaps, graphs, sorting algorithms, searching algorithms, object-oriented language implementation of data structures and algorithms.
30000

CSC 510 Algorithm and Tools in Software Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 443



Best case, Worse case, and Expected Case Complexity analysis, Asymptotic Approximations, Solutions of Recurrence Equations, Probabilistic Techniques, Binomial Heaps, Fibonacci Heap, Graph Algorithms, Divide-and-Conquer, Greedy Approach, Dynamic Programming, Branch and Bound, NP-Completeness, Parallel Algorithms.
300

CSC 515 Software Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours


Software Product, Software Process, System Engineering, Requirements Engineering, Software Design Principles, Architectural Design, Component-Based Design, User Interface Design, Software Testing, Software Metrics, Software Cost Estimation, Software Reliability, Software Reengineering, Object-Oriented Software Engineering, Client-Server Software Engineering, Web Engineering, Formal Methods, Software Maintenance, Software Engineering Ethics, Term Project.
300

CSC 525 Software Design Techniques
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Large-scale Software Systems Design methods, Fundamental Design Concepts, Design Notations, Design Methods Comparison, Structure Design, State-Based Design, Object-Oriented Design, Engineering Principles of Software Design, Software Design Case Studies, Projects.
300

CSC 527 User Interface Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Principles of user design Interface, user interface development, user Interface programming, adaptive user interface, graphical user design, command language design, natural language interface design, user control systems, projects.
300

CSC 528 Database Systems
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 354



Database system architecture, the relational model, database design, transaction management, security, optimization, missing information, type inheritance, distributed database, decision support, temporal database, logic-based databases, object database, object relational database, projects.
300

CSC 530 Web Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Software engineering methods and technologies for highly interactive web–based applications, software engineering techniques in e-commerce, web site reliability, web site usability, web site security, web sites availability, web site scalability and maintainability, client-server techniques, component-based software development, middleware and reusable components.
300

CSC 531 Data Mining
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 354
CSC 354 or permission of instructor


Classification, prediction, regression, clustering, association, sequencing, characterization and comparison, decision trees, statistical methods, rule induction, memory-based reasoning, genetic algorithms, K-nearest neighbor method, mining relational databases, mining website data, mining text, mining multimedia, mining spatial databases.
300

CSC 532 Intelligent Systems Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours


Symbolic and sub-symbolic reasoning, imprecise and approximate reasoning, fuzzy logic, neural networks, engineering analysis of intelligent systems, intelligent systems design and implementation, basic intelligent systems principles, projects.
300

CSC 535 Systematic Software Systems Development
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 345/CSC 413 and CSC 443


Top-down software development methods, user-defined abstract operations, abstract data types, Vienna development method (VDM), specification techniques, practical applications of the methods, term project.
300

CSC 541 Advanced Compiler Construction
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 345/CSC 413, and CSC 443


Formal languages, grammars, finite-state machine, lexical analysis, parsing, parsing algorithms, error correction, syntax analysis, parse trees, symbol tables, code generation, code optimization. Projects will include developing a compiler for a simple language.
300

CSC 542 Advanced Computation Theory
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
Recommended: CSC 441, and CSC 443


Finite automata, pushdown automata, turing machines, languages, grammars, un-decidability, complexity theory, intractability, recursive functions, recursive sets, computable functions, unsolvable problems, transducers, transition systems.
300

CSC 543 Software Systems Verification
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Software verification methods, software testing, software analysis, CASE tools, formal verification basis, testing and debugging of software systems, software systems projects.
300

CSC 544 Web Technology
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 441
CSC 413
CSC 443



Internetworking, HTTP, HTML, XML, VRML, JavaScript, Perl, UNIX Shells, VBScript, JScript, Java Applets, Common Gate Interface (CGI), Server Side Scripting, Web Servers, Web-Based Databases, Web Security, Electronic-Commerce.
300

CSC 546 Scientific Computing
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
Recommended: CSC 445


Systems of equations, advanced matrix methods, finite elements, partial differential equations, Monte Carlo methods, numerical optimization methods, individual projects.
300

CSC 547 Software Configuration
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Configuration items and CM aggregates, versions and configurations, change requests, promotions and releases, repositories and workspaces, version identification, changes and change sets, configuration documentation, software configuration planning, software configuration tools, projects.
300

CSC 548 Artificial Intelligence
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 443



Intelligent agents, solving problems by searching, informed search methods, game playing, logical reasoning, first-order logic, knowledge bases, inference in first-order logic, learning from observations, learning in neural and belief networks, practical natural language processing, expert systems, intelligent tutoring systems, and case-based reasoning.
300

CSC 549 Graduate Seminar in Computer Science
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours


Students will work on projects related to their area of interests. The instructor will provide a list of topics to choose from. This course should be taken by graduate students in the final year of study.
300

CSC 550 Software Quality Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515
Developing requirements through delivery, maintenance, and process improvements, quality goals, planning and executing quality assurance activities, meeting quality and schedule goals, inspections, manual and automatic analysis techniques, design for testability, test planning and execution, process improvement, projects.


300

CSC 551 Parallel Systems
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 345
CSC 443



Parallel computers, message-passing computing, partitioning strategies, divide-and-conquer strategies, pipelined computations, synchronous computations, load balance, termination detection, programming with shared memory, sorting algorithms, numerical algorithms, image processing, searching and optimization.
300

CSC 552 Architectures for Software Systems
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Describing, evaluating, and creating systems at an architectural level of abstraction, architectural design of complex systems, software system structures, techniques for designing and implementing software system structures, models and formal notations for characterizing and reasoning about architectures, tools for generating specific instances of an architecture, case studies, and projects.
300

CSC 553 Component-Based Software Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Concepts, methods, techniques and tools for systematic reuse of software components, design and re-engineering for reuse, enhancing reuse, domain specific reuse and software architectures, reuse of requirements models, specifications and designs, tools for reuse, methods for component search, case studies and projects.
300

CSC 554 Software Configuration
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Configuration items and CM aggregates, versions and configurations, change requests, promotions and releases, repositories and workspaces, version identification, changes and change sets, configuration documentation, software configuration planning, software configuration tools, projects.
300

CSC 555 Software Requirements Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Tools and techniques for requirements elicitation, requirements specification, requirements analysis, system development and maintenance requirements, problems with specifying requirements, formal modeling of software requirements, prototyping in validating requirements, projects.
300

CSC 557 Software Systems Project Management
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours


Risk and uncertainty management, software project planning, project modeling, project scheduling, resource allocation, software cost management, budget monitoring, quality management, monitoring productivity, team building, communication management, web project management, project documentation, term project.
300

CSC 559 Advanced Computer Simulation
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours


More advanced methodological issues involved in a simulation study, and the ability to conduct and understand simulation research are the objectives of this course. Techniques for increasing model validity and credibility, management’s role in the simulation process, statistical procedures for comparing real-world observations and simulation output data, selecting input probability distributions, random number generators, generating random variates, output data analysis for a single system, comparing alternative system configurations, variance-reduction techniques, and simulation of manufacturing systems are studied. Simulation programs will be written and studied.
300

CSC 560 Software Maintenance
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 525
CSC 525 or permission of instructor


Corrective, adaptive, and perfective maintenance activities, Taute maintenance model, IEEE maintenance process model, choosing a maintenance model, maintainability, code-oriented software maintainability measurement, testability of software, software reuse, reverse engineering, design for maintainability, projects.
300

CSC 561 Software Testing
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Quality management and testing, context of testing, structured testing, master test planning, lifecycles of high-level and low-level tests, development of test strategy, test point analysis and estimation, test specification techniques, checklists for quality characteristics, test control, metrics, test process improvement model, test tools, projects.
300

CSC 562 Software Safety
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Critical systems, safety specifications, security specification, fault minimization, fault-tolerant architectures, safe system design, formal methods and critical systems, reliability validation, safety assurance, security assessment, safety analysis techniques, fault trees, failure modes, effects analysis, projects.
300

CSC 564 Advanced Operating Systems
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 172 or CSC 345, and CSC 443


Distributed operating systems, communication protocols, synchronization of distributed systems, processes and processors, distributed file systems, distributed shared memory. Real time operating systems, file systems, process and multiprocessing, threads and multithreading, scheduling, synchronization, inter task communications.
300

CSC 565 Bioinformatics
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
MTH 427
CSC 345
CSC 413
MTH 427, CSC 345 or CSC413, or permission of instructor.


This course will introduce the algorithms needed to solve many Bioinformatics problems including Mapping DNA, Sequencing DNA, Comparing sequences, Predicting Genes, Finding Signals, Identifying Proteins, Repeat Analysis, DNA Arrays, Genome Rearrangements, and Molecular Evolution. A number of algorithms will be introduced including Exhaustive Search, Greedy Algorithms, Dynamic Programming Algorithms, Divide-and-Conquer Algorithms, Graph Algorithms, Combinatorial Pattern Matching, Clustering and Trees, Hidden Markov Models, and Randomized Algorithms.
30000

CSC 567 Distributed Processing
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:

CSC 172 or CSC 345, and CSC 443


Models and concepts in distributed systems, communications and remote procedure calls, course team project, logical clocks, clock synchronization, high availability, replications and reliable distributed computing, transactions, nested transactions, end-to-end arguments, distributed file systems, security, CORBA, distributed mutual exclusion, real-time systems, rate-monotonic analysis, synchronization and distributed real-time systems.
300

CSC 569 Secure Software Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours


Not for CSC students (see CSC 570 instead). Software security risks, buffer overflows, race conditions, random number generation, identifying toreats and vulnerabilities, eliminating security vulnerabilities, formal techniques, avoiding security holes, building secure software, mobile software security, electronic commerce security, techniques and algorithms for high speed cryptography, DNS security, access control models, firewalls, embedded software security, distributed systems security, authentication in distributed environment, viruses, and TCP/IP security.
300

CSC 570 Applied Cryptology and Network Security
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours


Block Ciphers and Data Encryption Standard, Advanced Encryption Standard, Other Symmetric Ciphers, Confidentiality Using Symmetric Encryption, Public-Key Cryptography And RSA, Key Management; Other Public-Key Cryptosystems, Message Authentication And Hash Functions, Hash And MAC Algorithms, Digital Signatures And Authentication Protocols, Authentication Applications, Electronic Mail Security, IP Security, Web Security, Intruders, Malicious Software, Firewalls, Projects.
300

CSC 571 Software Engineering Metrics
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Software quality metrics, measurement theory and metrics, management metrics, indirect and direct metrics, software cost and schedule estimates, model calibration, software productivity measurements, metrics techniques such as goal-question-metric approach, COCOMO, and function point analysis, projects.
300

CSC 572 Formal Methods in Software Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Formal specification in the software development process, transformational development, structured algebraic specification, model-based specification, languages for software system specification, modeling and abstraction of software systems, analysis and verification of system properties, software system refinement, formal semantics, object-oriented formal methods.
300

CSC 573 Graduate Seminar in Software Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours


This course is designed for students seeking a professional focus to their degree. The student will work independently or within a group under the supervision of a designated faculty member on a project of practical importance in Software Engineering. The students should submit final report and give a final defense of the project (if required).
300

CSC 574 Intrusion Detection Systems
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 569



Network monitoring and analysis, estimating the number and severity of attacks, network-based attacks such as probes and denial of service attacks, host-based attacks such as buffer overflows and race conditions, malicious code such as viruses and worms, intrusion detection and classification methods including artificial immune system, control-loop measurement, data mining, and statistical signature-based methods, techniques for the visualization of network data, projects.
30000

CSC 575 Bioinformatics Algorithms
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
MTH 427
CSC 345 or
CSC 413
or permission of instructor


Introduction to molecular biology, algorithms and complexity, mapping DNA, sequencing DNA, comparing sequences, predicting genes, finding signals, identifying proteins, repeat analysis, DNA micro-arrays, genome rearrangements, and molecular evolution. A number of algorithms will be introduced including exhaustive search, greedy algorithms, dynamic programming algorithms, divide-and-conquer algorithms, graph algorithms, combinatorial pattern matching, clustering and trees, hidden Markov models, and randomized algorithms, projects.
33000

CSC 580 Real-Time Software Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
CSC 515



Dependable software, requirements analysis and specification, software and program design concepts, operating systems for real-time applications, designing and developing real-time software, diagramming methods, designing and constructing software, analyzing and testing source code, development tools, mission-critical and safety-critical systems, and performance engineering.
300

CSC 585 Advanced Topics in Software Engineering
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
Permission of Chair


Advanced topics of current Software Engineering interest, not occurring in the regular course sequence, are covered. Course may be repeated for additional credits when topic is different.
300

CSC 590 Advanced Topics in Computer Science
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:
Permission of Chair


Advanced topics of current interest are covered. Course may be repeated for additional credit.
300

CSC 593 Graduate Design Project
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours

Prerequisites:

This course should be taken in the student's final year of study.


This is a team-oriented project course in which teams define a software system problem, and establish the requirements. Students will then analyze, design, test, implement, and document the proposed software system. Projects can also be solicited from industry, government, health, and education. Whenever possible, teams will be interdisciplinary. Students should take this course in their final term of study.
30000

CSC 595 Software Engineering Thesis
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours


Students will work on a thesis related to their area of interests under the supervision of a faculty member. Graduate students may take this course in the final year of study. Students taking the Software Engineering thesis option are not allowed to take CSC 593.
600

CSC 599 Computer Science Thesis
Credit HoursRecitation/Lecture HoursStudio HoursClinical HoursLab Hours


Students will work on thesis related to their area of interests under the supervision of a faculty member. Graduate students may take this course in the final year of study. Students taking the thesis option are not allowed to take CSC 593.
600

College of Business Administration

Home | Contacts | Policies | Programs | Website

College of Engineering & Science

Home | Contacts | Policies | Programs | Website

College of Health Professions & McAuley School of Nursing

Home | Contacts | Policies | Programs | Website

College of Liberal Arts & Education

Home | Contacts | Policies | Programs | Website

School of Architecture

Home | Contacts | Policies | Programs | Website

School of Dentistry

Home | Contacts | Policies | Programs | Website

School of Law

Home | Contacts | Policies | Programs | Website



For more information about UDM, or to apply online, go to www.udmercy.edu/apply.


Print Friendly Print-friendly