CSC 1710 Intro to Programming I
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Overview of computer organization, algorithm design, introduction to programming in C++, input/output statements, arithmetic expressions, assignment statements, logical expressions, conditional statements, control statements, functions and function calls, math Library, I/O library, character library, introduction to arrays and pointers, program testing and debugging. | 3 | 0 | 0 | | |
CSC 1720 Intro to Programming II
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Built-in and user-defined data types, arrays, lists, strings, records, classes and data abstraction, C++ object-oriented software developments, inheritance, composition, dynamic binding and virtual functions, pointers, dynamic data, reference data types, recursion. | 3 | 0 | 0 | | |
CSC 2710 Assembly Language
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Basic PC architecture, computer number systems and codes, basic components of assembly language, assemblers, directives, linking and executing programs, addressing techniques, symbolic instructions, writing .com programs, logic and control, processing string data, processing binary data, processing ASCII and BCD data, defining and processing tables, macros. | 3 | 0 | 0 | | |
CSC 2750 Computer Ethics
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Students will study the theory and practice of computer ethics. This will include the basis for ethical decision-making and the methodology for reaching ethical decisions concerning computing matters that impact society as well as students' personal and professional lives. | 1 | 0 | 0 | | |
CSC 3170 Linux Systems Programming
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
The Linux Programming Toolkit, input and output, files and directories, process control, threads, accessing system information, memory management, inter-process communications, TCP/IP and socket programming, UDP, multicast sockets, non-blocking I/O, programming the user interface, shell programming, device drivers, package management, projects | 3 | 0 | 0 | | |
CSC 3410 Computer Graphics
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Graphics systems software, graphics systems hardware, object transformation, viewing transformation, rotation, translation, scaling, compositions of transformations, line clipping, polygon clipping, graphics data structures, animation techniques, shading, curves representations, surface representations, texture, image manipulation. | 3 | 0 | 0 | | |
CSC 3450 Obj-Orient Soft Construction
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Object-oriented programming techniques, encapsulation, constructors, destructors, overloading, single and multiple inheritance, polymorphism, composition, templates, iterators, member function access, data hiding, abstract classes, exception handling, projects. | 3 | 0 | 0 | | |
CSC 3540 Database Systems
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Database management, database system architecture, relational databases, SQL, domains, relations, relational algebra, relational calculus, integrity, views, normalization, database security, database connectivity, database programming, projects. | 3 | 0 | 0 | | |
CSC 4130 Java
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 4150 Intro to Software Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Software Processes. Software requirements engineering, system models, architectural design, object-oriented design, software reuse, verification and validation, software testing, software cost, quality management, process improvement. | 3 | 0 | 0 | | |
CSC 4160 Software Testing
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Software Bugs, Black Box Testing, White Box Testing, Static Testing, Dynamic Testing, Testing Specifications, Testing Functions and Data, Functional Testing, Regression Testing, Compatibility Testing, Usability Testing, Test Case Design, Test Metrics, Test Coverage, Testing Tools. | 3 | 0 | 0 | | |
CSC 4400 Software Requirements Engineer
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 4410 Object-Oriented Programming
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. The implementation language will be C++. The course will begin with a description of that part of C++ that is simply part of C (called the kernel language) and then present objects and their implementation in C++. | 3 | 0 | 0 | | |
CSC 4420 Comparative Prog Languages
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Comparison of the principles of high-level programming languages, binding of variables, storage allocation, parameter passing, procedure linking, program structures and the program environment. Computer projects. | 3 | 0 | 0 | | |
CSC 4430 Data Structures
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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, graphics, sorting algorithms, searching algorithms, object-oriented language implementation of data structures and algorithms. | 3 | 0 | 0 | | |
CSC 4440 Web Technology
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Internetworking, HTTP, HTML, XML, JavaScript, Perl, Jscript, Java Applets, CGI, Server-side scripting, Webservers, WebSecurity, E-commerce. | 3 | 0 | 0 | | |
CSC 4450 Numerical Analysis
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Iterative methods, equations in one variable, polynomial approximation, numerical integration and differentiation, polynomial approximation of functions, numerical methods in matrix algebra, least squares method, numerical methods in differential equations including initial value problems, computer projects. | 3 | 0 | 0 | | |
CSC 4490 Operating Systems
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Review of batch processing systems including components, operating characteristics, user service and limitations, implementation techniques for parallel processing of input/output and interrupt handling, overall structure of multiprogramming systems techniques, memory management, file system design and management, system accounting and other user-related services, traffic control, inter-process communication, design of system modules and interfaces, system updating, documentation and operation. Computer projects. | 3 | 0 | 0 | | |
CSC 4520 Advanced Java
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Advanced graphical user interfaces, multi-threading, Java beans, Java networking, Java database connectivity (JDBC), Java Servlets, Java security, remote method invocation (RMI), Java native interface (JNI), Java 2 micro edition, Java programming with CORBA. | 3 | 0 | 0 | | |
CSC 4540 Computer Security
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Computer security software, cryptanalysis techniques, Shannon's Theory, the data encryption standard, public-key cryptography, factoring algorithms, discrete log problems, bit security of discrete logs, signature schemes, cryptography and hash functions, key distribution and agreement, identification schemes, authentication codes, secret sharing schemes. | 3 | 0 | 0 | | |
CSC 4550 Artificial Intelligence
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Introduction to artificial intelligence (AI), intelligent agents, solving problems by searching, informed search methods, agents that reason logically, first-order logic, inference in first-order logic, planning, planning and acting, uncertainty, probabilistic reasoning, learning from observation, AI programming languages, projects. | 3 | 0 | 0 | | |
CSC 4570 Software Project Management
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Project management concepts, project metrics, project planning, risk analysis and management, project scheduling, project tracking, software quality assurance, software configuration management, communicating project information, critical paths, case studies, and term project. | 3 | 0 | 0 | | |
CSC 4590 Computer Simulation & Modeling
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Basic simulation modeling such as in single-server queuing systems, inventory systems, parallel and distributed simulation, continuous and discrete simulation, and Monte Carlo simulation. Modeling of complex systems such as time-shared computer model, multi-teller bank with jockeying, differential equation systems (difference, ordinary, partial), and job-shop models. Discussion of simulation software, review of basic probability and statistics needed in simulation, selecting input probability distributions, and building valid simulation models. Simulation programs will be written and studied. | 3 | 0 | 0 | | |
CSC 4610 Data Mining
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Introduction to data warehousing, data preparation for data mining, classification, association, clustering, prediction, data mining applications, data mining projects. | 3 | 0 | 0 | | |
CSC 4620 Intro to Bioinformatics
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
This course will introduce Molecular Biology and Biological Chemistry, Data Searches and Pairwise Alignments, Substitution Patterns, Distance-Based Methods of Phylogenetics, Character-Based Methods of Phylogenetics, Genomics and Gene Recognition, Protein and RNA Structure Prediction, and Proteomics. Bioinformatics techniques and algorithms will be used. | 3 | 0 | 0 | | |
CSC 4630 Formal Languages
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Java overview, relational database overview, basic methods, callable statements, connection methods, database meta data methods, data truncation class methods, data class and methods, driver methods, driver manager class and methods, driver property info class, prepare statement methods, result set methods, result set meta data methods, SQL exception class and methods, SQL warning class and methods, statement methods, time class, timestamp class, types class, JDBC types, mapping SQL and Java types. | 3 | 0 | 0 | | |
CSC 4640 Parallel Programng
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Overview of parallel hardware and software, parallel programming tools, parallel numerical integration example, collective communication, grouping data for communication, dealing with I/O, debugging parallel programs, design and coding of parallel programs, performance, advanced point-to-point communication, parallel algorithms. | 3 | 0 | 0 | | |
CSC 4650 Win32 Programming
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Development of graphical user interface Windows applications, using class libraries and applications frameworks, menus and toolbars, drawing in a Window, creating documents and improving views, dialogs and controls, writing personal DLLs, connecting to data sources, OLE documents, active-X controls. Computer projects. | 3 | 0 | 0 | | |
CSC 4670 Distributed Computing
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Theory of Distributed Computing, basic algorithms for message passing systems, leader election in rings, mutual exclusion in shared memory, fault-tolerant consensus, causality and time, formal models for simulations, broadcast and multicast, distributed shared memory, fault-tolerant clock synchronization. | 3 | 0 | 0 | | |
CSC 4690 Senior Seminar
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Students prepare and present paper(s) related to their primary area of interest, with approval of the instructor. This course should be taken by computer science majors in their final year of study. | 3 | 0 | 0 | | |
CSC 4900 Special Topics
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Covers some topic of current interest in Computer Science. Topics vary from semester to semester. | 3 | 0 | 0 | | |
CSC 4950 Senior Design Project
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
This is a team-oriented project course in which teams design, implement, test, and document a software system. The instructor will either offer or solicit a selection of projects. Projects may include students from other disciplines. Students should take this course in their final year of study. | 3 | 0 | 0 | | |
CSC 5020 Experimentl Design
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5030 Java
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5040 Object-Oriented Programming
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5050 Algorithms & Data Structures
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5100 Algorithms & Tools in SE
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5150 Software Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 5250 Software Design Techniques
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5270 User Interface Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5280 Database Systems
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5300 Web Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5310 Data Mining
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5320 Intelligent Systems Eng
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 5350 Software Systems Development
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5410 Advanced Compiler Construction
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5420 Advanced Computation Theory
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Finite automata, pushdown automata, turing machines, languages, grammars, un-decidability, complexity theory, intractability, recursive functions, recursive sets, computable functions, unsolvable problems, transducers, transition systems. | 3 | 0 | 0 | | |
CSC 5430 Software Systems Verification
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Software verification methods, software testing, software analysis, CASE tools, formal verification basis, testing and debugging of software systems, software systems projects. | 3 | 0 | 0 | | |
CSC 5440 Web Technology
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5450 Adv Numer Analysis
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Systems of Equations, Advanced Matrix Methods, Finite Elements, Partial Differential Equations, Monte Carlo Methods, Numerical Optimization Methods. Individual Projects. | 3 | 0 | 0 | | |
CSC 5460 Scientific Computing
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Systems of equations, advanced matrix methods, finite elements, partial differential equations, Monte Carlo methods, numerical optimization methods, individual projects. | 3 | 0 | 0 | | |
CSC 5470 Software Configuration
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5480 Artificial Intelligence
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5490 Graduate Seminar in Comp Sci
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 5500 Software Quality Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5510 Parallel Systems
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5520 Architectures for Software Sys
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5530 Component-Based Software Eng
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5540 Software Configuration
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5550 Software Requirements Eng
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5570 Software Project Management
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 5590 Advanced Computer Simulation
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 5600 Software Maintence
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5610 Software Testing
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5620 Software Safety
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5630 Embedded Systems
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Real time UML, introduction to embedded systems, designing real time systems, software installation and setup, hardware setup, real time debugging, keyboard and screen requirements, file systems, interrupts, timers, multitasking, serial I/O, networking in embedded systems, HTTP in embedded applications, Java and embedded development, floating point programming, dynamic link libraries, structured exception handling, ROMing an application. | 3 | 0 | 0 | | |
CSC 5640 Advanced Operating Systems
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5650 Bioinformatics
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5670 Distributed Processing
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5690 Software Sec Engin
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 5700 Cryptology & Network Security
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 5710 Software Engineering Metrics
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5720 Formal Methods
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5730 Graduate Seminar Software Eng
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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). | 3 | 0 | 0 | | |
CSC 5740 Intrusion Detectn
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5750 Bioinformatics Algorithms
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5800 Real-Time Sftw Eng
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5850 Advanced Topics-Software Eng
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5900 Advanced Topics Computer Sci
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Advanced topics of current interest are covered. Course may be repeated for additional credit. | 3 | 0 | 0 | | |
CSC 5930 Graduate Design Project
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
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. | 3 | 0 | 0 | | |
CSC 5950 Software Engineering Thesis
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 5990 Computer Science Thesis
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
|
|