CSC 510 Algorithm and Tools in Software Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 515 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 525 Software Design Techniques
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 528 Database Systems
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 531 Data Mining
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
Classification, prediction, regression, clustering, associate, 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 535 Systematic Software Systems Development
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 541 Advanced Compiler Construction
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 542 Advanced Computation Theory
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
Recommended: CSC 441, and CSC 443
Finite Automata, Pushdown Automata, Turing Machines, Languages, Grammars, Undecidability, Complexity Theory, Intractability, Recursive Functions, Recursive Sets, Computable Functions, Unsolvable Problems, Transducers, Transition Systems. | 3 | 0 | 0 | | |
CSC 543 Software Systems Verification
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 544 Web Technology
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 545 Scientific Computing
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
Recommended: CSC 445
Systems of Equations, Advanced Matrix Methods, Finite Elements, Partial Differential Equations, Monte Carlo Methods, Numerical Optimization Methods. Individual Projects. | 3 | 0 | 0 | | |
CSC 546 Software Quality Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 547 Software Configuration
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 548 Artificial Intelligence
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 549 Graduate Seminar in Computer Science
| 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 551 Parallel Systems
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 555 Software Requirements Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 557 Software Systems 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 561 Software Testing
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 563 Embedded Systems Processing
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 172 or CSC 345, and CSC 443
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 564 Advanced Operating Systems
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 567 Distributed Processing
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 569 Advanced IT Security
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
World Wide Security, Mobile Code Security, Internet Commerce Security, Secure Operating Systems Technologies, Techniques and Algorithms for High Speed Cryptography, DNS Security, Access Control Models, Security for Java, JavaScript, and ActiveX, Firewalls, COBRA Security, Authentication in Distributed Environment, Viruses, TCP/IP Security. | 3 | 0 | 0 | | |
CSC 572 Formal Methods in Software Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab 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. | 3 | 0 | 0 | | |
CSC 573 Graduate Seminar in Software Engineering
| 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 590 Advanced Topics in Computer Science
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
Permission of Chair
Advanced topics of current interest are covered. Course may be repeated for additional credit. | 3 | 0 | 0 | | |
CSC 599 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 549. | 6 | 0 | 0 | | |
|
|