Course Descriptions


Comp Sci/Software Engineering Courses

Open All | Close All

  •  

    CSSE 5110 Quantitative Foundations for Data Analysis

    CSSE 5110 Quantitative Foundations for Data Analysis

    Credit Hours: 3

    Hypothesis-testing; statistical methods; interpret statistical analyses; experimental design and analysis of variance, random sampling, and probability distributions; regression; applied linear algebra; forecasting; applications using R.

  •  

    CSSE 5120 Introduction to Data Science

    CSSE 5120 Introduction to Data Science

    Credit Hours: 3

    Data science concepts; problem formulation; manipulation; modeling; analysis; critical thinking and scientific reasoning, methodologies; data science ethics; data science applications across different fields, introduction to Python for data science. This course is normally offered every fall and winter semester.

  •  

    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. This course is normally offered every fall semester.

  •  

    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. This course is normally offered every summer semester.

  •  

    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. This course is normally offered every summer semester.

  •  

    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. This course is normally offered every winter semester.

  •  

    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. This course is normally offered every fall semester.

  •  

    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. This course is normally offered every fall semester.

  •  

    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. This course is normally offered every winter semester.

  •  

    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. This course is normally offered every fall semester.

  •  

    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. This course is normally offered every other fall semester.

  •  

    CSSE 5545 Advanced Computer Security

    CSSE 5545 Advanced Computer Security

    Credit Hours: 3

    Authentication and Access Control, Hacking Techniques, Malware, Trusted Computing, Intrusion Detecting Systems, Introduction to Cryptography, Programs and Programming Security, Securing the Web – User Side, Operating Systems Security, Database Security, Security Countermeasures, Privacy, Security Auditing, Security Management, Digital Biometrics, Infrastructure Security, Legal and Ethical Aspects of Security, Case Studies, Projects. This course is normally offered every fall semester.

  •  

    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. This course is normally offered every winter semester.

  •  

    CSSE 5560 Advanced Database

    CSSE 5560 Advanced Database

    Credit Hours: 3

    Database management, database system architecture, relational databases, Structured Query Language (SQL), domains, relations, relational algebra, relational calculus, integrity, views, normalization, database security, database connectivity, database programming, 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. This course is normally offered every fall semester.

  •  

    CSSE 5580 Cloud Computing and Big Data

    CSSE 5580 Cloud Computing and Big Data

    Credit Hours: 3

    Streaming data flows, unstructured vs. structure data, cardinality/high dimensionality issues, and data integration from multiple sources and multiple data types such as numerical, text, image, etc.; cloud storage; cloud computing; using BigQuery and Unstructured query tools like HBase.

  •  

    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 5680 Privacy Enhancing Technologies

    CSSE 5680 Privacy Enhancing Technologies

    Credit Hours: 3

    This course teaches frameworks for reasoning about privacy and introduces several techniques for improving privacy in several contexts. It can explore concepts such as private messaging, metadata resistant communications, web deanonymization, censorship circumvention, usability of privacy tools, differential privacy, and deanonymization. The contents of any given semester will vary, following the desires of the students and recent research.

  •  

    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 5760 Network Security

    CSSE 5760 Network Security

    Credit Hours: 3

    Network Concepts, Network Security attacks, Countermeasures, Advanced Encryption Standard, Public-Key Cryptography and RSA, Key Management, Message Authentication, Hash Functions, Message Authentication Code, Digital Signatures and Authentication Protocols, Network Authentication Applications, Cloud Computing Security, Web Security -Network Side, Transport Layer Security, Electronic Mail Security, IP Security, Wireless Security, Projects. This course is normally offered every fall semester.

  •  

    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. This course is normally offered every winter semester.

  •  

    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 5910 Data Science Applications

    CSSE 5910 Data Science Applications

    Credit Hours: 3

    Seminars, projects, and presentations such as social media analytics; anomaly detection; predictive maintenance.

  •  

    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. This course is normally offered every fall, winter, and summer semester.

  •  

    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. This course is normally offered every fall, winter, and summer semester.

  •  

    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.