Course Descriptions
Comp Sci/Software Engineering Courses
-
CSSE 5150 Software Engineering
CSSE 5150 Software Engineering
Credit Hours: 3
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. Advanced topics will be achieved a variety of ways including a selection of the following: research projects, design projects, research poster presentation at a college/university symposium.
-
CSSE 5250 Software Design Techniques
CSSE 5250 Software Design Techniques
Credit Hours: 3
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.
-
CSSE 5270 User Interface Engineering
CSSE 5270 User Interface Engineering
Credit Hours: 3
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.
-
CSSE 5280 Database Systems
CSSE 5280 Database Systems
Credit Hours: 3
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.
-
CSSE 5310 Data Mining
CSSE 5310 Data Mining
Credit Hours: 3
Classification, prediction, regression, clustering, association, sequencing, characterization and comparison, decision trees, statistical methods, rule induction, memory-based reasoning, , K-nearest neighbor method, mining relational databases, mining website data, mining text, mining multimedia, mining spatial databases. Advanced topics will be achieved a variety of ways including a selection of the following: research projects, design projects, research poster presentation at a college/university symposium.
-
CSSE 5430 Software Systems Verification
CSSE 5430 Software Systems Verification
Credit Hours: 3
Software verification methods, software testing, software analysis, CASE tools, formal verification basis, testing and debugging of software systems, software systems projects.
-
CSSE 5440 Web Technology
CSSE 5440 Web Technology
Credit Hours: 3
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.
-
CSSE 5470 Software Configuration
CSSE 5470 Software Configuration
Credit Hours: 3
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.
-
CSSE 5480 Artificial Intelligence
CSSE 5480 Artificial Intelligence
Credit Hours: 3
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.
-
CSSE 5500 Software Quality Engineering
CSSE 5500 Software Quality Engineering
Credit Hours: 3
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.
-
CSSE 5510 Parallel Systems
CSSE 5510 Parallel Systems
Credit Hours: 3
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.
-
CSSE 5520 Architectures for Software Systems
CSSE 5520 Architectures for Software Systems
Credit Hours: 3
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.
-
CSSE 5540 Software Configuration
CSSE 5540 Software Configuration
Credit Hours: 3
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.
Prerequisites:
- CSSE 5150 (Minimum Grade of C, May not be taken concurrently)
-
CSSE 5550 Software Requirements Engineering
CSSE 5550 Software Requirements Engineering
Credit Hours: 3
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.
-
CSSE 5570 Software Systems Project Management
CSSE 5570 Software Systems Project Management
Credit Hours: 3
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. Advanced topics will be achieved a variety of ways including a selection of the following: research projects, design projects, research poster presentation at a college/university symposium.
-
CSSE 5590 Advanced Computer Simulation
CSSE 5590 Advanced Computer Simulation
Credit Hours: 3
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.
-
CSSE 5600 Software Maintenance
CSSE 5600 Software Maintenance
Credit Hours: 3
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.
Prerequisites:
- CSSE 5150 (Minimum Grade of C, May not be taken concurrently)
-
CSSE 5610 Software Testing
CSSE 5610 Software Testing
Credit Hours: 3
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.
Prerequisites:
- CSSE 5150 (Minimum Grade of C, May not be taken concurrently)
-
CSSE 5650 Bioinformatics
CSSE 5650 Bioinformatics
Credit Hours: 3
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.
-
CSSE 5670 Distributed Processing
CSSE 5670 Distributed Processing
Credit Hours: 3
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.
-
CSSE 5700 Applied Cryptology and Network Security
CSSE 5700 Applied Cryptology and Network Security
Credit Hours: 3
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. Advanced topics will be achieved a variety of ways including a selection of the following: research projects, design projects, research poster presentation at a college/university symposium.
-
CSSE 5710 Software Engineering Metrics
CSSE 5710 Software Engineering Metrics
Credit Hours: 3
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.
Prerequisites:
- CSSE 5150 (Minimum Grade of C, May not be taken concurrently)
-
CSSE 5730 Graduate Seminar in Software Engineering
CSSE 5730 Graduate Seminar in Software Engineering
Credit Hours: 3
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).
-
CSSE 5750 Bioinformatics Algorithms
CSSE 5750 Bioinformatics Algorithms
Credit Hours: 3
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.
-
CSSE 5850 Advanced Topics in Software Engineering
CSSE 5850 Advanced Topics in Software Engineering
Credit Hours: 3
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.
-
CSSE 5900 Advanced Topics in Computer Science
CSSE 5900 Advanced Topics in Computer Science
Credit Hours: 3
Advanced topics of current interest are covered. Course may be repeated for additional credit.
-
CSSE 5930 Graduate Design Project
CSSE 5930 Graduate Design Project
Credit Hours: 3
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.
-
CSSE 5950 Software Engineering Thesis
CSSE 5950 Software Engineering Thesis
Credit Hours: 3 OR 6
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 CSSE 5930.
-
CSSE 5990 Master's Thesis in Computer Science
CSSE 5990 Master's Thesis in Computer Science
Credit Hours: 3 OR 6
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 CSSE 5930.